🛠 Mises à jour OTA et flash local DFU avec Particle CLI
Objectifs
Le bootloader du Boron accepte plusieurs chemins de mise à jour : OTA par le cloud Particle (particle flash à distance), USB en mode DFU, Serial Y-Modem, et même le re-flash d'usine via les boutons. Savoir basculer entre OTA et DFU est la compétence de dépannage absolue : une carte qui ne boot plus, un firmware qui plante avant la connexion cloud ou un device « briké » par décharge profonde se récuprent en DFU. Vous apprendrez les deux flux, la gestion des versions de Device OS (le BRN404X exige du 4.x LTS et ne peut pas tourner sous 2.x), et le mode listening pour reconfigurer le réseau.
Matériel
- 1× Particle Boron + câble micro-USB de données
- Particle CLI installé et authentifié (
particle login) - Optionnel pour le débogage complet : connecteur SWD 10 broches + debugger (le Boron expose le SWD nativement)
Code complet
Le firmware de test, volontairement verbeux pour observer chaque étape :
// Boron — firmware de test de mise à jour
SYSTEM_THREAD(ENABLED);
SYSTEM_MODE(SEMI_AUTOMATIC);
void setup {
Serial.begin(9600);
Serial.println("Firmware v2 OK"); // changez le numéro a chaque flash
Cellular.on;
Cellular.connect;
}
void loop {
if (Cellular.ready) {
Particle.publish("fw", "v2", PRIVATE);
}
delay(300000);
}
Les commandes du flux :
# 1) OTA par le cloud (device online) :
particle list
particle flash <device> firmware.bin
# 2) Local via USB, device en mode normal :
particle flash --usb firmware.bin
# 3) DFU (device injoignable) : maintenir Reset, pulsation courte sur MODE,
# relacher Reset, la LED clignote en jaune -> mode DFU
particle flash --usb firmware.bin
# ou en bas niveau :
dfu-util -d 2b04:d00d -a 0 -s 0x1000:leave -D firmware.bin
# 4) Revenir en mode normal si bloque :
particle usb start-mode normal
particle doctor
Vérification attendue
En OTA : particle flash termine par « Flashing was successful » et le device revient online avec la nouvelle version (nouvelle ligne série « Firmware v2 OK », événement fw publié). En DFU : la LED passe en jaune clignotant avant le flash, dfu-util liste l'appareil (dfu-util -l), et la carte redémarre sur le nouveau firmware. Test de récupération : flashez un firmware qui plante, puis récupérez-le en DFU — c'est votre filet de sécurité.
Erreurs fréquentes
- Confondre listening (cyan, reconfiguration réseau) et DFU (jaune, flash) : les gestes boutons diffèrent par la durée de maintien de MODE, suivez le guide officiel des modes.
- Flasher un firmware compilé pour Device OS 2.x/3.x sur une BRN404X : incompatible, elle requiert 4.0.0+ ; alignez aussi toute flotte sur une seule version.
dfu-util: no device matched: câble sans data, pilote DFM absent sous Windows, ou mauvais mode — vérifiezparticle usb dfuet le Gestionnaire de périphériques.- Débrancher pendant l'écriture flash : possible brique logicielle ; le mode DFU reste votre recours, gardez un binaire de secours signé sous la main.
- Compter sur l'OTA pour un device jamais connecté : sans lien cellulaire (antenne, SIM, couverture), seul le chemin USB fonctionne.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.inoArduinobouton-evenement.inoArduinofonction-distance.inoArduinocapteur-dht.inoArduinoruban-neopixel.inoArduinopwm-respiration.inoArduino