ESP8266: OTA da firmware originale, senza aprire
Sarebbe comodo, in molte situazioni, poter sostituire il firmware originale con il proprio senza dover aprire la scatola del dispositivo. E talvolta è possibile.
Ho trovato due progetti che fanno proprio questo. Si tratta di TasmOTA (per device gestiti da eWeLink) e TuyaConvert (per dispositivi gestiti con Tuya).
Il principio di funzionamento è lo stesso per entrambi: creano una rete wifi "trappola" per il device da riprogrammare, con un server web che implementa l'interfaccia minima necessaria a far credere al device che si sta connettendo al suo cloud, e passargli un nuovo file immagine da caricare.
Purtroppo gli utlimi aggiornamenti di entrambi i firmware hanno implementato delle contromisure per impedire questa intercettazione, quindi se un device ha un firmware Itead 1.6 o successivo, o ha ricevuto la patch rilasciata da Tuya, non potrà essere aggiornato comodamente ma sarà necessario aprirlo.
La cosa assurda, soprattutto per Itead, è che si professano a supporto dell'open source... Bah!
Interessante anche il progetto MockTuyaCloud, che oltre a permettere la sostituzione del firmware come gli altri due, emula il servizio di Tuya. Purtroppo anche lui è vittima del certificate-pinning e quindi funzionerà solo con device non aggiornati.
Una vera sorpresa è stata trovare TuyOTA che, una volta installato su un RPi (quello vecchio con 512M di RAM!) mi ha tranquillamente convertito le prese BlitzWolf. Anche lui, però, ha fallito con la Digoo e con la Teckin. E con la BW-SHP6 sembrava che riuscisse salvo poi bloccarsi al FinalStage, così ho dovuto aprirla.