🛠 Mises à jour OTA et sauvetage par USB DFU
Objectifs
Maîtriser les deux méthodes de mise à jour du firmware : la mise à jour sans fil par le Particle Cloud (rendue possible par la zone de flash de sauvegarde OTA de 128 Ko décrite dans la carte mémoire de la datasheet) et le mode recovery USB DFU quand plus rien ne va.
Matériel
- 1 Particle Photon revendiqué sur votre compte (
particle identifyaffiche l'ID et l'état) - Particle CLI installé et authentifié (
particle login) - un bon câble USB (les brown-outs USB sont la première cause de flash raté)
Code complet
// photon-ota-dfu.ino — firmware versionne pour tester le canal OTA
// Compilation puis flash OTA :
// particle flash <nom_du_device> .
// ou depuis un binaire compile :
// particle flash <nom> firmware.bin
// Par REST aussi : PUT /v1/devices/<id> avec -d file=@firmware.bin
SYSTEM_THREAD(ENABLED);
void setup {
pinMode(D7, OUTPUT);
Serial.begin(9600);
Serial.println("Firmware v2.0 - canal OTA operationnel");
Serial.println(System.version); // version du Device OS installe
// Recommandation officielle : rester sur la branche 2.x LTS,
// les versions 1.x et 3.x sont en fin de support.
}
void loop {
digitalWrite(D7, HIGH); delay(100);
digitalWrite(D7, LOW); delay(100); // motif rapide = v2
}
Vérification attendue
Après particle flash <nom> ., le Photon télécharge le binaire par Wi-Fi, clignote en bicolore pendant l'écriture, puis redémarre sur le nouveau firmware (LED D7 rapide, trace série v2.0). En cas de firmware cassé : maintenir SETUP, taper RESET, la LED clignote en jaune (mode DFU confirmé par la datasheet), puis flasher par USB avec l'outil DFU adapté pour restaurer un Device OS 2.x LTS.
Erreurs fréquentes
- Lancer un OTA sur un Wi-Fi médiocre : risque de rester bloqué en magenta, décrit par la communauté ; le DFU USB est alors la sortie de secours.
- Confondre mode DFU (jaune clignotant, SETUP+RESET) et mode listening (cyan, SETUP long) : le premier flashe, le second configure le Wi-Fi.
- Écraser le DCT sans le savoir : la table DCT contient clés de device et identifiants Wi-Fi, elle se flashe séparément.
- Rester sur Device OS 3.x ou 1.x : hors support, la fiche recommande la 2.x LTS.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.inoArduinobouton-evenement.inoArduinofonction-distance.inoArduinocapteur-dht.inoArduinoruban-neopixel.inoArduinopwm-respiration.inoArduino