【问题标题】:port driveboard app to beagle bone black debian 9.5将驱动板应用程序移植到 beagle bone black debian 9.5
【发布时间】: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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-09-01
      • 2019-01-05
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      • 1970-01-01
      • 2014-02-03
      • 2023-04-09
      相关资源
      最近更新 更多