Подключение светодиода к BeagleBone Black

В статье Что такое BeagleBone Black мы подробно рассмотрели ключевые особенности платформы BeagleBone, а также выяснили все плюсы и минусы по сравнению с аналогичным микрокомпьютером — Raspberry Pi. Попробуем теперь написать и выполнить на BeagleBone простейшую программу, которая покажет как работать с GPIO. Так как BeagleBone Black работает под управлением Linux, существует множество способов его программирования. В данном примере мы будем управлять светодиодом с помощью языка Python. Для урока нам понадобится:
  1. Светодиод
  2. Макетная плата
  3. Резистор
  4. Провода-перемычки

Установка необходимых библиотек

В нашей плате установлена операционная система Ångström Linux. Чтобы загрузить все необходимые библиотеки, потребуется соединение с интернетом. Для начала подключаемся к плате по SSH: Затем, стандартно обновляем пакеты Linux, командами:
sudo apt-get update && upgrade
После обновления, приступаем к установке необходимых пакетов для работы с портами GPIO BeagleBone.
sudo apt-get install python-pip python-setuptools python-smbus
Устанавливаем библиотеку Adafruit_BBIO:
sudo apt-get install Adafruit_BBIO
Теперь проверяем, то что установили, загрузив предворительно один из модулей. Выполняем команду с консоли, при выполнении не должно быть ошибок, а возврат в одну строку:
python -c "import Adafruit_BBIO.GPIO as GPIO; print GPIO"
В ответ получаем
<module 'Adafruit_BBIO.GPIO' from '/root/.python-eggs/Adafruit_BBIO-1.0.10-py2.7 -linux-armv7l.egg-tmp/Adafruit_BBIO/GPIO.so'>
Альтернативный вариант. Можно установить библиотеку Adafruit_BBIO, просто клонировав репозиторий git, выполнив :

git clone git://github.com/adafruit/adafruit-beaglebone-io-python.git
#set the date and time
/usr/bin/ntpdate -b -s -u pool.ntp.org
#install dependency
opkg update && opkg install python-distutils python-smbus
cd adafruit-beaglebone-io-python
python setup.py install

Сборка схемы и запуск программы

Собираем небольшую схему Теперь попробуем для начала включить светодиод из консоли  Python. Для запуска интерпретатора Python вводим команду:
# python
Теперь нам нужно импортировать ранее установленную библиотеку,  вводим команду:
import Adafruit_BBIO.GPIO as GPIO
По умолчанию все порты GPIO сконфигурированы в режиме ввода данных. В таком режиме светодиод не будет включатся. Для перевода порта, к которому подключен светодиод в режим вывода данных, вводим команду:
GPIO.setup("P8_10", GPIO.OUT)
Теперь, чтобы включить светодиод, вводим команду:
GPIO.output("P8_10", GPIO.HIGH)
Чтобы выключить светодиод, водим команду:
GPIO.output("P8_10", GPIO.LOW)
Программа blink Чтобы мигать светодиодом, нужно написать небольшую программу Python. Для начала выйдем из Python, введя команду:
exit()
Теперь создадим новый файл с именем blink.py, введя команду:
nano blink.py
При создании файла, в окне редактора водим:
import Adafruit_BBIO.GPIO as GPIO 
outPin="P8_10" 
GPIO.setup(outPin,GPIO.OUT) 
from time import sleep 
for i in range(0,5): 
    GPIO.output(outPin, GPIO.HIGH)
    sleep(3) 
    GPIO.output(outPin, GPIO.LOW) 
    sleep(3) 
GPIO.cleanup()
Далее выходим из редактора, сохраняем изменения. Для этого жмём клавиши CTRL+X и затем Y для подтверждения. Наконец, запускаем нашу программу, вводом команды в консоль:
python blink.py
Светодиод мигает! Чтобы прервать программу используем сочетание клавиш CTRL+С.
0

Изменено: