Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Creazione e configurazione di OpenThread Border Router

Questa guida copre la build e la configurazione di base di OpenThread Border Router (OTBR). Al termine di questa procedura, si avrà un OTBR che funziona come un dispositivo Full Thread (FTD) in un progetto RCP.

Configura piattaforma

Configurare una piattaforma hardware supportata:

Crea e installa RCP

OTBR funziona su un progetto RCP. Seleziona una piattaforma OpenThread supportata da utilizzare come RCP e segui le istruzioni per la creazione e il flashing di quella piattaforma.

Per una panoramica della creazione di OpenThread, vedere la Guida alla creazione .

Istruzioni specifiche sulla creazione di piattaforme supportate con GNU Autotools possono essere trovate nella cartella della piattaforma di ogni esempio.

Configurare Border Router

OTBR comunica con l'RCP tramite spinello. Sulla piattaforma hardware configurata :

  1. Clona il repository OTBR:
    git clone https://github.com/openthread/ot-br-posix
  2. Installa le dipendenze:
    cd ot-br-posix
    ./script/bootstrap
  3. Compila e installa OTBR. Si noti che questo script di configurazione utilizza Network Manager per configurare automaticamente il punto di accesso Wi-Fi (AP).
    1. Per configurare automaticamente l'AP Wi-Fi utilizzando Network Manager:
      ./script/setup
    2. Per saltare la configurazione automatica dell'AP Wi-Fi e farlo manualmente in un secondo momento senza utilizzare Network Manager:
      NETWORK_MANAGER=0 ./script/setup
  4. Collegare il dispositivo RCP con flash alla piattaforma Border Router tramite USB.
  5. Configurare la porta seriale del dispositivo RCP in otbr-agent :
    1. Determinare il nome della porta seriale per il dispositivo RCP controllando /dev :
      ls /dev/tty*
    2. Aggiungilo a /etc/default/otbr-agent . Ad esempio, per un nome di porta seriale di ttyUSB0 :
      OTBR_AGENT_OPTS="-I wpan0 spinel+hdlc+uart:///dev/ttyUSB0"
  6. Spegnere e riaccendere il Border Router. Se utilizzi la piattaforma BeagleBone Black, ricorda di tenere premuto il pulsante BOOT mentre lo fai.
  7. Il servizio OTBR dovrebbe essere avviato all'avvio.

Verifica i servizi

Verifica che tutti i servizi richiesti siano abilitati:

sudo systemctl status

Se lo script di setup avuto esito positivo, nell'output vengono visualizzati i seguenti servizi:

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

Per esempio:

● 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 questi servizi sono in esecuzione, ma l'RPi3B è in uno stato degradato , alcuni altri servizi non sono stati avviati. Controlla per vedere quale:

sudo systemctl --failed

Se la configurazione automatica dell'AP Wi-Fi è stata ignorata e il servizio non riuscito è tayga o dnsmasq , ciò è normale. Se si esegue una configurazione manuale dell'AP Wi-Fi, questi servizi sono completamente configurati come parte della configurazione del punto di accesso Wi-Fi descritta nella sezione successiva.

Verifica RCP

Verificare che l'RCP sia nello stato corretto:

sudo ot-ctl state

ot-ctl è un'utilità della riga di comando fornita con OTBR. Viene utilizzato per comunicare con l'interfaccia Thread PAN (l'impostazione predefinita è wpan0 ) a cui è associato otbr-agent nella progettazione RCP.

Se l'RCP viene eseguito correttamente e il nodo non è un membro di una rete di thread, l'output dovrebbe essere simile al seguente:

disabled

Se l'output è OpenThread daemon is not running , risolvere i problemi con quanto segue:

  1. Verificare che Border Router disponga di alimentazione sufficiente (utilizzare l'adattatore CA esterno appropriato).
  2. Scollegare e ricollegare la scheda RCP alla piattaforma Border Router.
  3. Verificare che il dispositivo seriale RCP sia presente. Ad esempio, se il dispositivo deve essere collegato a /dev/ttyUSB0 :
    ls /dev/ttyUSB*
    /dev/ttyUSB0
  4. Ripristina l'RCP con sudo ot-ctl reset .

Controlla di nuovo lo stato RCP con sudo ot-ctl state .