🛠 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.

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:

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

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales