logo elektroda
logo elektroda
X
logo elektroda

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

p.kaczmarek2 
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:


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.

Über den Autor
p.kaczmarek2
p.kaczmarek2 hat 11793 Beiträge geschrieben mit der Bewertung 9913 , und dabei 563 Mal geholfen. Er ist seit 2014 bei uns.

Kommentare

Kommentar hinzufügen
feger1 23 Jun 2024 20:20

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... [Mehr erfahren]

p.kaczmarek2 24 Jun 2024 13:40

Vielen Dank für den Kommentar. Soweit ich sehen kann, scheint das SDK noch keine statische IP-Einstellung angeschlossen zu haben: void wifi_init_sta(const char* oob_ssid, const char* connect_key, obkStaticIP_t... [Mehr erfahren]

feger1 24 Jun 2024 21:51

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. [Mehr erfahren]

p.kaczmarek2 26 Jun 2024 17:57

Natürlich funktioniert OTA auf der LN882H-Plattform. Hier ist ein Tutorial für BK7231 (für LN ist es ähnlich): [Mehr erfahren]