Raspberry Pi: установка библиотеки RPi.GPIO для python

Одно из главных преимуществ Raspberry Pi  — это наличие выводов общего назначения (General Purpose Iinput/Outputs). GPIO — это группа контактов, которыми можно управлять с помощью программы. Причем управление это может быть совсем простым, например, включение/выключение светодиода. Либо весьма сложным — обмен данными с периферийными устройствами по специализированным протоколам.

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

В этой статье я расскажу как установить на Raspberry Pi библиотеку управления GPIO для python — RPi.GPIO, и приведу несколько простых примеров работы с ней.

1. Загрузка и подготовка библиотеки RPi.GPIO

Первое что мы сделаем — скачаем архив с библиотекой с официального сайта:

ссылка для скачивания RPi.GPIO

Ссылка ведет на страницу с разными версиями библиотеки. Выбираем самый свежий архив. На момент написания статьи это был — RPi.GPIO-0.6.3.tar.gz

RPi.GPIO скачать

По-умолчанию, штатный браузер Chromium скачает библиотеку в папку /home/pi/Downloads. Зайдем в эту папку с помощью проводника:

RPi.GPIO установка

Теперь жмем правую кнопку мыши на архиве и выбираем пункт Extract Here.

RPi.GPIO установка

Этим самым мы просим разархивировать библиотеку в ту же папку, в которой находится сам архив. В результате рядом с архивом появится папка RPi.GPIO-0.6.3.

2. Установка дополнительного пакета для python

Перед тем, как установить библиотеку RPi.GPIO, нам потребуется дополнительный пакет python-dev. Для этого запустим терминал (черная иконка на верхней панели рабочего стола) и запустим в нем следующую команду:

sudo apt-get install python-dev

На вопрос «Do you want to continue? [Y/n]» пишем символ «Y» и жмем Enter.

Установка python-dev

В результате появится отчет об успешной установке. Выглядит он так:

Установка python-dev

3. Установка библиотеки RPi.GPIO

Теперь приступим к установке самой библиотеки для работы с GPIO. Не выходя из терминала, переходим в разархивированную ранее папку:

cd /home/pi/Downloads/RPi.GPIO-0.6.3

И запускаем команду для сборки библиотеки из исходных кодов:

python setup.py build

В результате получим примерно такой отчет:

Установка RPi.GPIO

Далее запускаем команду установки библиотеки. Нужно выполнить её с правами администратора, поэтому вначале добавляем директиву sudo:

sudo python setup.py install

Результат выполнения:

Установка RPi.GPIO

Ну вот и готово! Приступим к сборке стенда и составлению первой программы, которая будет управлять состоянием светодиода.

4. Подключение светодиода к Raspberry Pi

Разъем GPIO у Raspberry Pi имеет два типа нумерации. Первый тип — это последовательный номер контакта. Второй тип — BCM, соответствует выводам микропроцессора. Оба эти нумерации представлены на картинке.

Raspberry Pi распиновка

В большинстве примеров используется тип нумерации BCM, последуем традиции. Подключаем светодиод к выводу GPIO23 по следующей схеме.

Анод светодиода (длинная ножка) соединим с выводом GPIO23 через резистор 200 Ом, а катод с землей (GND). Хорошо бы сначала вспомнить урок про макетные платы.

Raspberry Pi светодиод GPIO

Теперь перейдем к написанию программы.

5. Программа для управления с помощью RPi.GPIO

В Raspbian установлены две версии python: 2 и 3. Поскольку мы установили библиотеку только для python 2, будет пользоваться именно это версией.

Открываем среду разработки Python 2 (IDLE). В меню появившегося окна выбираем New File.

Работа с RPi.GPIO в python IDLE

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

from RPi import GPIO
from time import sleep

GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.OUT)

GPIO.output(23, True)
sleep(5)
GPIO.output(23, False)

GPIO.cleanup()

Программу желательно сохранить, например, в домашнюю папку. Делается это с помощью пункта меню File/Save As…

Наконец, запускаем программу через меню Run/Run Module или с помощью клавиши F5.

Заключение

Этот пример показывает, как легко управлять простыми исполнительными устройствами с помощью библиотеки RPi.GPIO. Вместо светодиода можно поставить, например, мощное реле и управлять включением уличного освещения, или, скажем, чайником. Однако, следует помнить, что функционал этой библиотеки весьма ограничен и для управления устройствами через интерфейсы I2C и SPI потребуются дополнительные специализированные библиотеки.

 


Изменено: