BeagleBone Черный

Посмотреть исходный код на GitHub

OpenThread пограничный маршрутизатор (OTBR) обеспечивает поддержку BeagleBone Black платформы (В).

Требования к оборудованию:

  • Внешний адаптер переменного тока 5 В для питания
  • Карта microSD объемом 8 ГБ или больше (в данном руководстве «карта USB»).
  • Поддерживаемая платформа OpenThread (например, TI CC2652 ) для подключения к сети Thread в конструкции RCP

Шаги для включения:

  1. Скачайте и установите ОС.
  2. Подготовьте среду Debian для OTBR
  3. Сборка и установка OTBR

Скачайте и установите ОС

  1. Загрузите последнюю версию Debian IoT изображение для BeagleBone .
    • Версия , используемая для этого руководства была bone-debian-10.3-iot-armhf-2020-04-06-4gb.img.xz
  2. Установите образ ОС на Usd карты, следуя BeagleBone руководства по началу работы .
  3. Загрузите BeagleBone и SSH в устройство.
    • Рекомендуется подключение через локальную сеть на базе Ethernet.
    • IDE cloud9 будет отключена позже в этом руководстве.
    • Это руководство изменит состояние сетевых интерфейсов BeagleBone, имейте в виду, что сеанс защищенной оболочки может отключиться.
    • Современные загрузчики BeagleBone по умолчанию запускаются с карты USB, но некоторые устройства BeagleBone Black могут попытаться загрузиться с внутренней eMMC. В этом случае обязательно нажмите кнопку BOOT.

Для получения более подробной информации о BeagleBone см страница поддержки Beagleboard .

Подготовьте среду Debian для OTBR

Некоторые части образа BeagleBone Debian по умолчанию запускаются по умолчанию. Они могут конфликтовать с некоторыми частями программного обеспечения OpenThread Border Router.

Некоторые пакеты по умолчанию работают на BeagleBone, чтобы обеспечить быструю разработку. Их можно найти в Systemd с командой sudo systemctl list-units --all и sudo systemctl list-sockets --all .

Остановите и отключите модули:

sudo systemctl stop bonescript-autorun.service
sudo systemctl stop bonescript.socket
sudo systemctl stop bonescript.service
sudo systemctl stop cloud9.socket
sudo systemctl stop cloud9.service
sudo systemctl stop nodered.service
sudo systemctl disable bonescript-autorun.service
sudo systemctl disable bonescript.socket
sudo systemctl disable bonescript.service
sudo systemctl disable cloud9.socket
sudo systemctl disable cloud9.service
sudo systemctl disable nodered.service
sudo systemctl daemon-reload

Отключите рекламу служб Cloud9 IDE и NodeRED с помощью Avahi, удалив служебные файлы:

sudo rm /etc/avahi/services/*

Файловая система для образа uSD BeagleBone ограничена 4 ГБ, чтобы поместиться на большинстве карт uSD. Разверните раздел, чтобы использовать всю емкость хранилища.

sudo /opt/scripts/tools/grow_partition.sh

Вам предлагается прочитать этот вспомогательный сценарий, чтобы узнать, как расширяется файловая система. Вам придется перезагрузить BeagleBone и повторно войти в систему, чтобы использовать это новое определение файловой системы.

sudo shutdown -r now

Это закроет ваш сеанс SSH.

После повторного входа в BeagleBone установите Network Manager:

sudo apt-get update
sudo apt-get install network-manager

Затем отключить connman и включить network-manager :

sudo systemctl disable connman
sudo systemctl enable network-manager

Если бы мы должны были stop Connman прямо здесь разорвет SSH сессии , поскольку сетевой интерфейс управляется Connman. Вместо этого мы настраиваем систему так, чтобы она вступила в силу при следующей загрузке. Теперь перезагрузите Beaglebone и повторно войдите в систему.

sudo shutdown -r now

Сетевой менеджер может не настроить серверы имен DNS. Редактирование resolv.conf с помощью команды sudo vim /etc/resolv.conf и убедитесь , что содержимое содержат Google DNS и Cloudflare DNS:

nameserver 8.8.8.8
nameserver 1.1.1.1

Перезапустите, чтобы убедиться, что Network Manager настроен правильно.

sudo shutdown -r now

Модуль WiLink 8 не любит, когда его MAC-адрес изменяется во время выполнения. Сетевой менеджер попытается сделать это при сканировании. Редактирование NetworkManager.conf с помощью команды sudo vim /etc/NetworkManager/NetworkManager.conf и добавьте строки ниже:

[device]
wifi.scan-rand-mac-address=no

BBONE-GATEWAY-CAPE не распознается BeagleBone по умолчанию из - за булавочной конфликта. Добавить конфигурацию вручную , путем редактирования uEnv.txt с помощью команды sudo vim /boot/uEnv.txt и убедитесь , что следующие строки совпадают:

#Custom Cape
dtb_overlay=/lib/firmware/BB-GATEWAY-WL1837-00A0.dtbo
#
#Disable auto loading of virtual capes (emmc/video/wireless/adc)
disable_uboot_overlay_emmc=1
disable_uboot_overlay_video=1
disable_uboot_overlay_audio=1
disable_uboot_overlay_wireless=1
disable_uboot_overlay_adc=1

Сценарии настройки BeagleBone wilink пытаются использовать connman по умолчанию для включения активности точки доступа Wi-Fi. Изменение папки конфигурации по умолчанию с помощью команды sudo vim /etc/default/bb-wl18xx и sudo vim /etc/default/bb-wl18xx по sudo vim /etc/default/bb-wl18xx и убедитесь , что переменные соответствуют ниже:

TETHER_ENABLED=no
USE_CONNMAN_TETHER=no

Перезагрузите, чтобы убедиться, что Network Manager видит новый интерфейс.

sudo shutdown -r now

Зайдя обратно в вас может работать ifconfig или nmcli , чтобы увидеть новый wlan интерфейс.

Сборка и установка OTBR

См Построение и настройка для получения инструкций по сборке и установке OTBR.