# 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 ```sh python flash_esp8266.py [-v] ``` ### Parameter - ``: Der Name der ZIP-Datei, die die Firmware- und Dateisystem-Dateien enthält. - `-v`: Aktiviert Debug-Ausgaben (optional). ### Beispiel ```sh 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: ```sh 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 1. Das Skript überprüft, ob die angegebene ZIP-Datei existiert. 2. Die ZIP-Datei wird entpackt und die Firmware- und Dateisystem-Dateien werden identifiziert. 3. Die Dateisystem-Datei (GZ) wird entpackt. 4. Der Benutzer wird aufgefordert, den ESP8266 abzustecken und erneut anzustecken, um den neuen COM-Port zu ermitteln. 5. Die Firmware- und Dateisystem-Dateien werden auf den ESP8266 geflasht. 6. 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. ---