我正在尝试使用Python上的RPI上的GPIO,但没有需要使用根本权限的模块之一。我发现通过控制台将1或0"回声" 1或0的"回声" 1或0的微不足道。我还编写了一个自动执行此操作的Python脚本。到目前为止,一切都很好。但这仅在文件(在这种情况下:/sys/class/gpio/gpio17)已经存在时才有效。我可以在启动PI之后,通过这样的控制台轻松地创建此文件夹:
pi@raspberrypi ~ $ cd /sys/class/gpio
pi@raspberrypi /sys/class/gpio $ echo "17" > export
之后,我将拥有文件夹/sys/class/gpio/gpio17,其中我可以找到有关PIN的信息并可以对其进行修改。
基本上我的问题是:我将如何将此步骤纳入我的Python脚本中。有没有办法转到目录并使用Python导出此文件夹?我使用单独的bash脚本弄清楚了,然后在我的python脚本中运行,但是我想避免使用几种语言,并且想知道是否有与python中的" echo" comand相等的。我现在搜索了几天,但什么都找不到。如果有的话,也将高度赞赏链接!
预先感谢您,
新手
从您的描述中,您应该只需要将所需的编号写入名为 /sys/class/gpio/export
的文件。
GPIO_EXPORT = '/sys/class/gpio/export'
PIN = 17
with open(GPIO_EXPORT, 'w') as export:
export.write(str(PIN))
有很多选择。您可以在Python代码中直接使用os
模块(或更灵活的-subprocess
模块)中的Bash语法。
在您的工作目录中启动Python解释器,
>>> import os
>>> os.system("echo 18>import")
0
>>> exit()
$ ls -a
. .. import
$ cat import
18
或写文件。
>>> with open("newport", "w") as newport:
... newport.write("19")
...
>>> exit()
$ ls -a
. .. import newport
$ cat newport
19
等等。查看原始文档