🛠 Construire un réseau Thread avec OpenThread

nRF52840-MDK (id boards.json : nrf52840-mdk) · avance · Frontière 802.15.4/IPv6 : un MDK comme RCP, un Raspberry Pi comme border router, un second MDK comme nœud — et le sniffer pour voir le mesh.

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 :

É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

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels