Sommario:
- Passaggio 1: hacking dell'hardware
- Passaggio 2: preparazione all'hacking del software
- Passaggio 3: lampeggiante
Video: Come eseguire il flashing del firmware MicroPython su uno smart switch Sonoff basato su ESP8266: 3 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:05
Cos'è Sonoff?
Sonoff è una linea di dispositivi per Smart Home sviluppata da ITEAD. Uno dei dispositivi più flessibili ed economici di quella linea sono Sonoff Basic e Sonoff Dual. Questi sono switch abilitati Wi-Fi basati su un ottimo chip, ESP8266. Sebbene l'infrastruttura Sonoff possa funzionare abbastanza bene per gli utenti di base, altri potrebbero voler hackerare quell'hardware ed eseguire il proprio codice su di esso. L'hardware di Sonoff Smart Switch è sorprendente, considerando il suo prezzo basso:
- ESP8266 con 1 MB di flash
- Adattatore di alimentazione integrato 220V AC
- Relè 10A (o due in Sonoff Dual)
- LED integrato (o due in Sonoff Dual)
- Pulsante integrato
Se vuoi avere il pieno controllo di questo hardware usando il tuo linguaggio di programmazione preferito, questo tutorial fa per te.
Passaggio 1: hacking dell'hardware
ESP8266 è programmato tramite la porta seriale. Sia Sonoff Basic che Sonoff Dual lo hanno sul PCD.
Potrebbe essere necessario saldare un'intestazione del pin sul PCB per collegare facilmente un adattatore USB-UART.
Passaggio 2: preparazione all'hacking del software
Amo Python, quindi userò il firmware MicroPython. Puoi anche utilizzare qualsiasi SDK supportato. Procediamo al flashing di MicroPython invece del firmware proprietario Sonoff:
Installa il pacchetto esptool python che semplifica il flashing di ESP8266:
pip install esptool
Scarica l'ultimo firmware stabile di MicroPython dalla pagina dei download di MicroPython. Collega un adattatore USB-UART alla scheda. Per sicurezza, si consiglia di alimentare la scheda dall'adattatore invece che dalla presa 220V AC. Nota che puoi usare solo 3,3 V, se colleghi il chip ESP8266 a una fonte di alimentazione da 5 V, morirà.
Avvia ESP8266 in modalità Flash. Puoi farlo abbassando il pin GPIO0 mentre accendi il dispositivo:
- Su Sonoff Basic, il GPIO0 è semplicemente il pulsante. Collega l'adattatore USB-UART al PC tenendo premuto il pulsante e sei in modalità Flash.
- Su Sonoff Dual, le cose sono un po' più difficili. È necessario cortocircuitare due pad sul PCB mentre si alimenta la scheda. Le pastiglie necessarie sono mostrate nell'immagine sopra. Usa delle pinzette o salda un piccolo filo tra di loro.
Quando ESP8266 è in modalità Flash, il LED della scheda non dovrebbe lampeggiare.
Assicurati di poter accedere alla porta seriale aperta dall'adattatore USB-UART. Su Linux è probabilmente \dev\ttyUSB0, su Mac dovresti cercare qualcosa come "usbserial" o "usbmodem" nell'output del comando ls \dev\cu.* o ls \dev\tty.*, su Windows dovrebbe essere COM3 o più alto. Se necessario, installare i driver dell'adattatore USB-UART.
Cancella il flash usando esptool. Sostituisci /dev/ttyUSB0 per la tua porta, se necessario:
esptool.py --port /dev/ttyUSB0 erase_flash
Potrebbe essere necessario eseguire esptool.py come superutente per accedere alla porta seriale.
Passaggio 3: lampeggiante
Se la cancellazione ha avuto successo, togliere l'alimentazione alla scheda, riavviare ESP8266 in modalità Flash e flashare il firmware:
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 esp8266-20170823-v1.9.2.bin
Se il lampeggio è andato a buon fine togliere l'alimentazione alla scheda, ricollegarla senza premere il pulsante e aprire la porta seriale in un terminale. Su Linux e Mac puoi usare screen /dev/ttyUSB0 115200 (sostituisci /dev/ttyUSB0 per la tua porta se necessario), su Windows puoi usare PuTTY (il baud rate predefinito è 115200). Una volta connesso, premi Invio e se vedi tre parentesi angolari della shell Python, allora tutto funziona!
>> >>> aiuto() Benvenuto in MicroPython! Per i documenti online, visitare https://docs.micropython.org/en/latest/esp8266/. Per informazioni diagnostiche da includere nelle segnalazioni di bug, eseguire 'import port_diag'. Configurazione WiFi di base: import network sta_if = network. WLAN(network. STA_IF); sta_if.active(True) sta_if.scan() # Cerca punti di accesso disponibili sta_if.connect("", "") # Connetti a un AP sta_if.isconnected() # Verifica la connessione con successo # Cambia nome/password dell'AP di ESP8266: ap_if = network. WLAN(network. AP_IF) ap_if.config(essid="", authmode=network. AUTH_WPA_WPA2_PSK, password="") Comandi di controllo: CTRL-A -- su una riga vuota, inserisci la modalità REPL non elaborata CTRL- B -- su una riga vuota, entra in modalità REPL normale CTRL-C -- interrompe un programma in esecuzione CTRL-D -- su una riga vuota, effettua un soft reset della scheda CTRL-E -- su una riga vuota, digita incolla mode Per ulteriore aiuto su un oggetto specifico, digita help(obj) >>>
Nella prossima istruzione, descriveremo come interagire con la piattaforma Cloud4RPi tramite un protocollo MQTT.
Consigliato:
Come eseguire il flashing o programmare il firmware ESP8266 AT utilizzando ESP8266 Flasher and Programmer, modulo IOT Wifi: 6 passaggi
Come eseguire il flashing o programmare il firmware ESP8266 AT utilizzando ESP8266 Flasher and Programmer, modulo IOT Wifi: Descrizione: questo modulo è un adattatore/programmatore USB per moduli ESP8266 di tipo ESP-01 o ESP-01S. È convenientemente dotato di un connettore femmina 2x4P da 2,54 mm per collegare ESP01. Inoltre rompe tutti i pin dell'ESP-01 tramite un 2x4P 2,54 mm maschio h
Come eseguire il backup del firmware originale di Esp8266EX o Esp-01: 4 passaggi
Come eseguire il backup del firmware originale di Esp8266EX o Esp-01: perché? il backup del firmware originale è importante. ans più semplice è = l'originale è originale In questo tutorial ti mostrerò come eseguire il backup del firmware originale di esp8266ex. ESP8266EX è un microchip Wi-Fi a basso costo con stack TCP/IP completo e microcontrollo
Generatore musicale basato sulle condizioni meteorologiche (generatore MIDI basato su ESP8266): 4 passaggi (con immagini)
Generatore di musica basato sul tempo (Generatore MIDI basato su ESP8266): Ciao, oggi spiegherò come creare il tuo piccolo generatore di musica basato sul tempo. È basato su un ESP8266, che è un po' come un Arduino, e risponde alla temperatura, alla pioggia e l'intensità della luce. Non aspettarti che produca intere canzoni o programmi di accordi
Usa il firmware di Homie per pilotare il modulo switch Sonoff (basato su ESP8266): 5 passaggi (con immagini)
Usa il firmware Homie per pilotare il modulo switch Sonoff (basato su ESP8266): questo è un follower istruibile, l'ho scritto un po' dopo "Building Homie Devices for IoT or Home Automation". Il secondo si è concentrato sul monitoraggio di base (DHT22, DS18B20, light) attorno alle schede D1 Mini. Questa volta, vorrei mostrar
Come controllare Sonoff Basic Smart Switch basato su ESP8266 con uno smartphone: 4 passaggi (con immagini)
Come controllare Sonoff Basic Smart Switch basato su ESP8266 con uno smartphone: Sonoff è una linea di dispositivi per Smart Home sviluppata da ITEAD. Uno dei dispositivi più flessibili ed economici di quella linea è Sonoff Basic. È uno switch abilitato Wi-Fi basato su un ottimo chip, ESP8266. Questo articolo descrive come impostare il Cl