Электронный компонент:Плата BeagleBone Green Wireless

Материал из Онлайн справочника
Версия от 20:32, 25 октября 2017; Myagkij (обсуждение | вклад) (→‎Распиновка Mraa для BBGW)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Черновик


Плата BeagleBone Green Wireless[1]

BeagleBone Green Wireless (BBGW) – это одноплатный компьютер, созданный совместными усилиями BeagleBoarg.org и Seeed Studio. За его основу был взят дизайн оупен-сорсной платы BeagleBone Black. Плата BBGW оснащена интерфейсами для WiFi и Bluetooth, а также двумя Grove-портами, благодаря которым к плате можно подключать различные модули семейства Grove.

Чтобы освободить место для Grove-коннекторов, Wifi и Bluetooth, с BBGW сняли компоненты для Ethernet и HDMI.

Купить плату BeagleBone Green Wireless можно по этой ссылке.

Функционал

Характеристики

Варианты использования

  • Интернет вещей
  • Умный дом
  • Промышленность
  • Автоматизация и управление процессами
  • Интерфейс «человек-машина»
  • Хаб для датчиков
  • Робототехника

Проекты, использующие BBGW

Ниже представлено несколько проектов на базе BBGW. Для их создания использовались Python и библиотека MRAA/UPM.

Описание и расположение компонентов

Распиновка

Все I/O контакты BBGW способны работать в 8 разных режимах, включая GPIO.

65 цифровых I/O контактов

В режиме GPIO все цифровые I/O контакты могут генерировать прерывания.

ШИМ и таймеры

Восемь цифровых I/O контактов BBGW способны генерировать широтно-импульсную модуляцию (ШИМ), что дает возможность управлять моторами и создавать псевдоаналоговое напряжение. Это не требует дополнительных циклов процессора (т.е. не взваливает на процессор дополнительную нагрузку).

Входные аналоговые контакты

На входные аналоговые контакты не следует подавать больше 1.8 вольт. Это один 12-битный АЦП с 8 каналами, 7 из которых выведены на гребешки.

Интерфейсы UART

На BBGW есть отдельный гребешок для контактов UART0, который предназначен для передачи отладочной информации. Кроме того, на основных гребешках есть контакты еще для пяти UART, но один из них может лишь передавать данные.

Интерфейсы I2C

Первую шину I2C нельзя использовать для сторонних цифровых I/O операций, т.к. это может помешать его основной задаче – чтению EEPROM-памяти кейпа. Впрочем, ее по-прежнему можно использовать для подключения других I2C-устройств с известными адресами. Второй шиной I2C можно пользоваться свободно.

Интерфейсы SPI

Шины SPI позволяют передавать данные более быстро. Плата BBGW оснащена двумя шинами SPI.

С чего начать

Эта глава написана на примере Windows 10, но для других ОС инструкции будут похожими.

Шаг 1: Подключите BBGW к ПК при помощи USB

В комплекте с BBGW идет USB-кабель – подключите с его помощью BBGW к ПК. Это подключение одновременно будет и питать плату, и позволит загружать на нее новую прошивку. Операционной системой BBGW является Linux, хранящаяся на eMMC (2 или 4 Гб).

BBGW может служить flash-накопителем, хранящим локальные копии документации и драйверов. Обратите внимание, что USB-подключение нельзя использовать для записи на SD-карту нового образа, но можно – для обновления параметров загрузки в файле «uEnv.txt».

После подключения должен загореться светодиод PWR. Кроме того, в течение следующих 10 секунд должны замигать и другие светодиоды платы (согласно настройкам по умолчанию):

  • D2 мигает в такт сердцебиению
  • D3 загорается во время доступа к карте MicroSD
  • D4 загорается во время активности процессора
  • D5 загорается во время доступа к eMMC

Шаг 2: Установите драйвер

Установка драйвера необходима для того, чтобы ваша ОС получила доступ к BBGW через USB-порт:

Если вы используете Windows, то имейте в виду следующее:

  • Во время установки драйвера может выскочить предупреждение о сертификации драйвера. В этом случае просто кликайте на «Ignore», «Install» или «Run»
  • О том, как узнать, какая версия у вашей ОС (32-битная или 64-битная), читайте тут
  • При использовании ОС без последнего пакета обновлений может выскочить ошибка «0xc000007b». В этом случае установите пакет и перезапустите Windows
  • Возможно, понадобится перезапустить Windows
  • Драйверы совместимы с Windows вплоть до версии 10

Шаг 3: Откройте веб-сервер, хранящийся на BeagleBone

Запустите Chrome или Firefox (Internet Explorer работать не будет), а затем откройте веб-сервер, запущенный на BBGW. В результате загрузится страница, демонстрирующая возможности платы. Для навигации по этой странице используйте клавиши со стрелками.

Чтобы открыть веб-сервер, впишите в адресной строке браузера «http://192.168.7.2». Если у вас установлен старый образ, для запуска сети понадобится извлечь диск «BEAGLE_BONE». При использовании нового образа это делать не нужно.

Шаг 4: IDE Cloud9

Для редактирования программ, хранящихся на BBGW, можно воспользоваться IDE Cloud9. Чтобы открыть ее, кликните по этой ссылке.

Шаг 5: Подключите BBGW к WiFi

При помощи смартфона или ПК просканируйте локальные WiFi-сети и подключитесь к точке доступа под названием «BeagleBone XXX»:

Если подключение будет успешным, ОС автоматически откроет страницу для залогинивания. Выберите SSID своей WiFi-сети, введите пароль и нажмите «OK».

Готово! Ваша BBGW подключена к WiFi.

Шаг 6: Подключите BBGW к Bluetooth-устройству

Подключитесь к IDE Cloud9 и запустите новый терминал. Далее начните настройку Bluetooth, введя следующую команду:

bb-wl18x-bluetooth
bluetoothctl

Впишите scan on, чтобы просканировать окружающие Bluetooth-устройства. В данном случае было найдено устройство «jy»:

Скопируйте MAC-адрес устройства, а затем подключитесь к нему при помощи следующей команды:

pair 0C:xx:xx:xx:xx:0B
trust 0C:xx:xx:xx:xx:0B
connect 0C:xx:xx:xx:xx:0B

Теперь ваша BBGW подключена к Bluetooth-устройству. Впишите type, чтобы вернуться к терминалу. Если Bluetooth-устройством является, к примеру, динамик, вы можете запустить музыку на BBGW, и этот динамик начнет ее проигрывать.

Обновление прошивки до последней версии

Чтобы BBGW работала максимально продуктивно, ее прошивку следует обновить до последней версии. О том, как это сделать, читайте в пошаговой инструкции, описанной ниже:

Шаг 1: Загрузите образ последней версии

Сделать это можно по этой ссылке. Образ весит немало, поэтому его загрузка может занять около 30 минут или больше. Загруженный файл будет иметь расширение «*.img.xz». Это посекторно сжатый образ SD-карты.

Шаг 2: Установите утилиту-архиватор и разверните образ

Загрузите (выберите версию, соответствующую вашей ОС) и установите 7-zip. Затем воспользуйтесь им, чтобы развернуть файл «*.img».

Шаг 3: Установите утилиту для записи образа на SD-карту

Загрузите (выберите бинарную версию) и установите Win32 Disk Imager (Windows).

Шаг 4: Запишите образ на SD-карту

Сначала подключите SD-карту к компьютеру (для этого понадобится SD-адаптер). Затем воспользуйтесь Win32 Disk Imager, чтобы записать развернутый образ на SD-карту.

Чтобы начать процесс, нажмите на кнопку Write.

Примечания:

  • Может выскочить предупреждение о возможном повреждении устройства. Если вы выполняете запись на SD-карту, это предупреждение можно проигнорировать
  • BBGW к компьютеру подключать не нужно
  • Процесс может занять до 10 минут

Шаг 5: Запишите на BBGW прошивку с SD-карты

Вставьте SD-карту в BBGW (плата должна быть выключена). После этого плата начнет загрузку с SD-карты.

Примечание: Если вам не нужно записывать образ на eMMC платы, оставшуюся часть главы можно не читать. Если нужно, вперед!

Итак, если вам нужно записать образ на eMMC, запустите плату и отредактируйте файл «/boot/uEnv.txt». В нем фрагмент...

##enable Generic eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

...нужно поменять на...

##enable Generic eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

В результате светодиоды платы начнут мигать следующим образом:

Примечание: Если светодиоды не начали мигать подобным образом, выключите BBGW и снова включите ее. Когда загрузка прошивки будет завершена, все четыре светодиода (USRx) должны потухнуть. Последние версии образов Debian автоматически выключают плату после завершения загрузки. Это может занять до 10 минут. Выключите плату, выньте SD-карту и снова включите плату.

Управление Grove-модулями с помощью Mraa и UPM

Компания Seeed Studio разработала библиотеки Mraa и UPM, чтобы упростить создание совместимости между устройствами собственного производства и устройствами от сторонних разработчиков. Кроме того, эти библиотеки позволяют управлять низкоуровневыми протоколами при помощи высокоуровневых языков и конструктов.

Что такое Mraa и UPM?

Mraa – это библиотека, позволяющая программировать на C, C++, JavaScript, Java и Python. Библиотека дает доступ к I/O контактам BBG, BBGW и других платформ, а ее API структурированы таким образом, что номера/названия портов соответствуют плате, с которой работает пользователь. Кроме того, использование Mraa не привязывает пользователя к определенной платформе – определение используемой платы выполняется в процессе работы, а написанный вами код будет работать со всеми поддерживаемыми платформами.

UPM – это высокоуровневая библиотека, которая обеспечивает удобный интерфейс для работы с датчиками. Все датчики UPM привязаны к Mraa (датчики в рамках определенной группы могут пересекаться друг с другом). У каждого датчика есть заголовочный файл, через который и осуществляется взаимодействие с этим датчиком. Как правило, датчик представляется в виде класса, и при написании программы пользователь должен создать экземпляр этого класса. Инициализация датчика выполняется при помощи конструктора, используя параметры вроде идентификатора, I/O протокола и контактов, к которым подключен датчик.

Установка и обновление

Mraa и UPM уже есть в системном образе BBGW, поэтому устанавливать их не нужно. Но если вы хотите обновить образ до последней версии, воспользуйтесь командами apt-get update и apt-get upgrade. Первая команда обновляет базу данных доступных пакетов, а вторая – обновляет пакеты до последней версии. Более подробно о библиотеках Mraa и UPM читайте тут и тут.

Примеры использования

import mraa
import time
#mraa.gpio60 = P9_14 = GPIO_50
led = mraa.Gpio(60)
led.dir(mraa.DIR_OUT)

while True:
    led.write(1)
    time.sleep(1)
    led.write(0)
    time.sleep(1)
import mraa
import time
#mraa.gpio73 = P9_27 = GPIO_115
pir = mraa.Gpio(73)
pir.dir(mraa.DIR_IN)

while True:
    print (pir.read())
    time.sleep(1)
  • Управление Grove-модулем с датчиком угла поворота
import mraa
import time
#mraa.aio1 = AIN0
rotary = mraa.Aio(1)

while True:
    print(rotary.read())
    time.sleep(1)

Другие примеры использования Mraa и UPM:

  • «Дышащий» светодиод – используются Grove-модуль с 3-осевым цифровым акселерометром (+/- 16g) и Grove-модуль с RGB-светодиодом
  • Настольный вентилятор – используются Grove-модуль с мини-вентилятором, Grove-модуль с PIR-датчиком движения и Grove-модуль с датчиком угла поворота
  • Голосовое управление – используются Grove-модуль с реле и Grove-модуль со звуковым датчиком

Распиновка Mraa для BBGW






Система Grove

Grove – это система для сборки электротехнических проектов, использующая модульные блоки со стандартизированными коннекторами. Эта модульность упрощает подключение компонентов и, в конечном итоге, экспериментирование, поскольку создателю проекта уже не нужно возиться с пайкой и проводами-перемычками. Впрочем, как заявляют разработчики, Grove не низводит сборку проектов до простого подключения друг к другу модульных блоков. По их словам, для работы с Grove-модулями требуются определенные знания и экспертиза.

Ниже перечислены Grove-модули, хорошо работающие с BBG:

Кейпы (шилды) для BBG

Кейпы (от англ. «cape»; это аналог «шилда» в терминологии BeagleBone) – это подключаемые модули для плат семейства BeagleBone. Для BBG доступно несколько кейпов, включая кейпы с LCD-дисплеем, драйвером моторов, HDMI и т.д. Некоторые из них указаны в списке ниже:

Полезные ссылки

См.также

Внешние ссылки