Indholdsfortegnelse:

Sådan blinker MicroPython -firmware på en ESP8266 -baseret Sonoff Smart Switch: 3 trin (med billeder)
Sådan blinker MicroPython -firmware på en ESP8266 -baseret Sonoff Smart Switch: 3 trin (med billeder)

Video: Sådan blinker MicroPython -firmware på en ESP8266 -baseret Sonoff Smart Switch: 3 trin (med billeder)

Video: Sådan blinker MicroPython -firmware på en ESP8266 -baseret Sonoff Smart Switch: 3 trin (med billeder)
Video: Новый электродвигатель в BMW седан 2024, November
Anonim
Sådan blinker MicroPython -firmware på en ESP8266 -baseret Sonoff Smart Switch
Sådan blinker MicroPython -firmware på en ESP8266 -baseret Sonoff Smart Switch

Hvad er Sonoff?

Sonoff er en enhedslinje til Smart Home udviklet af ITEAD. En af de mest fleksible og billige enheder fra denne linje er Sonoff Basic og Sonoff Dual. Disse er Wi-Fi-aktiverede switche baseret på en fantastisk chip, ESP8266. Selvom Sonoff -infrastrukturen muligvis fungerer ganske godt for grundlæggende brugere, kan andre måske hacke sig ind på denne hardware og køre deres egen kode på den. Hardwareen til Sonoff Smart Switches er fantastisk i betragtning af den lave pris:

  • ESP8266 med 1 MB flash
  • 220V AC integreret strømadapter
  • 10A relæ (eller to i Sonoff Dual)
  • Indbygget LED (eller to i Sonoff Dual)
  • Indbygget knap

Hvis du vil have fuld kontrol over denne hardware ved hjælp af dit foretrukne programmeringssprog, er denne vejledning noget for dig.

Trin 1: Hacking af hardwaren

Hacking af hardwaren
Hacking af hardwaren
Hacking af hardwaren
Hacking af hardwaren
Hacking af hardwaren
Hacking af hardwaren

ESP8266 er programmeret via den serielle port. Både Sonoff Basic og Sonoff Dual har det på PCD.

Du skal muligvis lodde en pin-header på printkortet for let at tilslutte en USB-UART-adapter.

Trin 2: Forberedelse til hacking af softwaren

Forbereder sig på at hacke softwaren
Forbereder sig på at hacke softwaren

Jeg elsker Python, så jeg vil bruge MicroPython -firmwaren. Du kan også bruge enhver understøttet SDK. Lad os fortsætte med at blinke MicroPython i stedet for den proprietære Sonoff -firmware:

Installer esptool python -pakken, der gør det lettere at blinke ESP8266:

pip installere esptool

Download den nyeste stabile MicroPython -firmware fra MicroPython -downloadsiden. Tilslut en USB-UART-adapter til kortet. Af hensyn til sikkerheden anbefales det at forsyne kortet fra adapteren i stedet for 220V vekselstrømsstik. Bemærk, at du kun må bruge 3,3V, hvis du slutter ESP8266 -chippen til en 5V -strømkilde, dør den.

Start ESP8266 i Flash -tilstand. Du kan gøre det ved at trække GPIO0 -stiften ned, mens du tænder enheden:

  • På Sonoff Basic er GPIO0 simpelthen knappen. Tilslut USB-UART-adapteren til din pc, mens du holder knappen inde, og du er i Flash-tilstand.
  • På Sonoff Dual er tingene lidt sværere. Du skal kortslutte to puder på printkortet, mens du forsyner kortet. De nødvendige pads er vist på billedet ovenfor. Brug en pincet eller lod en lille ledning imellem dem.

Når ESP8266 er i Flash -tilstand, bør kortets LED ikke blinke.

Sørg for, at du har adgang til den serielle port, der åbnes med USB-UART-adapteren. På Linux er det sandsynligvis / dev / ttyUSB0, på Mac skal du søge efter noget som "usbserial" eller "usbmodem" i kommandoutput ls / dev / cu.* Eller ls / dev / tty.*, I Windows skal det være COM3 eller højere. Installer om nødvendigt USB-UART-adapterdriverne.

Slet blitzen ved hjælp af esptool. Udskift /dev /ttyUSB0 til din port, hvis det kræves:

esptool.py --port /dev /ttyUSB0 erase_flash

Du skal muligvis køre esptool.py som en superbruger for at få adgang til den serielle port.

Trin 3: Blinker

Blinker
Blinker

Hvis sletningen var vellykket, skal du afbryde kortets strøm, starte ESP8266 i Flash -tilstand igen og flash din firmware:

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

Hvis blinkingen lykkedes, skal du afbryde kortets strøm, tilslutte den igen uden at trykke på knappen og åbne den serielle port i en terminal. På Linux og Mac kan du bruge screen /dev /ttyUSB0 115200 (udskift /dev /ttyUSB0 til din port, hvis det kræves), i Windows kan du bruge PuTTY (standard baud rate er 115200). Når du har oprettet forbindelse, skal du trykke på Enter, og hvis du ser tre vinkelbeslag af Python -skal, virker alt!

>> >>> hjælp () Velkommen til MicroPython! Besøg https://docs.micropython.org/en/latest/esp8266/ for onlinedokumenter. For at diagnostiske oplysninger skal inkluderes i fejlrapporter, skal du udføre 'import port_diag'. Grundlæggende WiFi -konfiguration: import netværk sta_if = netværk. WLAN (netværk. STA_IF); sta_if.active (True) sta_if.scan () # Scan efter tilgængelige adgangspunkter sta_if.connect ("", "") # Opret forbindelse til et AP sta_if.afbrudt () # Kontroller for succesfuld forbindelse # Skift navn/adgangskode for ESP8266s AP: ap_if = network. WLAN (network. AP_IF) ap_if.config (essid = "", authmode = network. AUTH_WPA_WPA2_PSK, password = "") Kontrolkommandoer: CTRL-A-på en tom linje skal du indtaste rå REPL-tilstand CTRL- B-på en tom linje, indtast normal REPL-tilstand CTRL-C-afbryd et kørende program CTRL-D-på en tom linje, lav en blød nulstilling af tavlen CTRL-E-på en tom linje, indtast pasta mode For yderligere hjælp til et specifikt objekt, skriv hjælp (obj) >>>

I den næste instruktive vil vi beskrive, hvordan man interagerer med Cloud4RPi -platformen via en MQTT -protokol.

Anbefalede: