2.4 KiB
2.4 KiB
Flash ESP8266 Script
Version: 1.0.0
Author: Marcel Peterkau
Copyright: 2024
License: MIT
Beschreibung
Dieses Skript entpackt ein ZIP-Archiv, das Firmware- und Dateisystem-Dateien für einen ESP8266 enthält, und flasht diese auf das Gerät. Nach dem Flashen werden die entpackten Dateien automatisch gelöscht.
Benutzung
python flash_esp8266.py <zip_file> [-v]
Parameter
<zip_file>
: Der Name der ZIP-Datei, die die Firmware- und Dateisystem-Dateien enthält.-v
: Aktiviert Debug-Ausgaben (optional).
Beispiel
python flash_esp8266.py firmware_1.07_cbcdc34.zip -v
Voraussetzungen
- Python 3.x
- Die folgenden Python-Bibliotheken müssen installiert sein:
- esptool
- pyserial
Installiere die benötigten Bibliotheken mit:
pip install esptool pyserial
Funktionen
- get_com_ports: Ermittelt die verfügbaren COM-Ports.
- find_new_com_port: Findet den neuen COM-Port, wenn der ESP8266 angeschlossen wird.
- extract_files: Entpackt die ZIP-Datei und gibt die enthaltenen Dateien zurück.
- decompress_gz: Entpackt eine GZ-Datei.
- clean_up: Löscht die angegebenen Dateien nach dem Flashen.
Ablauf
- Das Skript überprüft, ob die angegebene ZIP-Datei existiert.
- Die ZIP-Datei wird entpackt und die Firmware- und Dateisystem-Dateien werden identifiziert.
- Die Dateisystem-Datei (GZ) wird entpackt.
- Der Benutzer wird aufgefordert, den ESP8266 abzustecken und erneut anzustecken, um den neuen COM-Port zu ermitteln.
- Die Firmware- und Dateisystem-Dateien werden auf den ESP8266 geflasht.
- Die temporären Dateien werden nach dem erfolgreichen Flashen gelöscht.
Fehlerbehebung
- ZIP-Datei nicht gefunden: Stelle sicher, dass der Pfad zur ZIP-Datei korrekt angegeben ist.
- Erforderliche Dateien nicht im ZIP-Archiv: Überprüfe, ob die ZIP-Datei die richtigen Dateien (
.fw.bin
und.fs.gz
) enthält. - Kein neuer COM-Port gefunden: Stelle sicher, dass der ESP8266 korrekt angeschlossen ist und warte, bis der neue COM-Port erkannt wird.
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert
Versionshistorie
- 1.0.0 - Initiale Version
Haftungsausschluss
Dieses Skript wird ohne Garantie bereitgestellt. Der Autor übernimmt keine Verantwortung für Schäden oder Datenverlust, die durch die Nutzung dieses Skripts entstehen könnten.