Ciabatta Yuanguo
Un bell'oggetto, ben fatto. 4 prese controllabili (in gruppo o singolarmente, con pulsanti) e 2 porte USB (sempre attive).
Presa in offerta su Amazon a circa 35€.
L'apertura è abbastanza semplice, basta togliere le 6 viti (con un cacciavite a punta triangolare da 2.3mm) poste sotto i piedini in gomma e inserire delicatamente il cacciavite (o un plettro, o una carta fedeltà...) lungo i lati lunghi per far scattare i 4 dentini di fermo. Si arriva così a vedere una realizzazione "pulita" e direi "da manuale" di come dovrebbe essere una presa controllata:
Due barre di rame di buona sezione distribuiscono terra e neutro, mentre la fase va prima al termico di protezione e poi al PCB (su una pista bella larga), poi procede da un relè al successivo con una serie di ponticelli con filo da 2.5mmq. L'uscita dei relè viene portata alle prese con un'aletta di rame.
Per poter smontare il PCB è sufficiente rimuovere le viti (con testa a croce) del PCB stesso, della barra di neutro, delle 4 fasi e del fermo del cavo di alimentazione. Con delicatezza si può poi sollevare il PCB ed arrivare al modulino WiFi, un TYWE3S (uguale all'ESP12). La scheda usata per montarlo in verticale ha anche le 5 piazzole di programmazione opportunamente etichettate.
Il reversing delle connessioni è stato abbastanza semplice, usando il tester:
- IO0 = tasto generale
- IO1 (TXD) = S4
- IO3 (RXD) = RL4
- IO4 = S3
- IO5 = S2
- IO12 = S1
- IO13 = RL2
- IO14 = RL1
- IO15 = RL3
- IO16 = Led blu (stato WiFi)
I LED dei relè si accendono quando il relè è attivo (chiuso) e non è possibile pilotarli separatamente. "Furbo" l'uso di TXD come ingresso e RXD come uscita: in questo modo, i messaggi che l'ESP genera al boot non attivano il relè.
Il modulo, come al solito, dispone solo di 1M di flash:
$ python esptool.py -p /dev/ttyUSB1 flash_id esptool.py v2.5.1-dev Serial port /dev/ttyUSB1 Connecting.... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi MAC: 84:f3:eb:*:*:* Uploading stub... Running stub... Stub running... Manufacturer: c8 Device: 4014 Detected flash size: 1MB Hard resetting via RTS pin...
Visto che sono collegato tramite le apposite piazzole, con una "pinza" dotata di pogo-pin, effettuo anche un backup della flash (non si sa mai):
$ python esptool.py -p /dev/ttyUSB1 read_flash 0 $((1024*1024)) ciabatta.bin esptool.py v2.5.1-dev Serial port /dev/ttyUSB1 Connecting.... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi MAC: 84:f3:eb:*:*:* Uploading stub... Running stub... Stub running... 1048576 (100 %) 1048576 (100 %) Read 1048576 bytes at 0x0 in 93.9 seconds (89.4 kbit/s)... Hard resetting via RTS pin...
Tuya-convert per il momento permette di flashare Tasmota senza problemi. Per chi volesse usarlo, però, oltre alla configurazione "base":
è necessario creare una regola per ripristinare anche la funzionalità del tasto principale (on/off globale e accesso alla configurazione). Non conosco abbastanza TasmOTA da indicare come farlo.
Commenti
In uso
Ora l'ho finalmente messa in uso per gestire il reset "hard" dei device di rete.
Il problema è che se spengo via rete il FritzBox, poi non posso riaccenderlo (a meno di non avere un secondo AP...).
Per questo ho aggiunto una semplice regola dalla console di Tasmota (la prima parte è tutta su una riga!):
In parole povere:
Inoltre ho usato GPIO2 (D4) per evitare che il tasto principale commutasse la prima uscita, così posso utilizzarlo per altro. Dovrebbe essere possibile ottenere lo stesso risultato con altri metodi, ma risultano troppo macchinosi. Sicuramente perché non conosco ancora abbastanza Tasmota.