🛠 Mises à jour OTA et flash local DFU avec Particle CLI
Objetivos
El bootloader del Boron acepta varias rutas de actualización: OTA a través de la nube de Particle (particle flash remoto), USB en modo DFU, Serial Y-Modem e incluso el re-flasheo de fábrica mediante los botones. Saber alternar entre OTA y DFU es la habilidad absoluta de resolución de problemas: una placa que no arranca, un firmware que falla antes de la conexión a la nube o un dispositivo «brikeado» por descarga profunda se recuperan en DFU. Aprenderá los dos flujos, la gestión de versiones de Device OS (el BRN404X exige la 4.x LTS y no puede ejecutarse bajo la 2.x) y el modo listening para reconfigurar la red.
Material
- 1× Particle Boron + cable micro-USB de datos
- Particle CLI instalado y autenticado (
particle login) - Opcional para la depuración completa: conector SWD de 10 pines + debugger (el Boron expone SWD de forma nativa)
Código completo
El firmware de prueba, deliberadamente verboso para observar cada paso:
// Boron — firmware de test de mise a jour
SYSTEM_THREAD(ENABLED);
SYSTEM_MODE(SEMI_AUTOMATIC);
void setup {
Serial.begin(9600);
Serial.println("Firmware v2 OK"); // changez le numero a chaque flash
Cellular.on;
Cellular.connect;
}
void loop {
if (Cellular.ready) {
Particle.publish("fw", "v2", PRIVATE);
}
delay(300000);
}
Los comandos del flujo:
# 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
Verificación esperada
En OTA: particle flash termina con «Flashing was successful» y el dispositivo vuelve a estar en línea con la nueva versión (nueva línea de serie «Firmware v2 OK», evento fw publicado). En DFU: el LED pasa a amarillo parpadeante antes del flasheo, dfu-util lista el dispositivo (dfu-util -l) y la placa se reinicia con el nuevo firmware. Prueba de recuperación: flashee un firmware que falle y luego recupérelo en DFU: esa es su red de seguridad.
Errores frecuentes
- Confundir listening (cian, reconfiguración de red) y DFU (amarillo, flasheo): los gestos con los botones difieren por la duración de la pulsación de MODE; siga la guía oficial de modos.
- Flashear un firmware compilado para Device OS 2.x/3.x en una BRN404X: incompatible, requiere la 4.0.0+; alinee también toda la flota en una sola versión.
dfu-util: no device matched: cable sin datos, controlador DFM ausente en Windows o modo incorrecto; verifiqueparticle usb dfuy el Administrador de dispositivos.- Desconectar durante la escritura en flash: posible briqueteo lógico; el modo DFU sigue siendo su recurso, tenga a mano un binario de respaldo firmado.
- Confiar en la OTA para un dispositivo que nunca se ha conectado: sin enlace celular (antena, SIM, cobertura), solo funciona la ruta USB.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
clignotante.inoArduinobouton-evenement.inoArduinofonction-distance.inoArduinocapteur-dht.inoArduinoruban-neopixel.inoArduinopwm-respiration.inoArduino