Este guia cobre a construção e configuração básicas do OpenThread Border Router (OTBR). Após a conclusão deste procedimento, você terá um OTBR que funciona como um Full Thread Device (FTD) em um projeto RCP.
Configurar plataforma
Configure uma plataforma de hardware compatível:
Construir e atualizar RCP
OTBR é executado em um projeto RCP. Selecione uma plataforma OpenThread com suporte para usar como RCP e siga as instruções de construção e atualização para essa plataforma.
Para uma visão geral da construção do OpenThread, consulte o Guia de Construção .
Instruções específicas sobre a construção de plataformas suportadas com GNU Autotools podem ser encontradas na pasta de plataforma de cada exemplo.
Configurar o roteador de borda
OTBR se comunica com o RCP via espinélio. Na plataforma de hardware configurada :
- Clone o repositório OTBR:
git clone https://github.com/openthread/ot-br-posix
- Instale dependências:
cd ot-br-posix
./script/bootstrap
- Compile e instale o OTBR. Observe que este script de configuração usa o Network Manager para configurar automaticamente o ponto de acesso Wi-Fi (AP).
- Para configurar automaticamente o AP Wi-Fi usando o Network Manager:
./script/setup
- Para ignorar a configuração automática do AP Wi-Fi e fazê-lo manualmente mais tarde, sem usar o Network Manager:
NETWORK_MANAGER=0 ./script/setup
- Para configurar automaticamente o AP Wi-Fi usando o Network Manager:
- Conecte o dispositivo RCP com flash à plataforma Border Router via USB.
- Configure a porta serial do dispositivo RCP no
otbr-agent
:- Determine o nome da porta serial para o dispositivo RCP verificando
/dev
:ls /dev/tty*
- Anexe isso a
/etc/default/otbr-agent
. Por exemplo, para um nome de porta serial dettyUSB0
:OTBR_AGENT_OPTS="-I wpan0 spinel+hdlc+uart:///dev/ttyUSB0"
- Determine o nome da porta serial para o dispositivo RCP verificando
- Desligue e ligue o Border Router. Se estiver usando a plataforma BeagleBone Black, lembre-se de manter pressionado o botão BOOT ao fazer isso.
- O serviço OTBR deve iniciar na inicialização.
Verificar serviços
Verifique se todos os serviços necessários estão ativados:
sudo systemctl status
Se o script de setup
foi bem-sucedido, os seguintes serviços aparecem na saída:
-
avahi-daemon.service
-
otbr-agent.service
-
otbr-web.service
Por exemplo:
● 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
Se esses serviços estiverem em execução, mas o RPi3B estiver em um estado degradado , algum outro serviço falhou ao iniciar. Verifique para ver qual:
sudo systemctl --failed
Se a configuração automática do AP Wi-Fi for ignorada e o serviço com falha for tayga
ou dnsmasq
, isso é normal. Se estiver executando uma configuração manual do AP Wi-Fi, esses serviços serão completamente configurados como parte da Configuração do ponto de acesso Wi-Fi abordada na próxima seção.
Verificar RCP
Verifique se o RCP está no estado correto:
sudo ot-ctl state
ot-ctl
é um utilitário de linha de comando fornecido com o OTBR. É usado para se comunicar com a interface Thread PAN (o padrão é wpan0
) à qual o otbr-agent
está vinculado no projeto RCP.
Se o RCP estiver sendo executado com sucesso e o nó não for membro de uma rede Thread, a saída deve ser semelhante à seguinte:
disabled
Se a saída for o OpenThread daemon is not running
, solucione o problema com o seguinte:
- Verifique se o Border Router tem energia suficiente (use o adaptador CA externo adequado).
- Desconecte e reconecte a placa RCP à plataforma do Border Router.
- Verifique se o dispositivo serial RCP está presente. Por exemplo, se o dispositivo deve ser conectado a
/dev/ttyUSB0
:ls /dev/ttyUSB*
/dev/ttyUSB0
- Reinicialize o RCP com
sudo ot-ctl reset
.
Verifique o status do RCP novamente com o estado sudo ot-ctl state
.