WiringPI для Raspberry PI, +Python

Что такое 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.

Залишити відповідь