logo elektroda
logo elektroda
X
logo elektroda

Flashen des LN882H mit Open-Source-Firmware im Tasmota/Esphome-Stil - inkl. Backup-Prozedur

p.kaczmarek2 2292 4
WERBUNG
  • LN882H-Modul mit sichtbaren elektronischen Bauteilen auf gelbem Hintergrund.
    Hier zeige ich, wie man die neuen LN882-Module einfach über den UART flashen kann, genau wie den ESP8266. Das Flashen dieser Module wird es bald ermöglichen, sie aus der Cloud zu befreien und mit dem Home Assistant zu verbinden. Ich habe bereits einige der technischeren Details in the LN882H datasheet topic behandelt, daher werde ich hier nur die Anleitung zum Ändern der Firmware vorstellen.

    Vorbereitung der Hardware
    Man braucht einen USB-zu-UART-Konverter und eine zuverlässige 3,3-V-Stromversorgung. Die Stromversorgung direkt über den 3,3-V-Pin des USB-zu-UART-Konverters funktioniert möglicherweise nicht.
    Das Verfahren ist dem von ESP8266 und BK7231 sehr ähnlich, hier kann man sich unsere Flash-Tutorials ansehen:
    https://www.youtube.com/@elektrodacom
    Aber grundsätzlich muss man im Fall von LN882 Folgendes anschließen:
    - Modul TX -> UART RX
    - Modul RX -> UART TX
    - Modul GND -> UART GND
    - Modul 3V3 -> UART 3V3 (man muss sicherstellen, dass USB UART den 3V3-Modus unterstützt und sich im 3V3-Modus befindet, falls dieser wählbar ist)
    - Modul BOOT/GPIOA9 -> GND
    GPIOA9 muss während des gesamten Flash-Vorgangs auf LOW bleiben (nicht trennen!)
    Sobald alle Verbindungen hergestellt sind, den USB-zu-UART-Konverter an den Computer anschließen.

    HINWEIS: Wenn der Flash-Versuch fehlschlägt oder man ein zweites Mal flashen möchte, den USB-zu-UART-Konverter unbedingt von dem Computer trennen und ihn wieder anschließen, während das BOOT-Signal LOW gehalten wird.

    Auslöten des Moduls usw.
    Wenn du neu im Löten bist, kannst du dir einige unserer BK7231-Flash-Tutorials ansehen. BK7231 ist ein anderes Modul, aber die Lötmethode ist dieselbe. Zum Beispiel:



    Mit Flussmittel, zusätzlichem Blei-Zinn-Lot und Entlötlitze lässt sich das Modul problemlos entlöten.
    Hier ist das entlötete Modul:
    WiFi-Modul mit Lightning LN882H-Chip auf einer Holzoberfläche. LN882H-Modul mit sichtbaren Anschlüssen und Pin-Beschriftungen.
    Um die Drähte leicht zu verlöten, zunächst etwas Flussmittel auftragen:
    LN882-Modul mit sichtbaren Lötpunkten und Markierungen TX, RX und BOOT.
    Dann etwas Blei-Zinn-Lot auf die Lötflächen geben (auch die Drähte verzinnen):
    Leiterplatte mit Pins, die als 3V3, GND, RX, TX, A1, A0 und BOOT beschriftet sind.
    Dann die Drähte löten:
    Bild des LN882-Moduls mit verlöteten Kabeln.
    Und schließlich meine Schaltung – es ist ein USB-zu-UART-Konverter im 3,3V-Modus mit einem zusätzlichen AMS1117-3,3V / TC1264-3,3V-LDO auf dem Steckbrett, damit ich eine zuverlässige 3,3V-Stromquelle bekomme:
    Steckbrett mit angeschlossenen Drähten und USB-zu-UART-Konverter auf einem Holztisch.

    Original-Firmware-Backup erstellen
    Beide Archive in ein einziges Verzeichnis entpacken, z. B:
    Screenshot des Verzeichnisses LN882H_Flash_Dumper auf Windows.
    Dorthin in CMD navigieren, Python installieren, falls es fehlt, COMx zu dem Namen deines COM-Ports ändern, z. B. COM15, und den Befehl ausführen:
    
    python LN882H_Flash_Dumper.py COMx flashdump
    

    HINWEIS: du musst dich im selben Verzeichnis wie das Python-Skript befinden! Andernfalls erhältst du diese Fehlermeldung:
    Screenshot eines Python-Fehlers während eines Flash-Dump-Versuchs mit dem LN882H Flash Dumper.
    Falls du etwas falsch angeschlossen oder RX und TX vertauscht hast, erhältst du Folgendes:
    Screenshot eines Fehlers beim Ausführen des LN882H Flash Dumper.
    Andernfalls wird ein langsamer und langer Flash-Dump-Vorgang gestartet:
    Screenshot zeigt den Prozess des Speicherauszugs im Terminal.
    Das Flash-Lesen wird bis zum Ende des Flashens fortgesetzt und mit der folgenden Meldung beendet:
    Screenshot mit Fehlermeldung Error: Fail. Command execution error.
    Dies ist kein Fehler! Die Dump-Dateien werden hier erstellt:
    Ansicht des Verzeichnisses LN882H_Flash_Dumper mit verschiedenen Dateien.

    Neue Firmware flashen
    Besorge dir zuerst die neue Firmware für die NL882H-Plattform. Sie sollte hier verfügbar sein, entweder über den Link oder die Registerkarte Releases:
    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/LN882H.md
    https://github.com/openshwprojects/OpenBK7231T_App
    Navigiere zum Verzeichnis, genau wie beim Flash-Backup, und verwende dann:
    
    LN882H_CMD_Tool.exe COMx download flash 921000 0x0 flashimage.bin
    

    Das Flashen dauert einige Augenblicke:
    Konsolen-Screenshot, der den Flash-Prozess des LN882H-Moduls zeigt.
    Um die Firmware auszuführen, alles von der Stromversorgung trennen, den BOOT von der Masse trennen und die Stromversorgung wieder anschließen:
    Screenshot der WLAN-Verbindung zum OpenLN882H-Netzwerk.
    Eine Verbindung zum Zugangspunkt herstellen, die Seite 192.168.4.1 öffnen und das Gerät konfigurieren wie jedes andere OpenBeken/OpenBL602/OpenW600/OpenW800/OpenXR809/Tasmota-Gerät.
    OpenLN882H-Benutzeroberfläche mit Konfigurationsschaltflächen.
    OBK-Tipps sind auf unserem Kanal zu finden:
    https://www.youtube.com/@elektrodacom
    Eine allgemeine Liste von IoT-Geräten und eine Liste von Tutorials ist hier:
    https://openbekeniot.github.io/webapp/devicesList.html

    Anhänge
    Dies sind die Tools, die zum Flashen verwendet werden, wie in diesem Thema beschrieben:
    LN882H_Fla...Dumper.zip Download (1.15 kB) LN882H_Too...1.0.16.zip Download (4.36 MB)

    Zusammenfassung
    LN882H ist sehr einfach über UART flashbar, genau wie ESP. Man muss 5 Drähte anlöten: 3,3V, Masse, RX, TX und Boot-Signal, wobei Boot auf low gezogen werden muss, damit der Bootloader funktioniert. Denke daran, nach jedem Flash-Vorgang das gesamte Modul aus-/einzuschalten, dies ist obligatorisch. Das Flash-Verfahren ermöglicht es, unsere Multiplattform-Firmware zu flashen, damit die Geräte mit Home Assistant arbeiten können und frei von der Cloud sind.
    PS: Zum Zeitpunkt der Veröffentlichung dieses Themas ist der LN882H-Port noch in Bearbeitung, also bitte geduldig warten, bis die Veröffentlichung auf Github stattfindet.

    Cool? DIY-Rangliste
    Hilfreicher Beitrag? Kauf mir einen Kaffee.
    Über den Autor
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    p.kaczmarek2 hat 11907 Beiträge geschrieben mit der Bewertung 9979, und dabei 571 Mal geholfen. Er ist seit 2014 bei uns.
  • WERBUNG
  • #2 21129729
    feger1
    Niveau 2  
    Hallo!

    Ich habe nach obiger Anleitung 2x Steckdosen mit Openbeken geflasht. Das hat wunderbar geklappt und sie sendet auch die Daten per MQTT.
    Danke vielmals für die tolle Anleitung.
    Das einzige was mir aufgefallen ist, das ich keine statische IP vergeben kann. Ich kann sie zwar eintragen, aber er speichert sie nicht.
    Hat jemand eine Ahnung woran das liegen kann?
    Mich irritieren auch die hu.hu.hu.hu Einträge (siehe Screenshot).
    Screenshot der Netzwerkkonfigurationsoberfläche von Temu Steckdose 1.
  • WERBUNG
  • #3 21130533
    p.kaczmarek2
    Moderator Smart Home
    Vielen Dank für den Kommentar. Soweit ich sehen kann, scheint das SDK noch keine statische IP-Einstellung angeschlossen zu haben:
    Code: C / C++
    Melde dich an, um den Code zu sehen

    Dies muss hinzugefügt werden, die obige Funktion muss einfach so geändert werden, dass sie obkStaticIP verwendet. Gesamte Datei:
    https://github.com/openshwprojects/OpenBK7231...ob/main/src/hal/ln882h/hal_wifi_ln882h.c#L188
    Du kannst versuchen, es zu tun, wenn du die Möglichkeit hast (und du hast die UART angeschlossen, um eine Flash-Wiederherstellung zu machen, wenn nötig), sonst werde ich es versuchen, wenn ich etwas Zeit habe.
    Hilfreicher Beitrag? Kauf mir einen Kaffee.
  • WERBUNG
  • #4 21131106
    feger1
    Niveau 2  
    >>21130533
    Ist es auch möglich die Änderung per OTA einzuspielen?
    Denn sonst müsste ich die beiden Steckdosen wieder zerlegen, den Chip auslöten, flashen und wieder zusammen bauen.
WERBUNG