Что такое WiringPI
WiringPI - это библиотека для работы с портами GPIO на миникомпьютерах Raspberry PI. Её можно подключать и использовать в языках С, С++, Python и прочих. Библиотека позволяет управлять портами GPIO плат Raspberry PI в режимах ввода, вывода, аналоговый ввод и вывод, ШИМ; работать с интерфейсами I2C, SPI и UART.
Сайт WiringPI: http://wiringpi.com
WiringPI включает в себя также запускаемую из командной строки утилиту gpio, которая позволяет управлять портами напрямую или из своих скриптов.
Дополнительные модули библиотеки позволяют работать с:
- MCP23x17/MCP23x08 - расширители портов ввода/вывода
- 74×595 - сдвиговые регистры
- Arduino - в качестве платы ввода/вывода через UART
wiringPI devLib - набор функций библиотеки, которые поддерживают ещё больше популярных устройств:
- жидкокристаллические символьные дисплеи, с HT44780-совместимыми контроллерами (например, http://hobbytech.com.ua/shop/arduino/shields/modul-displeya-1602-i2c-adapter/)
- графические дисплеи, например, популярные 128х64 с контроллером 12864H
- часами реального времени DS1302
- датчиками компании Maxdetect
и другими.
Установка WiringPI
Существует два способа установки WiringPI - через GIT и самостоятельно.
Способ 1 (GIT)
Установить GIT можно при помощи команды
sudo apt-get install git-core
Если при этом возникают какие-либо ошибки, обновим программные пакеты
sudo apt-get update sudo apt-get upgrade
Теперь скачаем WiringPI
git clone git://git.drogon.net/wiringPi
Если вы уже ранее выполняли эту команду, просто обновим наш пакет:
cd wiringPi git pull origin
Последний шаг
cd wiringPi ./build
Скрипт скомпилирует и установит наш пакет.
Способ 2 (скачать самостоятельно)
Перейдите по ссылке https://git.drogon.net/?p=wiringPi;a=summary, выберите последнюю версию пакета и нажмите на ссылку "shapshot". Вы скачаете архив вида wiringPi-78b5c32.tar.gz
Остаётся распаковать архив, перейти в полученную папку и запустить скрипт:
tar xfz wiringPi-78b5c32.tar.gz cd wiringPi-78b5c32 ./build
Проверим нашу установку
Запустите консольную утилиту gpio
gpio -v gpio readall
Установим библиотеку WiringPI для Python
Сначала устанавливаем пакет python-dev
sudo apt-get install python-dev
Устанавливаем пакет RPi.GPIO
wget http://raspberry-gpio-python.googlecode.com/files/RPi.GPIO-0.5.3a.tar.gz tar xvzf RPi.GPIO-0.5.3a.tar.gz cd RPi.GPIO-0.5.3a sudo python setup.py install
Попробуем поработать с портами
Создайте файл led.py со следующим кодом:
# -*- coding: utf-8 -*- import RPi.GPIO as GPIO import time # Board numbering method, in physical sequence GPIO.setmode(GPIO.BOARD) # output mode GPIO.setup(11, GPIO.OUT) while True: GPIO.output(11, GPIO.HIGH) time.sleep(1) GPIO.output(11, GPIO.LOW) time.sleep(1)
и запустите его
sudo python led.py
На плате должен замигать светодиод. Остановить скрипт можно комбинацией клавиш Ctrl+C.