DarkEmergency-Timer/Software/codegen/README_flash_esp8266.md

2.4 KiB

Flash ESP8266 Script

Version: 1.0.0

Author: Marcel Peterkau

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

  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.