🛠 Construire un réseau Thread avec OpenThread
Le montage
Thread est un maillage 802.15.4 avec IPv6 natif. Le nRF52840 de la carte est un support reconnu d'OpenThread : radio 2,4 GHz (+8 dBm), 1 Mo de flash, et MakerDiary livre dans son dépôt un setup OpenThread Border Router (OTBR/) et un guide de sniffer Thread (thread-sniffer/). Architecture classique : un MDK en coprocesseur RCP (radio) piloté par OTBR sur un Raspberry Pi, un second MDK en nœud FTD (Full Thread Device).
Alerte dérive documentaire — lisez avant tout
Le firmware Thread amont a migré vers le dépôt openthread/ot-nrf528xx, ce qui a cassé une partie des vieilles procédures du wiki MakerDiary (issue #52 du dépôt : « Documentation no longer accurate »). Deux voies saines en 2026 :
- Voie recommandée : les samples OpenThread de l'écosystème Zephyr/NCS, la carte
nrf52840_mdkétant une carte Zephyr amont — vous buildez RCP et CLI pour la ciblenrf52840_mdk. - Voie historique :
openthread/ot-nrf528xxpour les firmwares officiels nRF52840, en adaptant la cible à la carte MakerDiary.
Étape 1 — Border Router sur le Pi
Suivez le guide OTBR du dépôt MakerDiary : compilez OTBR sur le Raspberry Pi, flashez le firmware RCP sur le premier MDK (west build + west flash, ou dépôt de l'hex sur le lecteur DAPLINK), puis branchez le MDK en USB. OTBR voit la radio via la couche RCP série/USB et forme le réseau :
# une fois OTBR lancé, le réseau est formé ; on l'inspecte via wpanctl
wpanctl
wpanctl> thread start
wpanctl> dataset active -x # le network dataset à partager
Étape 2 — Nœud Thread FTD
Sur le second MDK, un firmware CLI OpenThread (ot-cli-ftd ou l'équivalent Zephyr shell) :
> dataset networkkey <clé du dataset actif> # ou dataset via le TL-14 complet
> ifconfig up
> thread start
> state # doit passer leader/child/robot
> ipaddr
Le nœud a une adresse IPv6 routable ; vous pouvez ping6 depuis le Pi. C'est là que les 8 MB de flash QSPI externe de la carte deviennent utiles pour logger les mesures du nœud.
Étape 3 — Sniffer le mesh
Pour déboguer, le guide thread-sniffer/ du dépôt configure un MDK (ou le USB Dongle, vendu pour cet usage) en renifleur 802.15.4 injectant dans Wireshark — indispensable pour voir les attachements Thread et les trames mle/CoAP.
Antenne et portée
La carte embarque une antenne puce et un connecteur U.FL sélectionnable pour antenne externe — pratique pour les mesures de portée. La procédure de sélection exacte est peu documentée (issue #51) : testez d'abord à l'antenne puce, puis validez le chemin U.FL sur votre build.
Pièges
- Ne mélangez pas les âges de firmware RCP/FTD : même version d'OpenThread des deux côtés.
- Les vieilles releases d'exemples citent des chemins
examples/nrf5-sdk/openthread-*disparus : visez les sources amont.