Inhaltsverzeichnis:
Video: So flashen Sie die MicroPython-Firmware auf einem ESP8266-basierten Sonoff-Smart-Switch - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:22
Was ist Sonoff?
Sonoff ist eine von ITEAD entwickelte Gerätelinie für Smart Home. Zu den flexibelsten und günstigsten Geräten dieser Linie zählen Sonoff Basic und Sonoff Dual. Dies sind Wi-Fi-fähige Switches, die auf einem großartigen Chip, ESP8266, basieren. Während die Sonoff-Infrastruktur für einfache Benutzer recht gut funktioniert, möchten andere möglicherweise in diese Hardware hacken und ihren eigenen Code darauf ausführen. Die Hardware von Sonoff Smart Switches ist angesichts des niedrigen Preises erstaunlich:
- ESP8266 mit 1 MB Flash
- 220V AC integriertes Netzteil
- 10A Relais (oder zwei in Sonoff Dual)
- Onboard-LED (oder zwei in Sonoff Dual)
- Onboard-Taste
Wenn Sie mit Ihrer bevorzugten Programmiersprache die volle Kontrolle über diese Hardware übernehmen möchten, ist dieses Tutorial genau das Richtige für Sie.
Schritt 1: Hacken der Hardware
ESP8266 wird über die serielle Schnittstelle programmiert. Sowohl Sonoff Basic als auch Sonoff Dual haben es auf der PCD.
Möglicherweise müssen Sie eine Stiftleiste auf die Platine löten, um einen USB-UART-Adapter einfach anzuschließen.
Schritt 2: Vorbereitung zum Hacken der Software
Ich liebe Python, also werde ich die MicroPython-Firmware verwenden. Sie können auch jedes unterstützte SDK verwenden. Fahren wir mit dem Flashen von MicroPython anstelle der proprietären Sonoff-Firmware fort:
Installieren Sie das esptool-Python-Paket, das das Flashen des ESP8266 erleichtert:
pip installieren esptool
Laden Sie die neueste stabile MicroPython-Firmware von der MicroPython-Downloadseite herunter. Schließen Sie einen USB-UART-Adapter an das Board an. Aus Sicherheitsgründen wird empfohlen, das Board über den Adapter statt über die 220-V-Wechselstromsteckdose mit Strom zu versorgen. Beachten Sie, dass Sie nur 3,3 V verwenden dürfen. Wenn Sie den ESP8266-Chip an eine 5 V-Stromquelle anschließen, stirbt er.
Starten Sie ESP8266 in den Flash-Modus. Sie können dies tun, indem Sie den GPIO0-Pin herunterziehen, während Sie das Gerät einschalten:
- Bei Sonoff Basic ist der GPIO0 einfach der Knopf. Schließen Sie den USB-UART-Adapter an Ihren PC an, während Sie die Taste gedrückt halten, und Sie befinden sich im Flash-Modus.
- Bei Sonoff Dual sind die Dinge etwas schwieriger. Sie müssen zwei Pads auf der Platine kurzschließen, während Sie die Platine mit Strom versorgen. Die benötigten Pads sind auf dem Bild oben dargestellt. Verwenden Sie eine Pinzette oder löten Sie einen kleinen Draht dazwischen.
Wenn sich der ESP8266 im Flash-Modus befindet, sollte die LED der Platine nicht blinken.
Stellen Sie sicher, dass Sie auf den vom USB-UART-Adapter geöffneten seriellen Port zugreifen können. Unter Linux ist es wahrscheinlich \dev\ttyUSB0, auf Mac sollten Sie in der Befehlsausgabe ls \dev\cu.* oder ls \dev\tty.* nach etwas wie „usbserial“oder „usbmodem“suchen, unter Windows sollte es COM3 sein oder höher. Installieren Sie bei Bedarf die USB-UART-Adaptertreiber.
Löschen Sie den Blitz mit dem esptool. Ersetzen Sie bei Bedarf /dev/ttyUSB0 für Ihren Port:
esptool.py --port /dev/ttyUSB0 era_flash
Möglicherweise müssen Sie esptool.py als Superuser ausführen, um auf den seriellen Port zuzugreifen.
Schritt 3: Blinken
Wenn das Löschen erfolgreich war, unterbrechen Sie die Stromversorgung des Boards, booten Sie den ESP8266 erneut im Flash-Modus und flashen Sie Ihre Firmware:
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 esp8266-20170823-v1.9.2.bin
Wenn das Flashen erfolgreich war, unterbrechen Sie die Stromversorgung der Platine, schließen Sie sie wieder an, ohne die Taste zu drücken, und öffnen Sie die serielle Schnittstelle in einem Terminal. Unter Linux und Mac können Sie den Bildschirm /dev/ttyUSB0 115200 verwenden (ersetzen Sie bei Bedarf das /dev/ttyUSB0 für Ihren Port), unter Windows können Sie PuTTY verwenden (die Standardbaudrate ist 115200). Sobald Sie eine Verbindung hergestellt haben, drücken Sie die Eingabetaste, und wenn Sie drei spitze Klammern der Python-Shell sehen, funktioniert alles!
>> >>> Hilfe() Willkommen bei MicroPython! Für Online-Dokumente besuchen Sie bitte https://docs.micropython.org/en/latest/esp8266/. Um Diagnoseinformationen in Fehlerberichte aufzunehmen, führen Sie 'import port_diag' aus. Grundlegende WLAN-Konfiguration: import network sta_if = network. WLAN(network. STA_IF); sta_if.active(True) sta_if.scan() # Nach verfügbaren Zugangspunkten suchen sta_if.connect("", "") # Mit einem AP verbinden sta_if.isconnected() # Auf erfolgreiche Verbindung prüfen # Name/Passwort des AP des ESP8266 ändern: ap_if = network. WLAN(network. AP_IF) ap_if.config(essid="", authmode=network. AUTH_WPA_WPA2_PSK, password="") Steuerbefehle: STRG-A -- Geben Sie in einer leeren Zeile den Raw REPL-Modus ein STRG- B -- in einer leeren Zeile in den normalen REPL-Modus wechseln STRG-C -- ein laufendes Programm unterbrechen STRG-D -- in einer leeren Zeile einen Soft-Reset der Platine durchführen STRG-E -- in einer leeren Zeile Paste eingeben mode Für weitere Hilfe zu einem bestimmten Objekt geben Sie help(obj) ein >>>
In der nächsten Anleitung werden wir beschreiben, wie man mit der Cloud4RPi-Plattform über ein MQTT-Protokoll interagiert.
Empfohlen:
So führen Sie eine Kraftkalibrierung auf einem CombiTouch durch: 6 Schritte
So führen Sie eine Kraftkalibrierung auf einem CombiTouch durch: Diese Anleitung zeigt, wie Sie eine Kraftkalibrierung auf einem Alto-Shaam CombiTouch-Ofen durchführen. Wenn der Bildschirm nicht auf die Berührung reagiert oder ein anderes Symbol aktiviert als das, das Sie berühren, folgen Sie einfach diesen Anweisungen. Wenn die
So verwenden Sie einen Debugger auf einem ESP32 – wikiHow
So verwenden Sie einen Debugger auf einem ESP32: Wollten Sie schon immer einen Blick in Ihren Code werfen, um zu sehen, warum er sich so verhält, wie er ist? Traditionell hätten Sie in ESP32-Projekten endlose print-Anweisungen hinzufügen müssen, um herauszufinden, was vor sich ging, aber es gibt einen besseren Weg! Ein Debugger
So installieren Sie Windows 95 auf einem Android-Telefon: 3 Schritte
So installieren Sie Windows 95 auf einem Android-Telefon: Wollten Sie schon immer Windows 95 auf Ihrem Android-Gerät ausführen? Die Emulation ist ein sehr schwieriger Prozess, zum Glück hat Windows 95 nur sehr wenige Anforderungen. Am Telefon funktioniert es perfekt wie am Computer, wenn jemand das Betriebssystem auf dem
Wie zeichne ich einen Computerbildschirm auf einem Mac auf?: 7 Schritte
Wie zeichne ich den Computerbildschirm auf dem Mac auf?: Wie zeichne ich den Bildschirm auf dem Mac auf? Wollten Sie schon immer etwas aufzeichnen, was auf Ihrem Computer oder Telefon passiert? Vielleicht sehen Sie sich ein Video an und möchten einen Clip aufnehmen; Vielleicht versuchst du jemandem zu zeigen, wie man etwas macht, und ein Video würde es schaffen
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Hinzugefügte Informationen: 4 Schritte
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen … Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Zusätzliche Informationen: Wenn Sie jemals auf eine Website gehen und ein Lied abspielen, das Sie mögen und es wollen, dann ist hier das anweisbare für Sie, nicht meine Schuld, wenn Sie etwas durcheinander bringen (nur so wird es passieren, wenn Sie ohne Grund anfangen, Dinge zu löschen) ) Ich konnte Musik für