Cuprins:

Cum să flashezi firmware-ul MicroPython pe un comutator inteligent Sonoff bazat pe ESP8266: 3 pași (cu imagini)
Cum să flashezi firmware-ul MicroPython pe un comutator inteligent Sonoff bazat pe ESP8266: 3 pași (cu imagini)

Video: Cum să flashezi firmware-ul MicroPython pe un comutator inteligent Sonoff bazat pe ESP8266: 3 pași (cu imagini)

Video: Cum să flashezi firmware-ul MicroPython pe un comutator inteligent Sonoff bazat pe ESP8266: 3 pași (cu imagini)
Video: Introduction to M5Stack Core2 ESP32 2" Display Development Module -Robojax 2024, Noiembrie
Anonim
Cum să flashezi firmware-ul MicroPython pe un switch inteligent Sonoff bazat pe ESP8266
Cum să flashezi firmware-ul MicroPython pe un switch inteligent Sonoff bazat pe ESP8266

Ce este Sonoff?

Sonoff este o linie de dispozitive pentru Smart Home dezvoltată de ITEAD. Unul dintre cele mai flexibile și mai ieftine dispozitive din acea linie sunt Sonoff Basic și Sonoff Dual. Acestea sunt comutatoare activate Wi-Fi bazate pe un cip excelent, ESP8266. În timp ce infrastructura Sonoff poate funcționa destul de bine pentru utilizatorii de bază, alții ar putea dori să pirateze hardware-ul respectiv și să ruleze propriul cod pe acesta. Hardware-ul Sonoff Smart Switches este uimitor, având în vedere prețul său scăzut:

  • ESP8266 cu bliț de 1 MB
  • Adaptor de alimentare integrat 220V AC
  • Releu 10A (sau două în Sonoff Dual)
  • LED la bord (sau două în Sonoff Dual)
  • Butonul de la bord

Dacă doriți să controlați complet acest hardware folosind limbajul de programare preferat, acest tutorial este pentru dvs.

Pasul 1: Hackarea hardware-ului

Spargerea hardware-ului
Spargerea hardware-ului
Spargerea hardware-ului
Spargerea hardware-ului
Spargerea hardware-ului
Spargerea hardware-ului

ESP8266 este programat prin portul serial. Atât Sonoff Basic, cât și Sonoff Dual îl au pe PCD.

Poate fi necesar să lipiți un antet pin pe PCB pentru a conecta cu ușurință un adaptor USB-UART.

Pasul 2: Pregătirea pentru piratarea software-ului

Pregătirea pentru piratarea software-ului
Pregătirea pentru piratarea software-ului

Îmi place Python, așa că voi folosi firmware-ul MicroPython. De asemenea, puteți utiliza orice SDK acceptat. Să trecem la intermitentul MicroPython în locul firmware-ului Sonoff proprietar:

Instalați pachetul esptool python care ușurează intermitentul ESP8266:

pip instala esptool

Descărcați cel mai recent firmware stabil MicroPython de pe pagina de descărcări MicroPython. Conectați un adaptor USB-UART la placă. Pentru siguranță, se recomandă alimentarea plăcii de la adaptor în locul prizei de curent alternativ de 220V. Rețineți că puteți utiliza doar 3.3V, dacă conectați cipul ESP8266 la o sursă de alimentare de 5V, acesta va muri.

Porniți ESP8266 în modul Flash. Puteți face acest lucru trăgând în jos pinul GPIO0 în timp ce porniți dispozitivul:

  • Pe Sonoff Basic, GPIO0 este pur și simplu butonul. Conectați adaptorul USB-UART la computer în timp ce țineți apăsat butonul și vă aflați în modul bliț.
  • Pe Sonoff Dual, lucrurile sunt puțin mai grele. Trebuie să scurtcircuitați două plăci pe PCB în timp ce alimentați placa. Tampoanele necesare sunt afișate în imaginea de mai sus. Folosiți o pensetă sau lipiți un fir mic între ele.

Când ESP8266 este în modul bliț, LED-ul plăcii nu ar trebui să clipească.

Asigurați-vă că puteți accesa portul serial deschis de adaptorul USB-UART. Pe Linux este probabil / dev / ttyUSB0, pe Mac ar trebui să căutați ceva de genul „usbserial” sau „usbmodem” în ieșirea comenzii ls / dev / cu. * Sau ls / dev / tty. *, Pe Windows ar trebui să fie COM3 sau mai sus. Instalați driverele adaptorului USB-UART, dacă este necesar.

Ștergeți blițul cu ajutorul instrumentului esptool. Înlocuiți / dev / ttyUSB0 pentru portul dvs., dacă este necesar:

esptool.py --port / dev / ttyUSB0 erase_flash

Poate fi necesar să rulați esptool.py ca superutilizator pentru a accesa portul serial.

Pasul 3: intermitent

Intermitent
Intermitent

Dacă ștergerea a reușit, tăiați puterea plăcii, porniți din nou ESP8266 în modul bliț și blocați firmware-ul:

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

Dacă intermitentul a reușit, întrerupeți alimentarea plăcii, conectați-o din nou fără să apăsați butonul și deschideți portul serial într-un terminal. Pe Linux și Mac puteți utiliza ecranul / dev / ttyUSB0 115200 (înlocuiți / dev / ttyUSB0 pentru portul dvs., dacă este necesar), pe Windows puteți utiliza PuTTY (rata de transmisie implicită este 115200). Odată ce vă conectați, apăsați Enter și, dacă vedeți trei paranteze unghiulare ale shell-ului Python, totul funcționează!

>> >>> ajutor () Bine ați venit la MicroPython! Pentru documente online, vă rugăm să vizitați https://docs.micropython.org/en/latest/esp8266/. Pentru a include informații de diagnosticare în rapoartele de erori, executați „import port_diag”. Configurare WiFi de bază: import rețea sta_if = network. WLAN (network. STA_IF); sta_if.active (Adevărat) sta_if.scan () # Scanează punctele de acces disponibile sta_if.connect ("", "") # Conectează-te la un AP sta_if.isconnected () # Verifică conexiunea cu succes # Schimbă numele / parola AP-ului ESP8266: ap_if = network. WLAN (network. AP_IF) ap_if.config (essid = "", authmode = network. AUTH_WPA_WPA2_PSK, parola = "") Comenzi de control: CTRL-A - pe o linie goală, introduceți modul REPL brut CTRL- B - pe o linie goală, intrați în modul REPL normal CTRL-C - întrerupeți un program de rulare CTRL-D - pe o linie goală, efectuați o resetare soft a plăcii CTRL-E - pe o linie goală, introduceți paste mod Pentru ajutor suplimentar asupra unui anumit obiect, tastați help (obj) >>>

În următoarea instruire, vom descrie cum să interacționăm cu platforma Cloud4RPi printr-un protocol MQTT.

Recomandat: