🛠 Construire un réseau Thread avec OpenThread
El montaje
Thread es una malla 802.15.4 con IPv6 nativo. El nRF52840 de la placa es un soporte reconocido de OpenThread: radio de 2,4 GHz (+8 dBm), 1 MB de flash, y MakerDiary incluye en su repositorio una configuración de OpenThread Border Router (OTBR/) y una guía de sniffer Thread (thread-sniffer/). Arquitectura clásica: un MDK como coprocesador RCP (radio) controlado por OTBR en un Raspberry Pi, y un segundo MDK como nodo FTD (Full Thread Device).
Alerta de desviación documental — lea antes de nada
El firmware Thread upstream ha migrado al repositorio openthread/ot-nrf528xx, lo que ha roto parte de los viejos procedimientos del wiki de MakerDiary (issue #52 del repositorio: «Documentation no longer accurate»). Dos vías válidas en 2026:
- Vía recomendada: los samples OpenThread del ecosistema Zephyr/NCS, siendo la placa
nrf52840_mdkuna placa Zephyr upstream — compila RCP y CLI para el objetivonrf52840_mdk. - Vía histórica:
openthread/ot-nrf528xxpara los firmwares oficiales nRF52840, adaptando el objetivo a la placa MakerDiary.
Paso 1 — Border Router en el Pi
Siga la guía OTBR del repositorio MakerDiary: compile OTBR en el Raspberry Pi, flashee el firmware RCP en el primer MDK (west build + west flash, o depósito del hex en la unidad DAPLINK), y luego conecte el MDK por USB. OTBR ve la radio a través de la capa RCP serie/USB y forma la red:
# 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
Paso 2 — Nodo Thread FTD
En el segundo MDK, un firmware CLI OpenThread (ot-cli-ftd o el equivalente de shell Zephyr):
> dataset networkkey <clé du dataset actif> # ou dataset via le TL-14 complet
> ifconfig up
> thread start
> state # doit passer leader/child/robot
> ipaddr
El nodo tiene una dirección IPv6 enrutable; puede hacer ping6 desde el Pi. Es aquí donde los 8 MB de flash QSPI externo de la placa resultan útiles para registrar las mediciones del nodo.
Paso 3 — Sniffear la malla
Para depurar, la guía thread-sniffer/ del repositorio configura un MDK (o el USB Dongle, vendido para este uso) como sniffer 802.15.4 que inyecta en Wireshark — indispensable para ver los adjuntos Thread y las tramas mle/CoAP.
Antena y alcance
La placa incorpora una antena en chip y un conector U.FL seleccionable para antena externa — práctico para las mediciones de alcance. El procedimiento exacto de selección está poco documentado (issue #51): pruebe primero con la antena en chip, y luego valide la ruta U.FL en su build.
Trampas
- No mezcle las versiones de firmware RCP/FTD: misma versión de OpenThread en ambos lados.
- Las viejas releases de ejemplos citan rutas
examples/nrf5-sdk/openthread-*desaparecidas: apunte a las fuentes upstream.