Sadržaj:

Kako fleširati MicroPython firmver na Sonoff pametnom prekidaču zasnovanom na ESP8266: 3 koraka (sa slikama)
Kako fleširati MicroPython firmver na Sonoff pametnom prekidaču zasnovanom na ESP8266: 3 koraka (sa slikama)

Video: Kako fleširati MicroPython firmver na Sonoff pametnom prekidaču zasnovanom na ESP8266: 3 koraka (sa slikama)

Video: Kako fleširati MicroPython firmver na Sonoff pametnom prekidaču zasnovanom na ESP8266: 3 koraka (sa slikama)
Video: 🔶 Flipper Zero Fake Videos | everywhere... #shorts 2024, Decembar
Anonim
Kako fleširati MicroPython firmver na Sonoff pametnom prekidaču zasnovanom na ESP8266
Kako fleširati MicroPython firmver na Sonoff pametnom prekidaču zasnovanom na ESP8266

Šta je Sonoff?

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

  • ESP8266 sa blicem 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)
  • Onboard Button

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

Korak 1: 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.

Možda ćete morati lemiti pin-zaglavlje na PCB-u za jednostavno povezivanje USB-UART adaptera.

Korak 2: Priprema za hakiranje softvera

Priprema za hakiranje softvera
Priprema za hakiranje softvera

Volim Python, pa ću koristiti MicroPython firmver. Također možete koristiti bilo koji podržani SDK. Prijeđimo na flešovanje MicroPythona umjesto vlasničkog Sonoff firmvera:

Instalirajte paket esptool python koji olakšava flešovanje ESP8266:

pip install esptool

Preuzmite najnoviji stabilan firmver MicroPythona sa stranice za preuzimanje MicroPythona. Priključite USB-UART adapter na ploču. Radi sigurnosti, preporučuje se napajanje ploče iz adaptera umjesto iz utičnice na 220 V AC. 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 Basic -u, GPIO0 je jednostavno dugme. Priključite USB-UART adapter na računar dok držite pritisnuto dugme i nalazite se u Flash modu.
  • Na Sonoff Dual -u stvari su malo teže. Prilikom napajanja ploče morate spojiti dva jastučića na PCB -u. Potrebni jastučići su prikazani na gornjoj slici. Upotrijebite pincetu ili zalemite malu žicu između njih.

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

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

Izbrišite blic pomoću esptool -a. 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 uspjelo, isključite napajanje ploče, ponovo 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, ponovo je spojite bez pritiskanja tipke i otvorite serijski port na terminalu. Na Linux -u i Mac -u možete koristiti screen /dev /ttyUSB0 115200 (zamijenite /dev /ttyUSB0 za vaš port ako je potrebno), na Windows -u možete koristiti PuTTY (zadana brzina prijenosa je 115200). Nakon što se povežete, pritisnite Enter i ako vidite tri uglate zagrade Python ljuske, onda sve funkcionira!

>> >>> help () Dobro došli u MicroPython! Za internetske dokumente posjetite https://docs.micropython.org/en/latest/esp8266/. Da biste dijagnostičke informacije uključili u izvještaje o greškama, izvedite 'import port_diag'. Osnovna WiFi konfiguracija: uvoz mreže sta_if = network. WLAN (network. STA_IF); sta_if.active (True) sta_if.scan () # Skeniraj dostupne pristupne tačke sta_if.connect ("", "") # Povežite se s pristupnom tač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 red unesite neobrađeni način REPL CTRL- B-na prazan red, unesite normalni REPL način rada CTRL-C-prekinite pokrenuti program CTRL-D-na prazan red, izvršite meko resetovanje ploče CTRL-E-na prazan red, unesite paste mode Za dodatnu pomoć o određenom objektu, upišite help (obj) >>>

U sljedećem uputstvu opisat ćemo kako komunicirati s Cloud4RPi platformom putem MQTT protokola.

Preporučuje se: