Почему я не могу включить светодиод через Python?

У меня есть светодиод, подключенный к контакту 11 на заголовке Raspberry Pi (также известный как вывод 17 BCM /GPIO и GPIO0). Я установил библиотеку Raspberry Pi Python в соответствии с этими инструкциями.

Попытка 1

Я установил RPi.GPIO и использовал следующий код из eLinux . Я вижу ошибку, которая «setmode» не является атрибутом библиотеки GPIO.

sudo python
Python 2.7.3 (default, Jan 13 2013, 11:20:46)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import RPi.GPIO as GPIO
>>> GPIO.setmode(GPIO.BOARD)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'setmode'

Попытка 2

Я использовал другой учебник, но я получаю следующую ошибку:

    sudo python
Python 2.7.3 (default, Jan 13 2013, 11:20:46)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import RPi.GPIO as GPIO
>>> GPIO.setup(17, GPIO.OUT)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/RPi.GPIO-0.1.0-py2.7.egg/RPi/GPIO/__init__.py", line 61, in setup
    id = _GetValidId(pin)
  File "/usr/local/lib/python2.7/dist-packages/RPi.GPIO-0.1.0-py2.7.egg/RPi/GPIO/__init__.py", line 52, in _GetValidId
    raise InvalidPinException
RPi.GPIO.InvalidPinException

I am можно включить светодиод, используя утилита GPIO :

gpio write 0 0

У меня есть более ранняя версия малины Pi.

cat /proc/cpuinfo
Processor       : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS        : 697.95
Features        : swp half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xb76
CPU revision    : 7

Hardware    : BCM2708
Revision    : 0003
Serial      : 00000000396bd5ea

Почему мне не удалось включить светодиод от Python?


Дополнительные ресурсы

4 голоса | спросил spuder 14 PM000000110000003331 2013, 23:49:33

1 ответ


9

Обнаружена проблема:

В некоторых руководствах онлайн вы загружаете версию 0.1.0 библиотеки GPIO, которая не имеет функции настройки. Вы должны использовать более новую версию библиотеки.

RPi.GPIO-0.1.0.tar.gz

Я загрузил версию 0.5.x и работает правильно.

RPi.GPIO-0.5.3a.tar.gz

Загрузить отсюда https://pypi.python.org/pypi/RPi.GPIO

или Загрузить здесь http://code.google.com/p/raspberry-gpio-python/downloads /список


Инструкции по установке

Извлеките скрипт

tar -zxvf RPi.GPIO-0.5.3a.tar.gz
cd RPi.GPIO-0.5.3a
sudo python setup.py install

Вот пример программы на питоне, которая отключает и выключает два светодиода. Он использует фактические имена контактов, а не имена контактов GPIO

from RPi import GPIO
from time import sleep

#Use the physical pin numbers, not the logical names
GPIO.setmode(GPIO.BOARD)

#Set pin 11 and 12 as outputs
GPIO.setup(11, GPIO.OUT)
GPIO.setup(12, GPIO.OUT)

#Keep looping over and over
while True:

        #Turn pin 11 off and 12 on
        GPIO.output(11, False)
        GPIO.output(12, True)

        #Wait for 1 second
        sleep(1)

        #Turn pin 12 off and 11 on
        GPIO.output(11, True)
        GPIO.output(12, False)

        #Wait for 1 second
        sleep(1)
ответил spuder 15 AM00000020000004331 2013, 02:37:43

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132