Beagle (negro)

Ver código fuente en GitHub

El router de borde OpenThread (OTBR) proporciona compatibilidad con la plataforma BeagleBone Black (BBB).

Requisitos de hardware:

  • Adaptador de CA externo de 5 V para alimentación
  • Una tarjeta microSD de 8 GB o de mayor capacidad ("tarjeta uSD" en esta guía)
  • Una plataforma OpenThread compatible (como TI CC2652) para la conectividad de red de Thread en un diseño RCP

Pasos para habilitar la función:

  1. Descarga e instala el SO.
  2. Prepara el entorno Debian para OTBR
  3. (Opcional) Habilita la conexión Wi-Fi
  4. Compilación e instalación de OTBR

Descarga e instala el SO

  1. Descarga la imagen más reciente de Debian IoT para BeagleBone.
    • La versión que se usó para esta guía fue bone-debian-10.3-iot-armhf-2020-04-06-4gb.img.xz
  2. Instala la imagen de SO en una tarjeta uSD. Para ello, sigue las instrucciones de la guía de introducción de BeagleBone.
  3. Inicia el BeagleBone y conéctate a través de SSH en el dispositivo.
    • Se recomienda contar con conectividad a través de una red local basada en Ethernet.
    • El IDE de Cloud9 se inhabilitará más adelante en esta guía.
    • En esta guía, se cambiará el estado de las interfaces de red de BeagleBone. Ten en cuenta que tu sesión de shell seguro puede desconectarse.
    • Los bootloaders modernos de BeagleBone se ejecutarán desde la tarjeta uSD de forma predeterminada, pero es posible que algunos dispositivos de BeagleBone Black intenten iniciarse desde la eMMC interna. En este caso, asegúrate de presionar el botón BOOT.

Para obtener información más detallada sobre BeagleBone, consulta la página de asistencia de BeagleBoard.

Prepara el entorno Debian para OTBR

El sistema de archivos de la imagen uSD BeagleBone se limita a 4 GB para adaptarse a la mayoría de las tarjetas USD. Expande la partición para habilitar el uso de toda la capacidad de almacenamiento.

sudo /opt/scripts/tools/grow_partition.sh

Te recomendamos que leas esa secuencia de comandos auxiliar para averiguar cómo se expande el sistema de archivos. Deberás reiniciar BeagleBone y volver a acceder para usar esta definición nueva del sistema de archivos.

sudo shutdown -r now

Esta acción cerrará tu sesión de SSH. Una vez que hayas vuelto a acceder, puedes pasar a la compilación del código OTBR.

(Opcional) Habilita la conexión Wi-Fi

Cuando vuelvas a acceder a BeagleBone, instala Network Manager:

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

Luego, inhabilita connman y habilita network-manager:

sudo systemctl disable connman
sudo systemctl enable network-manager

Si tuviéramos stop connman directamente aquí, interrumpiría la sesión SSH porque connman administra la interfaz de red. En cambio, configuramos el sistema para que se aplique en el próximo inicio. Reinicia el Beaglebone y vuelve a acceder.

sudo shutdown -r now

Es posible que el administrador de redes no haya configurado los servidores de nombres de DNS. Edita resolv.conf con el comando sudo vim /etc/resolv.conf y asegúrate de que el contenido contenga el DNS de Google y el DNS de Cloudflare:

nameserver 8.8.8.8
nameserver 1.1.1.1

Reinicia para asegurarte de que el Administrador de redes esté configurado correctamente.

sudo shutdown -r now

Al módulo WiLink 8 no le gusta que cambie su dirección MAC durante el tiempo de ejecución. El Administrador de redes intentará hacerlo durante el análisis. Edita NetworkManager.conf con el comando sudo vim /etc/NetworkManager/NetworkManager.conf y agrega las siguientes líneas:

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

BeagleBone no reconoce BBONE-GATEWAY-CAPE de forma predeterminada debido a un conflicto de PIN. Para agregar la configuración de forma manual, edita uEnv.txt con el comando sudo vim /boot/uEnv.txt y asegúrate de que las siguientes líneas coincidan:

#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

Las secuencias de comandos de configuración del Wilink de BeagleBone intentan usar connman de forma predeterminada para habilitar la actividad de PA de Wi-Fi. Edita la carpeta de configuración predeterminada con el comando sudo vim /etc/default/bb-wl18xx y asegúrate de que las variables coincidan a continuación:

TETHER_ENABLED=no
USE_CONNMAN_TETHER=no

Reinicia para asegurarte de que el administrador de redes pueda ver la interfaz nueva.

sudo shutdown -r now

Cuando vuelvas a acceder, puedes ejecutar ifconfig o nmcli para ver la nueva interfaz de wlan.

No olvides pasar las opciones NETWORK_MANAGER=1 y NETWORK_MANAGER_WIFI=1 a la secuencia de comandos de configuración en el siguiente paso para usar Network Manager.

Compilación e instalación de OTBR

Consulta Compilación y configuración para obtener instrucciones sobre la compilación y la instalación de OTBR.