
Mettere Tasmota in un SonOff con un Raspberry Pi
Bene, dopo un po' di armeggiare con questi meravigliosi dispositivi, volevo condividere con te alcuni passaggi di cui potresti aver bisogno. I SonOff sono piccoli moduli Wifi basati su ESP8266 con un relè. Ideale per il controllo remoto di una lampada… o qualsiasi cosa di cui abbiamo bisogno per spegnere e riaccendere da remoto. In questo post vedremo come flasharli e cambiare il firmware e installare Tasmota con un Raspberry Pi; sinceramente, L'ho trovata l'opzione più semplice di tutte quelle che ho provato e funziona con tutti i SonOff.
Per tutti voi che non conoscete il SonOff, In sintesi, è un relè Wifi, un interruttore che ci permetterà di controllare il dispositivo che ci colleghiamo ad esso, essere lampade, Fanaleria, Porte da garage… tutto ciò che non supera i 10A. La mia esigenza è quella di poterli controllare da un Rasperry Pi o da un computer con linux che ho come controller per casa mia, Smettila più tardi, da cellulare, Da qualsiasi luogo in cui è possibile accendere/spegnere. Se non vogliamo utilizzare un software proprietario, questo non ci dà questa flessibilità, possiamo farli lampeggiare e cambiare l'azienda. Abbiamo altri modi per farli lampeggiare, tradizionale con un dispositivo USB-TTL o con Wifi collegato direttamente a un laptop/PC, ma dal firmware 1.6 La cosa iniziò a complicarsi. Qualcosa che è sempre stato fantastico per me è farlo con un Raspberry Pi, Chi non ne ha uno a portata di mano?
Lasceremo il Raspberry Pi pronto per poterci collegare con esso al ESP8266 e poter modificare il firmware. Se abbiamo un Raspberry Pi appena installato, molto probabilmente dovremo installare pip:
[Codice sorgente]arricciare https://bootstrap.pypa.io/get-pip.py -o get-pip.py && Sudo Python get-pip.py[/Codice sorgente]
Installiamo Esptool, uno strumento python necessario per caricare la ROM nel ESP8266:
[Codice sorgente]sudo pip installare esptool[/Codice sorgente]
Dobbiamo fermare e disabilitare Getty:
[Codice sorgente]sudo systemctl stop si**********@tt***.serviDopo Cristo
sudo systemctl disabilita si**********@tt***.serviDopo Cristo[/Codice sorgente]
Abbiamo rimosso il comando che effettua il caricamento TTL, Cancelliamo il testo “console=seriale0,115200′ file “/stivale/cmdline.txt”
Ultimo, abilitare il terminale seriale modificando il ”stivale/config.txt', aggiungiamo alla fine: “enable_uart=1” e spegni il Raspberry:
[Codice sorgente]sudo shutdown -h ora[/Codice sorgente]
Non male, Ora è il momento di qualcosa di semplice, sarà quello di aprire con cautela il dispositivo SonOff (ovviamente scollegato dall'alimentazione), e luogo 4 cavi ai GPIO del Raspberry Pi come segue:
Il cavo di alimentazione che va ai 3,3 V del Raspberry Pi dovrà essere in grado di collegarlo e scollegarlo comodamente, in quanto sarà necessario quando vogliamo attivare o disattivare il SonOff. Bene, riavviamo il Pi quando tutto è collegato (Tranne 3,3 V).
Scarichiamo il firmware Tasmota con:
[Codice sorgente]wget https://github.com/arendst/Sonoff-Tasmota/releases/download/v6.2.1/sonoff.bin[/Codice sorgente]
La prima cosa che faremo e senza paura, cancellerà il ricordo della ESP8266 di Sonoff, dovremo tenere premuto il pulsante di commutazione del SonOff per alcuni 7 secondi durante il collegamento del cavo da 3.3 V al Pi. E noi eseguiremo:
[Codice sorgente]Se usiamo un Pi1 o Pi2: esptool.py –porta /dev/ttyAMA0 erase_flash
Se usiamo un Pi3: esptool.py –porta /dev/ttyS0 erase_flash[/Codice sorgente]
Al termine del processo, Scollegheremo il cavo da 3,3 V dal Raspberry, Aspettiamo un paio di secondi e ripetiamo il processo, collegare il 3.3 V e premere il pulsante dell'interruttore SonOff per alcuni anni. 7 Secondi. Ora installeremo il firmware che abbiamo appena scartato da Tasmota:
[Codice sorgente]Se usiamo un Pi1 o Pi2: esptool.py –porta /dev/ttyAMA0 write_flash -fm dout 0x0 /home/pi/sonoff.bin
Se usiamo un Pi3: esptool.py –port /dev/ttyS0 write_flash -fm dout 0x0 /home/pi/sonoff.bin[/Codice sorgente]
Una volta installato il nuovo firmware, Scolleghiamo il cavo da 3,3 V e lo ricolleghiamo, una volta avviato, ci collegheremo ad esso e configureremo l'accesso Wifi.
[Codice sorgente]Se usiamo un Pi1 o Pi2: miniterm.py /dev/ttyAMA0 115200 -e
Se usiamo un Pi3: miniterm.py /dev/ttyS0 115200 -e[/Codice sorgente]
Creare un punto di accesso, quando ci connettiamo al loro Wi-Fi, apriranno il browser direttamente contro l'indirizzo IP del dispositivo.
Possiamo semplicemente configurare i parametri di rete, indichiamo il nome della nostra rete Wi-Fi di casa o dell'ufficio e la password. Attenzione, deve essere WiFi a 2.4 GHz e non a 5 GHz che non è supportato. Registriamo e basta.! Saremo in grado di riavviare nuovamente il dispositivo SonOff e vedere che si connette perfettamente alla nostra rete Wi-Fi.
Saremo in grado di aprire un browser contro l'indirizzo IP che è stato preso dal DHCP e avremo Tasmota, possiamo usarlo per qualsiasi cosa. In altri post vedremo altri firmware, ma questo mi serve perfettamente per attivare o disattivare il SonOff da remoto con Raspberry Pi o qualsiasi linux.
Se vogliamo impostare un indirizzo IP in Tasmota, Dobbiamo farlo attraverso il browser, indicando il seguente URL:
[Codice sorgente]Protocollo HTTP://DIRECCION_IP_ACTUAL/cm?cmnd=IPAddress1 DIRECCION_IP:DESIDERATO&cmnd=IPAddress2 PUERTA_DE_ENLACE&cmnd=IPAddress3 MASCARA_SUBRED&cmnd=IPAddress4 DIRECCION_IP_DNS[/Codice sorgente]
E ad esempio con questo comando passeremmo il segnale al SonOff in modo che spenga l'interruttore (La lampada, TV, Cancello per garage… qualunque cosa abbiamo collegato), da un browser:
[Codice sorgente]Protocollo HTTP://DIRECCION_IP/cm?cmnd=Alimentazione Spento[/Codice sorgente]
E direttamente se creiamo uno script bash con questa riga, Durante l'esecuzione faremmo lo stesso del passaggio precedente, Quanto è facile con il ricciolo:
[Codice sorgente]Curl HTTP://DIRECCION_IP/cm?cmnd=Alimentazione Spento[/Codice sorgente]
Se sei curioso, Ecco tutti i comandi che puoi usare: https://github.com/arendst/Sonoff-Tasmota/wiki/Commands