🛠 Thread/OpenThread sous Zephyr et mises à jour DFU/UF2

Adafruit Feather nRF52840 Express · avance · Schéma : IMG-nrf52840-feather-avance-3-nrf52840-thread-openthread-dfu.svg — Feather nRF52840 en nœud Thread (IEEE 802.15.4) reliée à un border router, flash par glisser-déposer UF2 vers le lecteur FTHR840BOOT, chaîne de mise à jour annotée.

Objectifs

Sortir du BLE : le nRF52840 est aussi radio IEEE 802.15.4 et cible Zephyr de premier ordre (ieee802154-supported, prise en charge OpenThread/Thread documentée par Zephyr). Vous compilerez l'échantillon OpenThread CLI pour la cible nRF52840, le flasherez via le bootloader UF2 Adafruit, puis ferez le point sur les mises à jour : UF2 en glisser-déposer, DFU série nrfutil, et OTA BLE.

Matériel

Code complet

# 1) Compiler l'echantillon OpenThread CLI pour nRF52840 (cible DK = même SoC)
west init -m https://github.com/zephyrproject-rtos/zephyr --mr main ot-ws
cd ot-ws && west update
cd zephyr
west build -b nrf52840dk/nrf52840 samples/net/openthread/cli

# 2) Flash : soit par SWD (2x5 0.05" de la Feather, J-Link/DAPLink) :
west flash --runner jlink
#    soit en UF2 : double-clic RST -> NeoPixel vert -> lecteur FTHR840BOOT,
#    convertir build/zephyr.bin en .uf2 (uf2conv.py -f 0xADF7) puis glisser.

# 3) Console série (115200) : commands OpenThread
#    dataset init new / dataset commit active / ifconfig up / thread start
#    thread state  ->  "leader" ou "child"

Vérification attendue

thread state répond « child » après thread start quand un border router est actif ; ping vers une adresse IPv6 du réseau Thread traverse la radio 802.15.4. Côté mise à jour : glisser un UF2 sur FTHR840BOOT reprogramme la carte sans aucun outil JTAG — la chaîne de boot est l'Adafruit nRF52 UF2 bootloader open source préinstallé.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels