【发布时间】:2019-06-12 17:19:38
【问题描述】:
我正在尝试将 Driveboardapp 从内核 3.8 移植到内核 4.14。 Driveboardapp 是一个用 python 编写的应用程序,旨在运行lasersaur 激光切割机。它使用 UART1、WiFi 和 GPIO。 开发人员建议使用基于 Ubuntu 14.04 LTS 和内核 3.8 的映像将应用程序运行到 beaglebone 黑板上 使用此映像时,我遇到了网络稳定性问题,并且我发现基于 debian 9.5 和内核 4.14 的最新官方 beaglebone 映像更加可靠。 不幸的是,我无法让 gpio 功能在这个新操作系统上按预期工作。
这是设置gpio引脚的python代码:
try:
fw = file("/sys/class/gpio/export", "w")
fw.write("%d" % (71))
fw.close()
except IOError:
# probably already exported
pass
# set the gpio pin to output
# echo out > /sys/class/gpio/gpio71/direction
fw = file("/sys/class/gpio/gpio71/direction", "w")
fw.write("out")
fw.close()
# set the gpio pin high
# echo 1 > /sys/class/gpio/gpio71/value
fw = file("/sys/class/gpio/gpio71/value", "w")
fw.write("1")
fw.flush()
fw.close()
当我在 debian9.5 中运行应用程序时有时会中断并显示以下消息:
root@beaglebone:~/driveboardapp# python backend/app.py
Traceback (most recent call last):
File "backend/app.py", line 7, in <module>
import config
File "/root/driveboardapp/backend/config.py", line 194, in <module>
fw = file("/sys/class/gpio/gpio71/direction", "w")
IOError: [Errno 2] No such file or directory: '/sys/class/gpio/gpio71/direction'
如果我重新运行该应用程序,它可能会在同一点中断,或者它可能会成功并最终在使用 gpio 的代码中的下一个点中断。
到目前为止,我尝试在文件写入尝试之前添加一个小睡眠,但它仍然失败。
Driveboard 应用程序仓库https://github.com/nortd/driveboardapp
到目前为止我对代码的编辑https://github.com/luky83/driveboardapp/blob/debian9.5/backend/config.py
感谢您的建议。
【问题讨论】:
标签: python-2.7 arm gpio beagleboneblack debian-stretch