我正在尝试使用Beaglebone Black上的GPIO引脚。在尝试书中的一些代码示例时,我使用了Adafruit_BBIO.GPIO
模块。
从那以后,我在python3中编写了我的整个逻辑,它无法访问模块。
我想问一下是否有人知道如何使用python3访问该模块。
我已经尝试将Adafruit_BBIO目录复制到我的python3文件夹中,但它没有用。
'#!/usr/bin/python3
import Adafruit_BBIO'
当我像
那样打电话时root@arm: python3 main.py
我收到此错误:
_Traceback (most recent call last): File "main.py", line 8, in <module> import lcd_control File "/home/debian/python/lcd_control.py", line 3, in <module> import Adafuit_BBIO.GPIO as GPIO ImportError: No module named 'Adafuit_BBIO'_
答案 0 :(得分:1)
真棒!谢谢Joran,这是一个巨大的帮助。你的代码起初并不适合我,我不得不做一些调整:这就是我现在使用的,并导入到其他简单的程序中使用GPIO:
import os
class SimpleGPIO:
def __init__(self,gpio_pin):
self.gpio_pin = gpio_pin
os.system("echo %d > /sys/class/gpio/export" % self.gpio_pin)
self.gpio_path = "/sys/class/gpio/gpio%d/"%gpio_pin
with open(self.gpio_path+"direction") as f:
self.direction = f.read()
def write(self,value):
if self.direction != "out":
os.system("echo out > %sdirection"%self.gpio_path)
self.direction = "out"
os.system("echo %s > %svalue"%(value,self.gpio_path))
def read(self):
if self.direction != "in":
os.system("echo in > %sdirection"%self.gpio_path)
self.direction = "in"
with open(self.gpio_path+value) as f:
return f.read()
现在,我只是在开头添加from gpio import SimpleGPIO
重用代码。
我发现当我将其粘贴到这篇文章中时,它似乎删除了您遗失的同一行,import os
和os.system("echo %d > /sys/class/gpio/export.....
我猜测它在发布时也是如此这就是为什么它不能直接为我工作。
非常感谢!我真的不想使用Adafruit
模块,因为它没有直接为python3
工作,而且我学到了很多关于如何使用GPIO
的知识。通过这个工作并使代码工作。
答案 1 :(得分:0)
仅是为了更新此问题,现在可以使用以下方法在Debian“ buster”中为python3安装Adafruit_GPIO:
pip3 install Adafruit-GPIO
看着project history,他们进行了更新,以便于2019年4月与Python 3兼容。