Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Compilación y configuración del enrutador de borde OpenThread

Esta guía cubre la construcción y configuración básicas de OpenThread Border Router (OTBR). Al completar este procedimiento, tendrá un OTBR que funciona como un dispositivo de subproceso completo (FTD) en un diseño RCP.

Configurar plataforma

Configure una plataforma de hardware compatible:

Cree y actualice RCP

OTBR se ejecuta en un diseño RCP. Seleccione una plataforma OpenThread apoyado para su uso como un PCR y siga las instrucciones del edificio y parpadeantes para esa plataforma.

Para una visión general de la construcción de OpenThread, consulte la Guía de construcción .

Instrucciones específicas sobre la construcción de las plataformas compatibles con GNU Autotools se pueden encontrar en cada ejemplo de la carpeta de plataforma .

Configurar el enrutador de borde

OTBR se comunica con el RCP a través de espinela. En la plataforma de hardware configurado :

  1. Clonar el repositorio OTBR:
    git clone https://github.com/openthread/ot-br-posix
  2. Instalar las dependencias:
    cd ot-br-posix
    ./script/bootstrap
  3. Compile e instale OTBR. Tenga en cuenta que la secuencia de comandos de configuración habilita el Enrutamiento de borde de forma predeterminada. Para habilitar Border Routing, especifique la interfaz Ethernet o Wi-Fi de su plataforma:

    Ethernet

    INFRA_IF_NAME=eth0 ./script/setup

    Wifi

    INFRA_IF_NAME=wlan0 ./script/setup
  4. Acople el dispositivo de RCP brilló a la plataforma Border Router a través de USB.
  5. Configurar el puerto serie del dispositivo de RCP en otbr-agent :
    1. Determinar el nombre del puerto serie para el dispositivo de RCP por la comprobación /dev :
      ls /dev/tty*
    2. Anexar esto a /etc/default/otbr-agent . Por ejemplo, un nombre de puerto de serie del ttyUSB0 :
      OTBR_AGENT_OPTS="-I wpan0 spinel+hdlc+uart:///dev/ttyUSB0"
  6. Apague y encienda el Border Router. Si el uso de la plataforma BEAGLEBONE Negro, recuerde que debe mantener pulsado el botón ARRANQUE mientras lo hace.
  7. El servicio OTBR debería iniciarse al arrancar.

Verificar servicios

Verifique que todos los servicios requeridos estén habilitados:

sudo systemctl status

Si la setup la escritura se ha realizado correctamente, los siguientes servicios aparecen en la salida:

  • avahi-daemon.service
  • otbr-agent.service
  • otbr-web.service

Por ejemplo:

● raspberrypi
    State: running
     Jobs: 0 queued
   Failed: 0 units
    Since: Thu 1970-01-01 00:00:01 UTC; 47 years 7 months ago
   CGroup: /
           ├─user.slice
           │ └─user-1000.slice
           │   ├─user@1000.service
           │   │ └─init.scope
           │   │   ├─576 /lib/systemd/systemd --user
           │   │   └─580 (sd-pam)
           │   └─session-c1.scope
           │     ├─480 /bin/login --
           │     └─585 -bash
           ├─init.scope
           │ └─1 /sbin/init
           └─system.slice
             ├─systemd-timesyncd.service
             │ └─334 /lib/systemd/systemd-timesyncd
             ├─dbus.service
             │ └─339 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
             ├─hciuart.service
             │ └─442 /usr/bin/hciattach /dev/serial1 bcm43xx 921600 noflow -
             ├─ssh.service
             │ └─621 /usr/sbin/sshd -D
             ├─avahi-daemon.service
             │ ├─341 avahi-daemon: running [raspberrypi.local]
             │ └─361 avahi-daemon: chroot helper
             ├─otbr-web.service
             │ └─472 /usr/sbin/otbr-web
             ├─triggerhappy.service
             │ └─354 /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user nobody --deviceglob /dev/input/event*
             ├─systemd-logind.service
             │ └─353 /lib/systemd/systemd-logind
             ├─otbr-agent.service
             │ └─501 /usr/sbin/otbr-agent -I wpan0
             ├─cron.service
             │ └─350 /usr/sbin/cron -f
             ├─systemd-udevd.service
             │ └─154 /lib/systemd/systemd-udevd
             ├─rsyslog.service
             │ └─345 /usr/sbin/rsyslogd -n
             ├─bluetooth.service
             │ └─445 /usr/lib/bluetooth/bluetoothd
             ├─systemd-journald.service
             │ └─136 /lib/systemd/systemd-journald
             └─dhcpcd.service
               ├─409 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0
               └─466 /sbin/dhcpcd -q -w

Si los servicios se están ejecutando, pero el RPI es en un estado degradado, algún otro servicio no ha podido comenzar. Compruebe para ver cuál:

sudo systemctl --failed

Verificar RCP

Verifique que el RCP esté en el estado correcto:

sudo ot-ctl state

ot-ctl es una utilidad de línea de comandos proporcionada con OTBR. Se utiliza para comunicarse con la interfaz de rosca PAN (por defecto es wpan0 ) que otbr-agent se une a en el diseño RCP.

Si el RCP se está ejecutando correctamente y el nodo no es miembro de una red Thread, el resultado debería ser similar al siguiente:

disabled

Si la salida es OpenThread daemon is not running , solucionar problemas con lo siguiente:

  1. Verifique que el enrutador de borde tenga suficiente energía (use el adaptador de CA externo adecuado).
  2. Desconecte y vuelva a conectar la placa RCP a la plataforma Border Router.
  3. Verifique que el dispositivo serie RCP esté presente. Por ejemplo, si el dispositivo debe estar unido a /dev/ttyUSB0 :
    ls /dev/ttyUSB*
    /dev/ttyUSB0
  4. Restablecer el PCR con sudo ot-ctl reset .

Comprobar el estado de RCP de nuevo con sudo ot-ctl state .