2014-06-13 2 views
0

Beaglebone Black에서 GPIO 핀을 사용하려고합니다. 책에서 코드 예제를 시도 할 때 Adafruit_BBIO.GPIO 모듈을 사용했습니다. 그 이후로 나는 모듈에 접근 할 수없는 python3에서 모든 논리를 코딩했습니다. python3을 사용하여 모듈에 액세스하는 방법을 알고 있는지 물어보고 싶습니다. 이미 Python3 폴더에 Adafruit_BBIO 디렉토리를 복사하려고했지만 작동하지 않았습니다.Python3에서 Adafruit_BBIO 모듈을 사용하는 방법은 무엇입니까?

_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

가능하면 코드를 보여주십시오. 그러면 편리 할 것입니다./가정/데비안/파이썬 #의 python3의 main.py 역 추적 (가장 최근 통화 최종) : 파일 "main.py", 8 호선 I 모듈 '수입 Adafruit_BBIO' 루트 @ 암을 가져올 때 –

+0

오류가 바로 온다 , GPIO ImportError를 같은 수입 Adafuit_BBIO.GPIO에서 수입 lcd_control 파일 "/home/debian/python/lcd_control.py", 3 행에 : 이름 없음 모듈 'Adafuit_BBIO' 그리고 이것은 출력 전입니다 – spechter

+0

잘못된 형식으로 죄송합니다. 3 – spechter

답변

2

당신이

$ ls /sys/class/gpio/gpio100 ;or whatever your gpiopin is 
로 이동하여 GPIO를 알아낼 수 있어야한다 :

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

는이 오류를

[email protected]: python3 main.py 

같은 mainscript를 얻을 내가 전화 할 때

다음 파이썬에서

class SimpleGPIO: 
    def __init__(self,gpio_pin): 
     self.gpio_pin = 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() 


gpio_100 = SimpleGPIO(100) #open on 100 
gpio_100.write(1) 
+0

내/usr/class/gpio /에는 4 개의 폴더 gpiochip0, 32, 64 및 gpiochip96이 있습니다. 그들 각각은 '기본 레이블 ngpio 전원 하위 시스템 uevent' – spechter

+0

다른 곳에서있을 수 있습니다 ... 단지 Google 액세스 파일 시스템을 통해 라스베리 피 –

+0

이 튜토리얼은 파일 시스템 부분을 도울 수 ... https://sites.google .com/site/semilleroadt/raspberry-pi-tutorials/gpio –

2

굉장! 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 osos.system("echo %d > /sys/class/gpio/export..... 나는 그것이 똑같이 작동하지 않는 이유가 무엇인지 게시했을 때 같았을 것이라고 생각한다. 나를 위해서.

감사합니다. 나는 python3에 대해 직접적으로 작동하지 않았기 때문에 Adafruit 모듈을 사용하는 것을 좋아하지 않았습니다. GPIO을 사용하는 법을 배우고 작동하도록 코드를 작성했습니다.