Sonde IoT SARIAL: come funzionano e come si installano in 30 secondi
Le sonde IoT SARIAL sono datalogger ESP32 con sensore DS18B20 di precisione (±0,5 °C). Si collegano al Wi-Fi del locale e inviano le temperature al backend SARIAL via HTTPS ogni 60 secondi.
Architettura HTTPS-only (v3.4)
Dalla versione 3.4 le sonde parlano direttamente al backend SARIAL via HTTPS, sulla porta 443. Nessun broker MQTT, nessuna configurazione di rete avanzata, nessuna apertura di porte sul router del ristorante. Funziona anche su reti CGNAT (la maggior parte dei contratti business consumer).
Endpoint dedicato: iot.sarial.it
Le sonde puntano a https://iot.sarial.it/api — host brandato IoT, separato dalla webapp utente app.sarial.it. Stesso backend, stesso certificato Let's Encrypt, ma indirizzo stabile nel tempo: anche se domani SARIAL migra la webapp su un altro provider, il fleet di sonde non si tocca. Le sonde flashate con firmware precedente continuano a funzionare su app.sarial.it finché entrambi i DNS sono attivi.
Installazione in 30 secondi
- L'amministratore SARIAL genera un Claim Code (8 caratteri, valido 15 min).
- Il tecnico accende la sonda: viene creata una Wi-Fi
SARIAL-XXXX(passwordsarial-setup). - Connessione dal telefono: si apre il captive portal.
- Inserisce SSID del ristorante + password + Claim Code.
- Salva. La sonda fa claim, riceve la chiave API e inizia a inviare temperature.
In 1-2 minuti la sonda risulta ONLINE in piattaforma con la prima temperatura registrata.
Robustezza in produzione
- Coda offline: se la connessione cade, le temperature si accumulano in memoria flash (LittleFS, ~6 ore di storia) e si scaricano quando la rete torna.
- Watchdog hardware: se il firmware si blocca, l'ESP32 si riavvia da solo entro 5 minuti.
- Auto-recovery 401: se la chiave API scade o viene rigenerata, la sonda non resta offline silente — torna automaticamente in stato di attesa con allarme visibile.
- Soft-restart se ingest morto: se per 30 min non riesce a inviare nulla, riavvia il modulo Wi-Fi per recuperare da hang silenti.