<ph type="x-smartling-placeholder"></ph> Consulter le code source sur GitHub
Ce guide couvre la construction et la configuration de base du routeur de bordure OpenThread . À l'issue de cette procédure, vous aurez un OTBR qui fonctionne en tant qu'appareil Full Thread (FTD) dans une conception RCP.
Configurer la plate-forme
Configurez une plate-forme matérielle compatible:
Créer et flasher un RCP
OTBR fonctionne sur une conception RCP. Sélectionnez un OpenThread compatible plate-forme à utiliser comme RCP et suivre le bâtiment et pour cette plate-forme.
Pour un aperçu de la création d'OpenThread, consultez la Guide de création.
Vous pouvez obtenir des instructions spécifiques sur la création de plates-formes compatibles avec GNU Autotools figurant dans chaque exemple dossier "platform".
Installer OTBR
OTBR communique avec le RCP via le Spinelle. Pour installer OTBR sur le réseau plate-forme matérielle, procédez comme suit :
Clonez le dépôt OTBR:
git clone https://github.com/openthread/ot-br-posix
Installer des dépendances
La configuration par défaut active BORDER_ROUTING
pour la plupart des plates-formes. Pour une
la liste complète des indicateurs OTBR par défaut, reportez-vous à
exemples de plate-forme sur GitHub.
Sélectionnez votre plate-forme, puis cliquez sur default
, si cette option est disponible.
Utilisation par défaut:
cd ot-br-posix
./script/bootstrap
BeagleBone Black avec Network Manager (facultatif):
cd ot-br-posix
NETWORK_MANAGER=1 NETWORK_MANAGER_WIFI=1 ./script/bootstrap
Compiler et installer OTBR
Utilisation par défaut. Le script de configuration active le routage des frontières par défaut. Pour activer Pour le routage des frontières, spécifiez l'interface Ethernet ou Wi-Fi de votre plate-forme:
Utiliser Ethernet:
INFRA_IF_NAME=eth0 ./script/setup
Utiliser le Wi-Fi:
INFRA_IF_NAME=wlan0 ./script/setup
BeagleBone Black. Utiliser Network Manager (facultatif):
NETWORK_MANAGER=1 NETWORK_MANAGER_WIFI=1 ./script/setup
Associer et configurer un appareil RCP
Connectez le périphérique RCP flashé à la plate-forme du routeur de bordure via un câble USB.
Pour configurer le port série de l'appareil RCP dans otbr-agent
, commencez par déterminer
nom du port série du périphérique RCP en consultant /dev
:
ls /dev/tty*
Vérifiez ensuite les paramètres de votre otbr-agent
.
cd /etc/default
cat otbr-agent
Le fichier de configuration otbr-agent
contient le nom de l'interface Thread, "Ethernet"
ou nom de l'interface Wi-Fi et le nom du port série RCP.
OTBR_AGENT_OPTS="-I wpan0 -B OTBR_INFRA_IF_NAME spinel+hdlc+uart:///dev/ttyACM0 trel://OTBR_INFRA_IF_NAME"
Tous les appareils ne portent pas le même nom de port série. Les plus
les noms de ports courants sont ttyACM*
et ttyUSB*
. Reportez-vous à la documentation
votre appareil pour déterminer le nom attendu du port série.
Si nécessaire, mettez à jour le fichier de configuration otbr-agent
. Par exemple, pour une connexion Wi-Fi,
et un nom de port série ttyUSB0
:
OTBR_AGENT_OPTS="-I wpan0 -B wlan0 spinel+hdlc+uart:///dev/ttyUSB0 trel://wlan0"
Pour mettre à jour une interface Ethernet:
OTBR_AGENT_OPTS="-I wpan0 -B eth0 spinel+hdlc+uart:///dev/ttyUSB0 trel://eth0"
Arrêtez et redémarrez le routeur de bordure. Si vous utilisez la plateforme BeagleBone Black, n'oubliez pas de maintenir le bouton Démarrer de manière prolongée le faire.
Le service OTBR doit démarrer au démarrage.
Valider les services
Vérifiez que tous les services requis sont activés:
sudo systemctl status
Si le script setup
a abouti, les services suivants apparaissent dans le
sortie:
mdns.service
otbr-agent.service
otbr-web.service
Exemple :
● 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 # enabled ├─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 # enabled ├─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 # enabled ├─mdns.service │ └─725 /usr/sbin/mdnsd ├─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 ces services sont en cours d'exécution, mais que l'ICP est dans un état dégradé, certains n'a pas pu démarrer. Vérifiez les éléments suivants:
sudo systemctl --failed
Vous pouvez également vérifier chaque service individuellement:
sudo service mdns status
sudo service otbr-agent status
sudo service otbr-web status
otbr-web
est activé par défaut pour la plupart des plates-formes.
Si otbr-web
n'est pas installé, essayez de transmettre l'indicateur WEB_GUI
:
WEB_GUI=1 ./script/bootstrap
INFRA_IF_NAME=wlan0 WEB_GUI=1 ./script/setup
Vérifier le RCP
Vérifiez que le RCP est dans le bon état:
sudo ot-ctl state
ot-ctl
est un utilitaire de ligne de commande fourni avec OTBR. Il est utilisé pour
communiquer avec l'interface PAN Thread (par défaut : wpan0
) que otbr-agent
est lié dans
la conception du RCP.
Si le RCP s'exécute correctement et que le nœud n'est pas membre d'un thread le résultat doit ressembler à ce qui suit:
disabled
Si le résultat est OpenThread daemon is not running
, procédez comme suit:
- Vérifiez que le routeur de bordure dispose d'une puissance suffisante (utilisez le bon adaptateur secteur).
- Déconnectez et reconnectez la carte RCP à la plate-forme du routeur de bordure.
Vérifiez que le périphérique série RCP est présent. Par exemple, si l'appareil doit être associé à
/dev/ttyUSB0
:ls /dev/ttyUSB*
/dev/ttyUSB0Réinitialisez le RCP avec
sudo ot-ctl reset
.
Vérifiez à nouveau l'état du RCP avec sudo ot-ctl state
.