INHOUDSOPGAWE:

Hoe om MicroPython -firmware op 'n ESP8266 -gebaseerde Sonoff -slimskakelaar te flits: 3 stappe (met foto's)
Hoe om MicroPython -firmware op 'n ESP8266 -gebaseerde Sonoff -slimskakelaar te flits: 3 stappe (met foto's)

Video: Hoe om MicroPython -firmware op 'n ESP8266 -gebaseerde Sonoff -slimskakelaar te flits: 3 stappe (met foto's)

Video: Hoe om MicroPython -firmware op 'n ESP8266 -gebaseerde Sonoff -slimskakelaar te flits: 3 stappe (met foto's)
Video: Hoe SOLDEER je een WEMOS | ESP8266 #3 2024, November
Anonim
Hoe om 'n Firmware van MicroPython te flits op 'n ESP8266 -gebaseerde Sonoff Smart Switch
Hoe om 'n Firmware van MicroPython te flits op 'n ESP8266 -gebaseerde Sonoff Smart Switch

Wat is Sonoff?

Sonoff is 'n toestellyn vir Smart Home wat deur ITEAD ontwikkel is. Een van die mees buigsame en goedkoopste toestelle uit die reeks is Sonoff Basic en Sonoff Dual. Dit is Wi-Fi-skakelaars wat gebaseer is op 'n uitstekende chip, ESP8266. Alhoewel die Sonoff -infrastruktuur redelik goed kan werk vir basiese gebruikers, wil ander dalk die hardeware inbreek en hul eie kode daarop gebruik. Die hardeware van Sonoff Smart Switches is ongelooflik, gegewe die lae prys:

  • ESP8266 met 1 MB flits
  • 220V AC geïntegreerde kragadapter
  • 10A Relay (of twee in Sonoff Dual)
  • Aan boord LED (of twee in Sonoff Dual)
  • Aan boord knoppie

As u die hardeware met u gunsteling programmeertaal ten volle wil beheer, is hierdie handleiding vir u.

Stap 1: kap die hardeware in

Die hardeware kap
Die hardeware kap
Die hardeware kap
Die hardeware kap
Die hardeware kap
Die hardeware kap

ESP8266 word geprogrammeer via die seriële poort. Beide Sonoff Basic en Sonoff Dual het dit op die PCD.

Miskien moet u 'n penkop op die PCB soldeer om maklik 'n USB-UART-adapter aan te sluit.

Stap 2: Voorbereiding vir die inbraak van die sagteware

Berei voor om die sagteware te hack
Berei voor om die sagteware te hack

Ek is mal oor Python, so ek gaan die MicroPython -firmware gebruik. U kan ook enige ondersteunde SDK gebruik. Kom ons gaan na die flits van MicroPython in plaas van die eie Sonoff -firmware:

Installeer die esptool python pakket wat die flits van die ESP8266 vergemaklik:

pip installeer esptool

Laai die nuutste stabiele MicroPython -firmware af vanaf die MicroPython -aflaai -bladsy. Koppel 'n USB-UART-adapter aan die bord. Vir die veiligheid word dit aanbeveel om die kaart van die adapter af te skakel in plaas van die 220V wisselstroomaansluiting. Let daarop dat u slegs 3.3V mag gebruik, as u die ESP8266 -chip aan 'n 5V -kragbron koppel, sal dit doodgaan.

Start ESP8266 in die flitsmodus. U kan dit doen deur die GPIO0 -pen af te trek terwyl u die toestel aanskakel:

  • Op Sonoff Basic is die GPIO0 eenvoudig die knoppie. Koppel die USB-UART-adapter aan op u rekenaar terwyl u die knoppie ingedruk hou, en u is in die flitsmodus.
  • Op Sonoff Dual is dinge 'n bietjie moeiliker. U moet twee kussings op die PCB kortsluit terwyl u die bord aanskakel. Die vereiste pads word op die foto hierbo getoon. Gebruik 'n pincet of soldeer 'n klein draadjie tussen hulle.

As die ESP8266 in die flitsmodus is, moet die bord se LED nie flikker nie.

Maak seker dat u toegang het tot die seriële poort wat deur die USB-UART-adapter oopgemaak is. Op Linux is dit waarskynlik / dev / ttyUSB0, op Mac moet u soek na iets soos 'usbserial' of 'usbmodem' in die ls / dev / cu.* Of ls / dev / tty.* Opdraguitset, in Windows moet dit COM3 wees of hoër. Installeer indien nodig die USB-UART-adapterbestuurders.

Vee die flits uit met die esptool. Indien nodig, vervang die /dev /ttyUSB0 vir u poort:

esptool.py --port /dev /ttyUSB0 erase_flash

Miskien moet u esptool.py as 'n supergebruiker gebruik om toegang tot die seriële poort te kry.

Stap 3: Flits

Flitsend
Flitsend

As die uitvee suksesvol was, sny die bord se krag af, laai die ESP8266 weer in die flitsmodus en flits u firmware:

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

As die flits suksesvol was, sny die bord se krag af, koppel dit weer sonder om op die knoppie te druk en maak die seriële poort in 'n terminale oop. Op Linux en Mac kan u screen /dev /ttyUSB0 115200 gebruik (vervang indien nodig die /dev /ttyUSB0 vir u poort), in Windows kan u PuTTY gebruik (die standaard baud -tempo is 115200). Sodra u verbinding gemaak het, druk op Enter, en as u drie hoekhakies van die Python -dop sien, werk alles!

>> >>> help () Welkom by MicroPython! Besoek https://docs.micropython.org/en/latest/esp8266/ vir aanlyn dokumente. Voer 'import port_diag' uit om diagnostiese inligting in foutverslae op te neem. Basiese WiFi -opset: invoer netwerk sta_if = netwerk. WLAN (netwerk. STA_IF); sta_if.active (True) sta_if.scan () # Soek na beskikbare toegangspunte sta_if.connect ("", "") # Koppel aan 'n AP sta_if.isconnected () # Kontroleer of die verbinding suksesvol is # Verander naam/wagwoord van ESP8266 se AP: ap_if = netwerk. WLAN (netwerk. AP_IF) ap_if.config (essid = "", authmode = netwerk. AUTH_WPA_WPA2_PSK, wagwoord = "") Beheeropdragte: CTRL-A-voer op 'n leë reël rou REPL-modus CTRL- in B-betree op 'n leë lyn die normale REPL-modus CTRL-C-onderbreek 'n lopende program CTRL-D-voer 'n sagte reël van die bord af CTRL-E op 'n leë lyn, voer plak in af Tik hulp (obj) >>> vir verdere hulp oor 'n spesifieke voorwerp

In die volgende instruksies sal ons beskryf hoe u met die Cloud4RPi -platform kan kommunikeer via 'n MQTT -protokol.

Aanbeveel: