将驱动板应用程序移植到 beagle bone black debian 9.5

port driveboard app to beagle bone black debian 9.5

我正在尝试将 Driveboardapp 从内核 3.8 移植到内核 4.14。 Driveboardapp 是一款用 python 编写的应用程序,旨在 运行 lasersaur 激光切割 machine.It 使用 UART1、WiFi 和 GPIO。 开发人员建议 运行 使用基于 Ubuntu 14.04 LTS 和内核 3.8 的映像将应用程序整合到 beaglebone 黑板中 使用此图像时,我遇到了网络稳定性问题,并且我发现基于 debian 9.5 和内核 4.14 的最新官方 beaglebone 图像更加可靠。 不幸的是,我无法让 gpio 功能按预期使用这个新的 OS.

这是设置 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

感谢任何建议。

切换到 Adafruit's BeagleBone IO Python Library 似乎是这样做的方法:

import Adafruit_BBIO.GPIO as GPIO
GPIO.setup("P8_46", GPIO.OUT)
GPIO.output("P8_46", GPIO.HIGH)