Update FW ricevitore

Avvertimento

Licenza commerciale. Per ricevere accesso al canale di aggiornamento contatta solutop@gmail.com

Nota

Pagina dedicata al firmware del microcontrollore ESP32 del ricevitore.

Per aggiornare il firmware del **modulo GNSS ** (firmware del modulo GNSS) vedi Update FW modulo GNSS.

Come funziona

Il firmware del ricevitore MS2-Pro si aggiorna via WiFi scaricando l’ultima release dal repository ufficiale:

Il sistema usa una partition table dual-bank:

  • Il firmware aggiornato viene scaricato nella partizione inattiva.
  • Al primo boot dalla nuova partizione, il firmware viene marcato come «valido» solo dopo 30 secondi di funzionamento stabile.
  • In caso di crash entro 30 secondi, il bootloader fa rollback automatico alla partizione precedente.

Tradotto: anche se la nuova versione avesse un bug critico, il ricevitore torna da solo alla versione precedente che funzionava.

Prerequisiti

  1. Ricevitore in modalità WIFI.
    • Cambia modalità con il gesto HOLD + 3 bip sul pulsante (rilascia al terzo bip per WIFI), oppure dal menu [t] Radio. Vedi Modalità radio (SRA).
  2. WiFi configurato e connesso alla rete locale con internet.
    • Verifica nel menu principale la riga Online: WiFi+... e l’indirizzo IP assegnato.
    • Se non configurato → vai al menu [w] Network e imposta SSID/password.
  3. Accesso al menu del ricevitore via:
    • Telnet o socat su TCP porta 2947 (in modalità WIFI). Vedi Menu via WiFi (TCP).
    • App SPP/BLE su cellulare (se non sei in WIFI).

Procedura di aggiornamento

  1. Apri il menu del ricevitore.

    socat - TCP:<ip-ricevitore>:2947
    

    Poi digita +++ per entrare nel menu.

  2. Premi [u] per accedere al menu OTA:

    === OTA update ===
    
    [l] Scarica e installa l'ultima versione
    [r] Lista release (scegli versione specifica)
    [x] Annulla
    >
    
  3. Scegli l’azione:

    • [l] — installa l”ultima versione disponibile sul repository (consigliato)
    • [r] — mostra l’elenco delle release, scegli una versione specifica
    • [x] — annulla e torna al menu
  4. Conferma con Y quando richiesto.

  5. Il ricevitore mostra una barra di avanzamento:

    [OTA start: v3.0.0, NON spegnere]
    OTA: 5% (88/1759 KB)
    OTA: 10% (177/1759 KB)
    ...
    OTA: 100% (1759/1759 KB)
    
    *** OTA OK: nuovo firmware installato ***
    Riavvio in 1.5 s...
    
  6. Il ricevitore si riavvia automaticamente. Attendi ~15 secondi che il WiFi si riconnetta.

  7. Verifica nel menu principale che la versione sia aggiornata (riga Version:).

Avvertimento

Non spegnere il ricevitore durante il download/installazione (~2-3 minuti totali). Lo stacco di alimentazione a metà OTA non causa danni permanenti (rollback automatico) ma rallenta l’operazione.

Lista release — esempio

Premendo [r] il ricevitore interroga le API GitHub e mostra la lista:

=== Release disponibili ===
[1] v3.0.0  (2026-05-02, 1.81 MB)
[2] v3.0.1  (2026-05-15, 1.82 MB)
[3] v3.0.2  (2026-05-20, 1.82 MB)
...
[x] Annulla
Scegli numero release: >

Digita il numero della release desiderata e premi Invio. Funziona sia per upgrade che per downgrade verso versioni precedenti.

Sicurezza e verifica

  • Connessione HTTPS con verifica certificato GitHub (Mozilla CA bundle integrato nel firmware).
  • Validazione binario lato bootloader (header magic, hash SHA-256).
  • Rollback automatico se il firmware non si stabilizza entro 30 s.
  • Le credenziali salvate (WiFi, NTRIP, MQTT, ecc.) sono mantenute attraverso l’aggiornamento. Non perdi le configurazioni.

Cleanup automatico

Prima del reboot finale, il firmware:

  • Chiude le connessioni TCP dei client PVT in modo pulito (FIN, no timeout).
  • Pubblica {"alive":false} retained su MQTT (last-will).
  • Chiude le connessioni NTRIP in modo graceful.
  • Effettua flush dei buffer SD per non perdere gli ultimi dati registrati.

Risultato: niente client «zombie» lato server, niente perdita di dati durante l’aggiornamento.

Troubleshooting

OTA fallisce con «Host unreachable»
WiFi non connesso o internet non disponibile. Verifica [w] Network → riga Online: WiFi+... deve mostrare l’IP.
OTA fallisce con «401 Unauthorized» o simili
Repository GitHub temporaneamente irraggiungibile (rate-limit IP). Riprova fra qualche minuto.
OTA completa ma il ricevitore non boota
Niente paura: rollback automatico dopo ~30 secondi. Il firmware precedente torna attivo da solo.
Voglio una versione che non vedo in lista
La lista mostra le ultime 30 release. Per accedere a release più vecchie scrivi all’assistenza (solutop@gmail.com).
Voglio una build di sviluppo / beta
Le pre-release non sono visibili da [r] Lista. Contatta l’assistenza per ricevere una build specifica.