Электронный компонент:Плата BeagleBone Green Wireless: различия между версиями
Myagkij (обсуждение | вклад) |
Нет описания правки |
||
Строка 177: | Строка 177: | ||
Подключитесь к [[IDE Cloud9]] и запустите новый терминал. Далее начните настройку [[Bluetooth]], введя следующую команду: | Подключитесь к [[IDE Cloud9]] и запустите новый терминал. Далее начните настройку [[Bluetooth]], введя следующую команду: | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
bb-wl18x-bluetooth | bb-wl18x-bluetooth | ||
bluetoothctl | bluetoothctl | ||
Строка 190: | Строка 190: | ||
Скопируйте [[MAC-адрес]] устройства, а затем подключитесь к нему при помощи следующей команды: | Скопируйте [[MAC-адрес]] устройства, а затем подключитесь к нему при помощи следующей команды: | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
pair 0C:xx:xx:xx:xx:0B | pair 0C:xx:xx:xx:xx:0B | ||
trust 0C:xx:xx:xx:xx:0B | trust 0C:xx:xx:xx:xx:0B | ||
Строка 239: | Строка 239: | ||
Итак, если вам нужно записать образ на [[eMMC]], запустите плату и отредактируйте файл '''«/boot/uEnv.txt».''' В нем фрагмент... | Итак, если вам нужно записать образ на [[eMMC]], запустите плату и отредактируйте файл '''«/boot/uEnv.txt».''' В нем фрагмент... | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
##enable Generic eMMC Flasher: | ##enable Generic eMMC Flasher: | ||
##make sure, these tools are installed: dosfstools rsync | ##make sure, these tools are installed: dosfstools rsync | ||
Строка 247: | Строка 247: | ||
...нужно поменять на... | ...нужно поменять на... | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
##enable Generic eMMC Flasher: | ##enable Generic eMMC Flasher: | ||
##make sure, these tools are installed: dosfstools rsync | ##make sure, these tools are installed: dosfstools rsync | ||
Строка 278: | Строка 278: | ||
* Управление [[светодиод]]ом | * Управление [[светодиод]]ом | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
import mraa | import mraa | ||
import time | import time | ||
Строка 294: | Строка 294: | ||
* Управление Grove-модулем с [[PIR-датчик]]ом движения | * Управление Grove-модулем с [[PIR-датчик]]ом движения | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
import mraa | import mraa | ||
import time | import time | ||
Строка 308: | Строка 308: | ||
* Управление Grove-модулем с датчиком угла поворота | * Управление Grove-модулем с датчиком угла поворота | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
import mraa | import mraa | ||
import time | import time |
Текущая версия от 18:18, 14 мая 2023
Черновик |
Плата 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 можно по этой ссылке.
Функционал
- Полная совместимость с BeagleBone Black
- Процессор – AM335x, 1 ГГц, ARM Cortex-A8
- Память RAM – 512 Мб (DDR3)
- Встроенная flash-память – eMMC (4 Гб, 8 бит)
- Ускоритель 3D-графики
- Процессор-ускоритель NEON
- Два 32-битных PRU-микроконтроллера
- Интерфейсы (типы коммуникации)
- USB-клиент – для питания и коммуникации
- USB-хост – BBGW может быть 4-коннекторным USB-хабом
- WiFi
- Bluetooth
- Два 46-контактных гребешка
- Два Grove-порта (I2C и UART)
- Совместимость с ПО
- Debian
- Android
- Ubuntu
- IDE Cloud9 на Node.js (с библиотекой BoneScript)
Характеристики
- Процессор – AM335x, 1 ГГц, ARMR Cortex-A8
- Память RAM – 512 Мб (DDR3)
- Встроенная flash-память – 4 Гб (eMMC)
- Дополнительные процессоры – NEON и ускоритель 3D-графики
- Порт MicroUSB – 1 шт. (питание и передача данных)
- Порты USB – 4 шт. (USB 2.0)
- Grove-порты – 2 шт. (I2C и UART)
- GPIO-контакты – 2 гребешка по 46 контактов
- WiFi – 802.11 b/g/n, 2.4 ГГц
- Bluetooth – версия 4.1 с BLE
- Рабочая температура – от 0 до 75 ˚C
Варианты использования
- Интернет вещей
- Умный дом
- Промышленность
- Автоматизация и управление процессами
- Интерфейс «человек-машина»
- Хаб для датчиков
- Робототехника
Проекты, использующие BBGW
Ниже представлено несколько проектов на базе BBGW. Для их создания использовались Python и библиотека MRAA/UPM.
- «Дышащий» светодиод
- Регулируемый настольный вентилятор
- Голосовое управление
- Маленький будильник
- Обнаружение Bluetooth-устройств
- Система для управления домашней электроникой
- Передача данных о погоде с помощью облачного сервиса SAP HCP
Описание и расположение компонентов
Распиновка
Все 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-порт:
- Здесь драйверы для 64-битной Windows
- Здесь драйверы для 32-битной Windows
- Здесь драйверы для Mac OS X (устанавливаются оба набора драйверов)
- Здесь драйверы для Linux (для этой ОС установка драйверов не требуется, но некоторые правила udev могут оказаться полезными)
Если вы используете 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)
- Управление Grove-модулем с PIR-датчиком движения
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:
- Grove-модуль с 3-осевым цифровым акселерометром (+16g) – шина I2C
- Grove-модуль с 3-осевым цифровым акселерометром (+400g) – шина I2C
- Grove-модуль с 3-осевым цифровым компасом – шина I2C
- Grove-модуль с 3-осевым цифровым гироскопом – аналоговые контакты
- Grove-модуль с 6-осевым акселерометром/компасом v2.0 – шина I2C
- Grove-модуль с датчиком атмосферного давления (BMP180) – шина I2C
- Grove-модуль с синим светодиодом – I/O контакты
- Grove-модуль с кнопкой (Grove-порт расположен вверху) – I/O контакты
- Grove-модуль с кнопкой (Grove-порт расположен внизу) – I/O контакты
- Grove-модуль с зуммером – I/O контакты
- Grove-модуль с RGB-светодиодом (можно соединять с другими аналогичными модулями) – шина I2C
- Grove-модуль с цифровым датчиком света – шина I2C
- Grove-модуль с датчиком сердцебиения (крепится к пальцу) – шина I2C
- Grove-модуль с датчиком сердцебиения (крепится к пальцу, оснащен корпусом и ремешком) – шина I2C
- Grove-модуль с GPS – шина UART
- Grove-модуль с зеленым светодиодом – I/O контакты
- Grove-модуль с АЦП – шина I2C
- Grove-модуль с несколькими Grove-коннекторами – шина I2C
- Grove-модуль с блоком инерциальных датчиков (10 степеней свободы) – шина I2C
- Grove-модуль с блоком инерциальных датчиков (9 степеней свободы) – шина I2C
- Grove-модуль с ИК-датчиком отражения света – I/O контакты
- Grove-модуль с 0.96-дюймовым OLED-дисплеем – шина I2C
- Grove-модуль с 1.12-дюймовым OLED-дисплеем – шина I2C
- Grove-модуль с красным светодиодом – I/O контакты
- Grove-модуль с реле – I/O контакты
- Grove-модуль с сервомотором – I/O контакты
- Grove-модуль с датчиком звука – аналоговые контакты
- Grove-модуль с переключателем (Grove-порт расположен внизу) – I/O контакты
- Grove-модуль с температурным датчиком – аналоговые контакты
- Grove-модуль с датчиком влажности и температурным датчиком – аналоговые контакты
Кейпы (шилды) для BBG
Кейпы (от англ. «cape»; это аналог «шилда» в терминологии BeagleBone) – это подключаемые модули для плат семейства BeagleBone. Для BBG доступно несколько кейпов, включая кейпы с LCD-дисплеем, драйвером моторов, HDMI и т.д. Некоторые из них указаны в списке ниже:
- Кейп с шестью Grove-портами
- Кейп с драйвером моторов
- Кейп с HDMI
- Кейп с двенадцатью Grove-портами
- Кейп с 5-дюймовым LCD-дисплеем
- Кейп с 7-дюймовым LCD-дисплеем
Полезные ссылки
- Главная страница компании BeagleBoard
- Страница BeagleBone Green Wireless на сайте BeagleBoard
- Как начать работать с платой семейства BeagleBone
- Возможные проблемы и их решение
- Документация к платам
- Проекты BeagleBoard