Подключение светодиода к 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

Изменено: