Gli appassionati di elettronica saranno molto interessati di sapere che la maggior parte dei prodotti Xiaomi sono realizzati in maniera tale da non rendere impossibile “l’hackeraggio” e l’installazione di custom firmware. In questo caso intendiamo la parola “hackerare” nel senso buono, ovvero modificarle il firmware per far si che funzioni al meglio per le proprie esigenze. Girovagando nel sito web Hackday ci siamo imbattuti in un progetto davvero interessante che spiega come installare un custom firmware su di un termometro Xiaomi LYWSD03MMC.
Per soli 4 dollari ciascuno, il termometro Xiaomi si ha un elegante sensore ad alta efficienza energetica con un LCD integrato che trasmette la temperatura e l’umidità correnti tramite Bluetooth Low Energy. Probabilmente si potrebbe realizzare in casa assemblandolo da se… ma perché?
È praticamente la piattaforma ideale per configurare un sistema di monitoraggio ambientale per tutta la casa tranne che per un dettaglio: è progettato per funzionare come parte del sistema domotico di Xiaomi e non necessariamente le configurazioni combinate che i più smanettoni hanno in casa (ci viene in mente ad esempio Home Assistant).
Ma questo era prima che Aaron Christophel entrasse nel caso. Il mese scorso sono emerse le prime evidenze del suo ambizioso progetto di creare un firmware open source per questi sensori a basso costo, e non sorprende che abbia suscitato un certo interesse. Credendo che un progetto così ben fatto meritasse una seconda occhiata, è iniziato lo sviluppo comune di un sistema di hackeraggio del termometro Xiaomi.
Come installare un custom firmware sul termometro Xiaomi LYWSD03MMC
La parte migliore di questo progetto è che non richiede quasi alcuna conoscenza. Di fatto, basta un termometro Xiaomi, una web app e il Bluetooth per poter installare il custom firmware.
In teoria si dovrebbe essere in grado di installare il firmware ATC da qualsiasi computer che esegue un browser Web abbastanza moderno. La soluzione migliore sarà probabilmente uno smartphone o un tablet.
Tutto sommato, il processo di flashing richiede poco meno di un minuto per essere completato. Dopo aver tirato la linguetta sul retro del termometro, bisogna toccare l’icona “Connetti” sulla web app e attendere che venga visualizzato nell’elenco dei dispositivi Bluetooth locali.
Dopo la connessione è necessario premere il pulsante “Attiva”, che apparentemente stabilisce la connessione sicura richiesta dal firmware originale prima di consentire un aggiornamento via OTA.
Una volta completato il processo di attivazione, si seleziona un file binario del firmware, si tocca “Inizia a flashare” e si attende che l’indicatore di avanzamento raggiunga il 100%. Questo richiede circa 30 secondi per terminare, dopodiché il termometro dovrebbe riavviarsi immediatamente con il nuovo firmware.
Se non si riattiva dopo il processo di flash, Aaron dice che si può semplicemente estrarre la batteria e dovrebbe risolversi da solo. In caso di necessità, è possibile utilizzare lo stesso processo per ripristinare il firmware di serie sul dispositivo.
Aaron non ha un’immagine del firmware di serie nel repository GitHub (probabilmente per evitare un reclamo per copyright) ma nella documentazione indica come si può estrarne una copia da un file di aggiornamento ufficiale.
Si tratta di una lama a doppio taglio
Ora, il lettore più attento alla sicurezza potrebbe chiedersi che questo significhi che un nerd militante può andare in giro a modificare i termometri Xiaomi delle persone. Sfortunatamente, è così. Questo strumento consentirà a chiunque si trovi all’interno della portata del Bluetooth di eseguire il flashing di ciò che desidera sul termometro Xiaomi LYWSD03MMC, indipendentemente dal fatto che sia installato o meno un firmware personalizzato.
Ciao a tutti
Ho cambiato il firmware facendolo diventare zigbee. Ora però voglio cambiare gateway e non riesco a rilevarli con il nuovo gateway perché probabilmente risultano ancora accoppiati al vecchio. Ho provato qualsiasi tipo di reset ma nulla. Mi dareste una mano?