Kako bljeskati firmver MicroPython na Sonoff pametnom prekidaču temeljenom na ESP8266: 3 koraka (sa slikama)
Kako bljeskati firmver MicroPython na Sonoff pametnom prekidaču temeljenom na ESP8266: 3 koraka (sa slikama)
Anonim
Kako bljeskati MicroPython firmver na ESP8266 temeljenom Sonoff pametnom prekidaču
Kako bljeskati MicroPython firmver na ESP8266 temeljenom Sonoff pametnom prekidaču

Što je Sonoff?

Sonoff je linija uređaja za pametnu kuću koju je razvio ITEAD. Jedan od najfleksibilnijih i najjeftinijih uređaja iz te linije su Sonoff Basic i Sonoff Dual. Ovo su prekidači s omogućenim Wi-Fi-jem temeljeni na izvrsnom čipu, ESP8266. Iako Sonoffova infrastruktura može dobro funkcionirati za osnovne korisnike, drugi bi možda htjeli hakirati taj hardver i na njemu pokrenuti vlastiti kod. Hardver Sonoff pametnih prekidača nevjerojatan je s obzirom na njegovu nisku cijenu:

  • ESP8266 s bljeskalicom od 1 MB
  • 220V AC integrirani adapter za napajanje
  • Relej 10A (ili dva u Sonoff Dual -u)
  • Ugrađena LED dioda (ili dvije u Sonoff Dual -u)
  • Ugrađeno dugme

Ako želite preuzeti potpunu kontrolu nad ovim hardverom koristeći svoj omiljeni programski jezik, ovaj je vodič za vas.

1. korak: Hakiranje hardvera

Hakiranje hardvera
Hakiranje hardvera
Hakiranje hardvera
Hakiranje hardvera
Hakiranje hardvera
Hakiranje hardvera

ESP8266 je programiran preko serijskog porta. I Sonoff Basic i Sonoff Dual imaju ga na PCD -u.

Za jednostavno povezivanje USB-UART adaptera možda ćete morati lemiti pin zaglavlje na PCB.

Korak 2: Priprema za hakiranje softvera

Priprema za hakiranje softvera
Priprema za hakiranje softvera

Volim Python, pa ću upotrijebiti MicroPython firmware. Također možete koristiti bilo koji podržani SDK. Nastavimo s bljeskanjem MicroPythona umjesto vlasničkog firmvera Sonoff:

Instalirajte paket esptool python koji olakšava bljeskanje ESP8266:

pip install esptool

Preuzmite najnoviji stabilan firmver MicroPython sa stranice za preuzimanje MicroPythona. Spojite USB-UART adapter na ploču. Radi sigurnosti, preporučuje se napajanje ploče iz adaptera umjesto iz utičnice na 220 V izmjenične struje. Imajte na umu da smijete koristiti samo 3,3 V, ako spojite čip ESP8266 na izvor napajanja od 5 V, on će umrijeti.

Pokrenite ESP8266 u Flash način rada. To možete učiniti povlačenjem GPIO0 pina dok uključujete uređaj:

  • Na Sonoff Basicu GPIO0 je jednostavno gumb. Spojite USB-UART adapter na računalo dok držite tipku i nalazite se u Flash modu.
  • Na Sonoffu Dualu stvari su malo teže. Prilikom napajanja ploče morate spojiti dva jastučića na PCB -u. Potrebni jastučići prikazani su na gornjoj slici. Upotrijebite pincetu ili zalemite malu žicu između njih.

Kada je ESP8266 u načinu rada bljeskalice, LED dioda ploče ne bi trebala treptati.

Provjerite možete li pristupiti serijskom portu koji otvara USB-UART adapter. Na Linuxu je to vjerojatno / dev / ttyUSB0, na Macu biste trebali tražiti nešto poput "usbserial" ili "usbmodem" u ispisu naredbi ls / dev / cu.* Ili ls / dev / tty.*, U sustavu Windows to bi trebao biti COM3 ili više. Ako je potrebno, instalirajte upravljačke programe za USB-UART adapter.

Izbrišite bljeskalicu pomoću esptoola. Zamijenite /dev /ttyUSB0 za vaš port ako je potrebno:

esptool.py --port /dev /ttyUSB0 erase_flash

Možda ćete morati pokrenuti esptool.py kao superkorisnik za pristup serijskom portu.

Korak 3: Treperi

Treperi
Treperi

Ako je brisanje bilo uspješno, isključite napajanje ploče, ponovno pokrenite ESP8266 u Flash modu i bljesnite svoj firmver:

esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash --flash_size = detektiraj 0 esp8266-20170823-v1.9.2.bin

Ako je treptanje bilo uspješno, isključite napajanje ploče, ponovno je spojite bez pritiskanja tipke i otvorite serijski priključak na terminalu. Na Linuxu i Macu možete koristiti screen /dev /ttyUSB0 115200 (zamijenite /dev /ttyUSB0 za vaš port ako je potrebno), na Windowsima možete koristiti PuTTY (zadana brzina prijenosa je 115200). Nakon što se povežete, pritisnite Enter, a ako vidite tri kutne zagrade Python ljuske, onda sve funkcionira!

>> >>> help () Dobro došli na MicroPython! Za internetske dokumente posjetite https://docs.micropython.org/en/latest/esp8266/. Da biste dijagnostičke informacije uključili u izvješća o greškama, izvedite 'import port_diag'. Osnovna WiFi konfiguracija: uvoz mreže sta_if = mreža. WLAN (mreža. STA_IF); sta_if.active (True) sta_if.scan () # Potražite dostupne pristupne točke sta_if.connect ("", "") # Povežite se s pristupnom točkom sta_if.isconnected () # Provjerite uspješno povezivanje # Promijenite ime/lozinku AP -a ESP8266: ap_if = network. WLAN (network. AP_IF) ap_if.config (essid = "", authmode = network. AUTH_WPA_WPA2_PSK, password = "") Kontrolne naredbe: CTRL-A-u prazan redak, unesite neobrađeni način REPL CTRL- B-na prazan redak, unesite normalni REPL način rada CTRL-C-prekinite pokrenuti program CTRL-D-na prazan redak, izvršite meko resetiranje ploče CTRL-E-na prazan redak, unesite zalijepi mode Za daljnju pomoć o određenom objektu upišite help (obj) >>>

U sljedećim uputama opisat ćemo kako komunicirati s platformom Cloud4RPi putem MQTT protokola.

Preporučeni: