EscuelaConectada — Actualizar Firmware

← Volver al instalador

Guía de actualización de firmware

Cómo compilar, empaquetar y publicar nuevas versiones del firmware para los tres tipos de dispositivos.

1

Dispositivos y su firmware

Cada dispositivo tiene su propio proyecto ESP-IDF y binarios independientes

End Device — XIAO ESP32-C6

Lector RFID de puerta. Repo: ED-C6/ · Binario principal: escuela_conectada.bin

Border Router — ESP32 WROOM

Puente Thread ↔ WiFi ↔ Cloud. Repo: BR-ESP32/ · Binario principal: esp_ot_br.bin

Radio Co-Processor — XIAO ESP32-C6

Radio IEEE 802.15.4 del Border Router. Repo: RCP_C6/ · Binario principal: esp_ot_rcp.bin

2

Compilar nuevo firmware

Requiere ESP-IDF 5.4 instalado y activado

💡 Activa el entorno ESP-IDF antes de compilar: source ~/esp/esp-idf/export.sh
End Device (ED-C6/)
# Desde la raíz del proyecto
cd ED-C6
idf.py build
Border Router (BR-ESP32/)
cd BR-ESP32
idf.py build
Radio Co-Processor (RCP_C6/)
cd RCP_C6
idf.py build
3

Copiar binarios al instalador

Los binarios deben copiarse a platform/apps/flasher/firmware/

Copiar los 3 dispositivos de una vez
# End Device
cp ED-C6/build/bootloader/bootloader.bin        platform/apps/flasher/firmware/ed/
cp ED-C6/build/partition_table/partition-table.bin platform/apps/flasher/firmware/ed/
cp ED-C6/build/escuela_conectada.bin               platform/apps/flasher/firmware/ed/

# Border Router
cp BR-ESP32/build/bootloader/bootloader.bin         platform/apps/flasher/firmware/br/
cp BR-ESP32/build/partition_table/partition-table.bin platform/apps/flasher/firmware/br/
cp BR-ESP32/build/esp_ot_br.bin                     platform/apps/flasher/firmware/br/

# Radio Co-Processor
cp RCP_C6/build/bootloader/bootloader.bin            platform/apps/flasher/firmware/rcp/
cp RCP_C6/build/partition_table/partition-table.bin  platform/apps/flasher/firmware/rcp/
cp RCP_C6/build/esp_ot_rcp.bin                       platform/apps/flasher/firmware/rcp/
4

Publicar binarios en Cloudflare R2

Los binarios se sirven desde R2. No hay que hacer git push para actualizar firmware.

Subir los 3 firmwares a R2 (desde EscuelaConectada/)
# End Device
wrangler r2 object put escuela-conectada/firmware/ed/latest/bootloader.bin       --file ED-C6/build/bootloader/bootloader.bin
wrangler r2 object put escuela-conectada/firmware/ed/latest/partition-table.bin   --file ED-C6/build/partition_table/partition-table.bin
wrangler r2 object put escuela-conectada/firmware/ed/latest/escuela_conectada.bin  --file ED-C6/build/escuela_conectada.bin

# Border Router
wrangler r2 object put escuela-conectada/firmware/br/latest/bootloader.bin       --file BR-ESP32/build/bootloader/bootloader.bin
wrangler r2 object put escuela-conectada/firmware/br/latest/partition-table.bin   --file BR-ESP32/build/partition_table/partition-table.bin
wrangler r2 object put escuela-conectada/firmware/br/latest/esp_ot_br.bin          --file BR-ESP32/build/esp_ot_br.bin

# Radio Co-Processor
wrangler r2 object put escuela-conectada/firmware/rcp/latest/bootloader.bin      --file RCP_C6/build/bootloader/bootloader.bin
wrangler r2 object put escuela-conectada/firmware/rcp/latest/partition-table.bin  --file RCP_C6/build/partition_table/partition-table.bin
wrangler r2 object put escuela-conectada/firmware/rcp/latest/esp_ot_rcp.bin        --file RCP_C6/build/esp_ot_rcp.bin
Los binarios en R2 se sirven de inmediato. El instalador web descarga siempre la versión latest/ sin necesidad de redeploy.
5

Referencia de binarios y offsets

Offsets usados en los manifests para esp-web-tools

Dispositivo Archivo Offset Notas
End Device
ESP32-C6
bootloader.bin 0x0000 C6 arranca desde 0x0
partition-table.bin 0x8000
escuela_conectada.bin 0x10000 App principal
Border Router
ESP32
bootloader.bin 0x1000 ESP32 arranca desde 0x1000
partition-table.bin 0x8000
esp_ot_br.bin 0x10000 App principal
RCP
ESP32-C6
bootloader.bin 0x0000 C6 arranca desde 0x0
partition-table.bin 0x8000
esp_ot_rcp.bin 0x10000 Radio co-processor
⚠️
Al flashear el RCP: el Border Router debe estar apagado o el XIAO C6 desconectado del ESP32 durante el flash. Reconecta el cable UART después de completar el proceso y reinicia el Border Router.