Inhoudsopgave:
Video: MicroPython-firmware flashen op een op ESP8266 gebaseerde Sonoff Smart Switch - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
Wat is Sonoff?
Sonoff is een apparaatlijn voor Smart Home ontwikkeld door ITEAD. Een van de meest flexibele en goedkope toestellen uit die lijn zijn Sonoff Basic en Sonoff Dual. Dit zijn schakelaars met Wi-Fi op basis van een geweldige chip, ESP8266. Hoewel de Sonoff-infrastructuur misschien best goed werkt voor basisgebruikers, willen anderen misschien die hardware hacken en hun eigen code erop uitvoeren. De hardware van Sonoff Smart Switches is geweldig, gezien de lage prijs:
- ESP8266 met 1 MB flitser
- 220V AC geïntegreerde voedingsadapter
- 10A relais (of twee in Sonoff Dual)
- Ingebouwde LED (of twee in Sonoff Dual)
- Knop aan boord
Als je volledige controle over deze hardware wilt krijgen met je favoriete programmeertaal, dan is deze tutorial iets voor jou.
Stap 1: De hardware hacken
ESP8266 wordt geprogrammeerd via de seriële poort. Zowel Sonoff Basic als Sonoff Dual hebben het op de PCD.
Mogelijk moet u een pin-header op de print solderen om eenvoudig een USB-UART-adapter aan te sluiten.
Stap 2: Voorbereiden om de software te hacken
Ik ben dol op Python, dus ik ga de MicroPython-firmware gebruiken. U kunt ook elke ondersteunde SDK gebruiken. Laten we doorgaan met het flitsen van MicroPython in plaats van de eigen Sonoff-firmware:
Installeer het esptool python-pakket dat het flashen van de ESP8266 gemakkelijker maakt:
pip install esptool
Download de nieuwste stabiele MicroPython-firmware van de MicroPython-downloadpagina. Sluit een USB-UART-adapter aan op het bord. Voor de veiligheid wordt aanbevolen om het bord van stroom te voorzien via de adapter in plaats van het 220V AC-stopcontact. Houd er rekening mee dat je alleen 3.3V mag gebruiken, als je de ESP8266-chip aansluit op een 5V-voedingsbron, zal deze sterven.
Start ESP8266 op in de Flash-modus. U kunt dit doen door de GPIO0-pin naar beneden te trekken terwijl u het apparaat aanzet:
- Op Sonoff Basic is de GPIO0 gewoon de knop. Sluit de USB-UART-adapter aan op uw pc terwijl u de knop ingedrukt houdt en u bent in de flitsmodus.
- Op Sonoff Dual is het een beetje moeilijker. U moet twee pads op de PCB kortsluiten terwijl u het bord van stroom voorziet. De benodigde pads staan op de afbeelding hierboven. Gebruik een pincet of soldeer er een draadje tussen.
Wanneer de ESP8266 in de flitsmodus staat, mag de LED van het bord niet knipperen.
Zorg ervoor dat u toegang hebt tot de seriële poort die is geopend door de USB-UART-adapter. Op Linux is het waarschijnlijk \dev\ttyUSB0, op Mac moet je zoeken naar iets als "usbserial" of "usbmodem" in de opdracht ls \dev\cu.* of ls \dev\tty.*, op Windows zou het COM3 moeten zijn of hoger. Installeer indien nodig de stuurprogramma's van de USB-UART-adapter.
Wis de flitser met de esptool. Vervang indien nodig de /dev/ttyUSB0 voor uw poort:
esptool.py --port /dev/ttyUSB0 erase_flash
Mogelijk moet u esptool.py als superuser uitvoeren om toegang te krijgen tot de seriële poort.
Stap 3: Knipperen
Als het wissen succesvol was, schakel dan de stroom van het bord uit, start de ESP8266 opnieuw op in de Flash-modus en flash uw firmware:
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 esp8266-20170823-v1.9.2.bin
Als het knipperen is gelukt, schakel dan de stroom van het bord uit, sluit het opnieuw aan zonder op de knop te drukken en open de seriële poort in een terminal. Op Linux en Mac kun je screen /dev/ttyUSB0 115200 gebruiken (vervang indien nodig de /dev/ttyUSB0 voor je poort), op Windows kun je PuTTY gebruiken (de standaard baudrate is 115200). Zodra je verbinding hebt gemaakt, druk je op Enter en als je drie punthaken van de Python-shell ziet, werkt alles!
>> >>> help() Welkom bij MicroPython! Ga voor online documenten naar https://docs.micropython.org/en/latest/esp8266/. Voer 'import port_diag' uit om diagnostische informatie op te nemen in bugrapporten. Basis WiFi-configuratie: importeer netwerk sta_if = netwerk. WLAN(netwerk. STA_IF); sta_if.active(True) sta_if.scan() # Scan naar beschikbare toegangspunten sta_if.connect("", "") # Maak verbinding met een AP sta_if.isconnected() # Controleer op succesvolle verbinding # Wijzig naam/wachtwoord van de AP van ESP8266: ap_if = network. WLAN(network. AP_IF) ap_if.config(essid="", authmode=network. AUTH_WPA_WPA2_PSK, password="") Besturingsopdrachten: CTRL-A -- voer op een lege regel de onbewerkte REPL-modus in CTRL- B -- op een lege regel, voer de normale REPL-modus in CTRL-C -- onderbreek een lopend programma CTRL-D -- op een lege regel, voer een zachte reset van het bord uit CTRL-E -- op een lege regel, voer plakken in modus Typ help(obj) >>>. voor meer hulp bij een specifiek object
In de volgende instructable zullen we beschrijven hoe te communiceren met het Cloud4RPi-platform via een MQTT-protocol.
Aanbevolen:
CovBot - een op WhatsApp gebaseerde chatbot voor COVID 19 Info en meer: 7 stappen
CovBot - een op WhatsApp gebaseerde chatbot voor COVID 19 Info en meer: CoVbot is een eenvoudige en intuïtieve op WhatsApp gebaseerde chatbot. Het belangrijkste kenmerk van de bot is: hij kan u op een eenvoudige en intuïtieve manier de laatste status van COVID-19 in het land van keuze geven.Bovendien kan de bot leuke activiteiten voorstellen om AT H
EZProbe, een op EZ430 gebaseerde logische sonde: 4 stappen
EZProbe, een op EZ430 gebaseerde logische sonde: dit is een eenvoudig logische sondeproject gebaseerd op de TI EZ430-dongle. ik heb in september 2010 gebruik gemaakt van een gratis aanbieding op een paar ez430's van TI. ze zijn erg handig en leuk om kleine codefragmenten uit te proberen en de led te zien knipperen. ze hadden sinds b
Bouw een Apple HomeKit-temperatuursensorapparaat met een ESP8266 en een BME280: 10 stappen
Bouw een Apple HomeKit-temperatuursensorapparaat met behulp van een ESP8266 en een BME280: in de instructable van vandaag zullen we een goedkope temperatuur-, vochtigheids- en vochtsensor maken op basis van de AOSONG AM2302/DHT22 of BME280 temperatuur- / vochtigheidssensor, YL-69 vochtsensor en het ESP8266/Nodemcu-platform. En voor het weergeven van
Op Arduino gebaseerde contactloze infraroodthermometer - Op IR gebaseerde thermometer met Arduino: 4 stappen
Arduino-gebaseerde contactloze infraroodthermometer | IR-gebaseerde thermometer met Arduino: Hallo allemaal, in deze instructables zullen we een contactloze thermometer maken met behulp van Arduino. Omdat de temperatuur van de vloeistof / vaste stof soms veel te hoog of te laag is en dan is het moeilijk om er contact mee te maken en de temperatuur dan in die sc
Een Meraki / Accton / Fonero flashen met OpenWRT met Linux: 3 stappen
Een Meraki / Accton / Fonero flashen met OpenWRT Linux gebruiken: Deze instructable laat je zien hoe je je Meraki / Accton / Fonero-hardware flasht met OpenWRT Linux met behulp van een Linux-pc. Auteur website: http://ruckman.net