Nextion: Unterschied zwischen den Versionen

Aus FHEMWiki
Zeile 32: Zeile 32:
:<code> set <myNextion> cmd t0.txt="\"" . "test" . ""\";</code>
:<code> set <myNextion> cmd t0.txt="\"" . "test" . ""\";</code>
handelt es sich um Zahlen, dann
handelt es sich um Zahlen, dann
:<code>  set <myNextion>cmd t1.txt=12345;</code>
:<code>  set <myNextion> cmd t1.txt=12345;</code>


== Links ==
== Links ==
* [https://nextion.itead.cc/nextion-shop/ Nextion Shop von Itead]
* [https://nextion.itead.cc/nextion-shop/ Nextion Shop von Itead]
* [https://nextion.itead.cc/resources/datasheets/ Datenblätter]
* [https://nextion.itead.cc/resources/datasheets/ Datenblätter]

Version vom 2. März 2019, 11:28 Uhr

Nextion
Zweck / Funktion
Anbindung von Nextion Touch Displays
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Support (Forum) Bastelecke
Modulname 42_Nextion.pm
Ersteller viegener
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!


Das FHEM Modul Nextion dient zur Einbindung der kostengünstigen, mit serieller Schnittstelle ausgestatteten Displays, die von der Firma Fa. Itead in verschiedenen Größen angeboten werden.

Modelle

Es gibt zwei Grundmodelle (basic und enhanced), wobei die enhanced-Modelle Zugriff auf GPIOs erlauben. Beide Modelle sind in Größen von 2,4 Zoll bis 7 Zoll erhältlich.

Inbetriebnahme

Die Nextion-Displays benötigen eine stabile 5V Spannungsversorgung. Zudem befindet sich auf dem Display ein 3.3V-Ausgang, der aber maximal 100 mA liefert und daher nicht für die Anbindung leistungsintensiver Geräte (dazu gehört schon der ESP8266) genutzt werden kann. Ausgeliefert werden die Displays mit einem vierkabligen Anschluss, der die Spannungsversorgung (5V und GND) sowie die serielle Schnittstelle (Rx und Tx) liefert.

Um die Displays anzuschließen, muss daher die serielle Schnittstelle physisch mit der vorhandenen Infrastruktur gekoppelt werden. Dabei bietet es sich an, die Displays ins eigene WLAN-Netz einzubinden (auch eine direkte USB-Verbindung ist denkbar). Die Einbindung ins WLAN kann beispielsweise mit den ESP8266-Modulen vorgenommen werden, da diese auch über eine serielle Schnittstelle verfügen und zudem leicht für das eigene WLAN vorbereitet werden können. Dies kann geschehen mit ESPEasy oder ESPlink; in letzterem Fall würde der Chip bei Verwendung von esptool.py wie folgt zu flashen sein

esptool.py --port /dev/tty.<USB Port eintragen> write_flash -fm qio -ff 80m 0x00000 boot_v1.7.bin 0x01000 user1.bin 0x3fc000 esp_init_data_default.bin 0x3fe000 blank.bin

In diesem Forenthema wird intensiv diskutiert, ob die serielle Schnittstelle mit einem Spannungsteiler oder direkt an den ESP angeschlossen werden kann. Da die Produkte aus Fernost oft massive Abweichungen von den Standards besitzen können, sollte hier nachgemessen werden. Ist ein Spannungsteiler nötig, kann man sich etwa an diesem Schaltplan orientieren.

Eine möglichst einfache Anbindung scheint dann gegeben, wenn man einen Wemos D1 Mini verwendet. Dieser besitzt einen Micro-USB Anschluss, der die 5V Stromversorgung für das Display liefert; mehrere User berichteten, dass sie das Display direkt (also ohne Spannungsteiler) an den Wemos anschließen konnten. Wird nun noch der Wemos mit ESPLink bespielt (siehe oben), kann man das Display über das Internet (Port 23) direkt ansprechen.

Einbindung in FHEM

Es gibt zwei Möglichkeiten, die Displays zu programmieren. Einmal bietet Itead mit dem Nextion Software Editor eine Windows-basierte Software an, mit der man auf dem Display verschiedene Stilelemente (Buttons, Labels, Pages etc.) platzieren kann. Dabei ist zu beachten, dass eventuelle Schriftarten zuerst erstellt und ebenfalls geladen werden müssen. Ein Video für eine solche Installation findet man etwa hier. Ebenso findet sich eine sehr gute Einführung in die Programmierung auf folgender Webseite von Böcker. Nachdem die Software kompiliert wurde, muss sie hochgeladen werden. Das kann entweder durch eine micro-SD-Karte geschehen, die man in das Display steckt. Oder man verwendet die serielle Schnittstelle, mit der man die Firmware hochlädt (upload-Button im Editor).

Eine andere Möglichkeit besteht darin, mit Hilfe der seriellen Schnittstelle das Modul 42_Nextion.pm zu verwenden. Dieses Modul ist bereits in der Standardinstallation von FHEM enthalten. Man legt dazu ein device an

defmod <myNextion> Nextion <hostname/ip>:23@112500

und folgt der Darstellung aus der Commandref. Die Baudrate kann man der Portnummer mit @ anhängen.

Im Gerät angelegte Elemente spricht man dann zum Beispiel so an

set <myNextion> cmd t0.txt="\"" . "test" . ""\";

handelt es sich um Zahlen, dann

set <myNextion> cmd t1.txt=12345;

Links