2014-12-19 2 views
2

В настоящее время я пытаюсь создать небольшой веб-интерфейс для контактов GPIO от малины Pi. Я использую встроенную библиотеку Python RPi.GPIO.Получить функцию вывода GPIO?

Идея состоит в том, чтобы увидеть функцию и текущее состояние всех выводов GPIO. Если контакт равен GPIO.OUT, он должен показывать вкл./Выкл., А если контакт равен GPIO.IN, он должен измерять вход и показывать это.

У меня есть почти все на месте, кроме того, чтобы узнать, настроен ли контакт на GPIO.IN или GPIO.OUT. Я искал все это место, Google и все, что мог, но не повезло (в основном, поиск учебников, объясняющих, как читать с GPIO.IN и состояние GPIO.OUT).

Возможно ли (с использованием библиотеки RPi.GPIO) узнать, есть ли контактный номер GPIO.IN или GPIO.OUT? А если так - как?

ответ

1

это просто файл в файловой системе

что-то вроде

print open("/sys/class/gpio/gpio1/direction").read() 

вы можете просто SSH в и ls директории для просмотра файлов

вы могли бы я полагаю, что-то вроде это

class GPIOData: 
    directions={} 
    def __call__(self,pin,direction=None): 
     GPIOData.directions[pin]=direction 
     GPIO.setup(pin,direction) 
    def getPinDirection(self,pin): 
     return GPIOData.directions[pin] 
    def __init__(self,*args): 
     pass 

class GPIOSetup(object): 
    __metaclass__ = GPIOData 



GPIOSetup(6,7) 
print "GOT:",GPIOSetup.getPinDirection(6) 
+0

Я искал это решение, но у меня нет '/ sys/cl папка ass/gpio/gpioX' в '/ sys/class/gpio' ... Все, что у меня есть, это' export', 'unexport' и' gpiochip0' - вот почему я надеялся на функцию, Библиотека 'RPi.GPIO'. –

+0

попробуйте 'echo 123>/sys/class/gpio/export' .... вам может потребоваться суперпользователь (где 123 - желаемый gpio123) –

+0

или действительно ... почему вы проверяете направление? что может быть более актуальным вопросом –

Смежные вопросы