Innehållsförteckning:

Hur man flashar MicroPython -firmware på en ESP8266 -baserad Sonoff Smart Switch: 3 steg (med bilder)
Hur man flashar MicroPython -firmware på en ESP8266 -baserad Sonoff Smart Switch: 3 steg (med bilder)

Video: Hur man flashar MicroPython -firmware på en ESP8266 -baserad Sonoff Smart Switch: 3 steg (med bilder)

Video: Hur man flashar MicroPython -firmware på en ESP8266 -baserad Sonoff Smart Switch: 3 steg (med bilder)
Video: How to Program the ESP8266 ESP01 Wi-Fi Relay Module | RemoteXY | FLProg 2024, Juli
Anonim
Hur man flashar MicroPython -firmware på en ESP8266 -baserad Sonoff Smart Switch
Hur man flashar MicroPython -firmware på en ESP8266 -baserad Sonoff Smart Switch

Vad är Sonoff?

Sonoff är en enhetslinje för Smart Home utvecklad av ITEAD. En av de mest flexibla och billiga enheterna från den linjen är Sonoff Basic och Sonoff Dual. Dessa är Wi-Fi-aktiverade switchar baserade på ett bra chip, ESP8266. Även om Sonoff -infrastrukturen kan fungera ganska bra för grundläggande användare, kanske andra vill hacka in den hårdvaran och köra sin egen kod på den. Hårdvaran för Sonoff Smart Switches är fantastisk, med tanke på dess låga pris:

  • ESP8266 med 1 MB blixt
  • 220V AC integrerad nätadapter
  • 10A -relä (eller två i Sonoff Dual)
  • Inbyggd LED (eller två i Sonoff Dual)
  • Knapp ombord

Om du vill ta full kontroll över denna hårdvara med ditt favorit programmeringsspråk, är den här självstudien för dig.

Steg 1: Hacka hårdvaran

Hacka hårdvaran
Hacka hårdvaran
Hacka hårdvaran
Hacka hårdvaran
Hacka hårdvaran
Hacka hårdvaran

ESP8266 programmeras via serieporten. Både Sonoff Basic och Sonoff Dual har det på PCD.

Du kan behöva löd en stifthuvud på kretskortet för att enkelt ansluta en USB-UART-adapter.

Steg 2: Förbereder att hacka programvaran

Förbereder att hacka programvaran
Förbereder att hacka programvaran

Jag älskar Python, så jag kommer att använda MicroPython -firmware. Du kan också använda alla SDK som stöds. Låt oss fortsätta att blinka MicroPython istället för den proprietära Sonoff -firmware:

Installera esptool python -paketet som gör det lättare att blinka ESP8266:

pip installera esptool

Ladda ner den senaste stabila MicroPython -firmware från MicroPython -nedladdningssidan. Anslut en USB-UART-adapter till kortet. Av säkerhetsskäl rekommenderas att man driver kortet från adaptern istället för 220V AC -uttaget. Observera att du bara får använda 3,3V, om du ansluter ESP8266 -chipet till en 5V -strömkälla kommer det att dö.

Starta ESP8266 i blixtläget. Du kan göra det genom att dra ner GPIO0 -stiftet medan du sätter på enheten:

  • På Sonoff Basic är GPIO0 helt enkelt knappen. Anslut USB-UART-adaptern till din dator medan du håller knappen intryckt och du är i blixtläge.
  • På Sonoff Dual är det lite svårare. Du måste kortsluta två kuddar på kretskortet medan du driver kortet. De obligatoriska kuddarna visas på bilden ovan. Använd en pincett eller löd en liten tråd mellan dem.

När ESP8266 är i blixtläge bör kortets lysdiod inte blinka.

Se till att du har åtkomst till den seriella porten som öppnades med USB-UART-adaptern. På Linux är det förmodligen / dev / ttyUSB0, på Mac ska du söka efter något som "usbserial" eller "usbmodem" i kommandoutgången ls / dev / cu.* Eller ls / dev / tty.*, I Windows bör det vara COM3 eller högre. Installera USB-UART-adapterdrivrutinerna om det behövs.

Radera blixten med esptool. Byt ut /dev /ttyUSB0 för din port om det behövs:

esptool.py --port /dev /ttyUSB0 erase_flash

Du kan behöva köra esptool.py som en superanvändare för att komma åt den seriella porten.

Steg 3: Blinkar

Blinkar
Blinkar

Om raderingen lyckades, skär av strömmen, starta ESP8266 i blixtläget igen och blinka din inbyggda programvara:

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

Om blinkningen lyckades, koppla bort kortets ström, anslut den igen utan att trycka på knappen och öppna den seriella porten i en terminal. På Linux och Mac kan du använda screen /dev /ttyUSB0 115200 (byt ut /dev /ttyUSB0 för din port om det behövs), i Windows kan du använda PuTTY (standardöverföringshastigheten är 115200). När du har anslutit trycker du på Enter, och om du ser tre vinkelparenteser i Python -skalet fungerar allt!

>> >>> help () Välkommen till MicroPython! Besök https://docs.micropython.org/en/latest/esp8266/ för online -dokument. Kör "importport_diag" för diagnostisk information som ska inkluderas i felrapporter. Grundläggande WiFi -konfiguration: importera nätverk sta_if = network. WLAN (network. STA_IF); sta_if.active (True) sta_if.scan () # Sök efter tillgängliga åtkomstpunkter sta_if.connect ("", "") # Anslut till ett AP sta_if.isconnected () # Kontrollera om anslutningen lyckades # Ändra namn/lösenord för ESP8266: s AP: ap_if = nätverk. WLAN (nätverk. AP_IF) ap_if.config (essid = "", authmode = nätverk. AUTH_WPA_WPA2_PSK, lösenord = "") Kontrollkommandon: CTRL-A-ange råa REPL-läge CTRL- på en tom rad B-på en tom rad, ange normalt REPL-läge CTRL-C-avbryt ett pågående program CTRL-D-på en tom rad, gör en mjuk återställning av kortet CTRL-E-på en tom rad, skriv in klistra in läge För ytterligare hjälp om ett specifikt objekt, skriv hjälp (obj) >>>

I nästa instruktioner kommer vi att beskriva hur man interagerar med Cloud4RPi -plattformen via ett MQTT -protokoll.

Rekommenderad: