如何在python3中使用Adafruit_BBIO模块?

2024-10-01 15:49:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我在试着把GPIO的针用在一个黑色的Beaglebone上。我在尝试一本书中的一些代码示例时使用了Adafruit_BBIO.GPIO模块。 从那以后,我用python3编写了我的整个逻辑,python3不能访问这个模块。 我想问一下是否有人知道如何使用python3访问模块。 我已经尝试过将Adafruit_BBIO目录复制到python3文件夹中,但是没有成功。

'#!/usr/bin/python3
import Adafruit_BBIO'

当我调用主脚本时

^{pr2}$

我得到这个错误:

_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'_ 

Tags: 模块inpyimportadafruitgpiolcdline
2条回答

你应该可以通过

$ ls /sys/class/gpio/gpio100 ;or whatever your gpiopin is

然后在python中

^{pr2}$

太棒了!谢谢乔兰,这帮了大忙。你的代码一开始不适合我,我不得不做一些调整:这是我现在使用的,并导入到其他简单程序中以使用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和{}我猜你发帖子的时候也是这样的,这就是为什么它不能直接对我起作用。在

多谢了!我真的不喜欢不得不使用Adafruit模块,因为它不能直接为python3工作,另外,我还学习了很多关于如何使用GPIO的知识,只不过是通过处理这些并使代码正常工作。在

相关问题 更多 >

    热门问题