Schaltli für 4" Waveshare DIsplay

Ich habe Schaltli nun auch noch für das hier beliebte Wavshare-Display erweitert. Darum habe ich ein Video gemacht. Vielleicht stösst es auf Interesse.

Beste Grüsse
Matthias

find ich richtig interessant zum testen … aber is das mit dem anderen Projekt esp-basiertes-touch-display-fur-vanpi kompatibel oder ist es entweder oder?

Hallo Mario
Das ist entweder oder. Das sind 2 verschiedene Herangehensweise.
Esp Display ist HTTP, und Arduino programmiert. Und du kannst nix Selbermachen, es sei denn du kannst es :wink:
Schaltili ist MQTT, und hat einen eigenen Designer. Und du musst bzw. kannst dir dein Display so zusammen setzen wie du es brauchst/willst.

danke dir arno

dann frag ich mich eigentlich nur wieso man schaltli nicht von Anfang an verwendet hat wenn es für den Endbenutzer besser ist seine eigenen sachen einzustellen

weist was ich mein?

Hallo Mario

Dank, Arno, du triffst den Nagel auf den Kopf.

Mario, Du musst übrigens nicht bei null anfangen. Ich habe die CamperUI-Screens in Schaltli nachgebaut (um einen einfachen EInstieg zu ermöglichen) und bereite das Projekt gerade so auf, dass du es laden und nach deinem Geschmack umbauen kannst. Ich melde mich hier, sobald es bereit ist.

Zu deiner Frage: Schaltli gibt es erst seit Oktober öffentlich, und die Unterstützung für das 4" kann es erst seit ein paar Tagen. CamperUI war also zuerst da, und es läuft nach dem Flashen sofort. Bei Schaltli baust du deine Screens selber und installierst dafür den Designer. Das ist mehr Aufwand am Anfang, dafür bestimmst du, was auf dem Display ist. Was einem besser passt, muss jeder selber wissen.

Auf demselben Board läuft entweder das eine oder das andere. Zum Ausprobieren musst du dich aber nicht festlegen: Mit dem Web-Flasher kommt Schaltli aufs Display (Flash a Schaltli device, Chrome oder Edge, USB-Kabel), und zurück geht es, indem du CamperUI wieder flashst wie beim ersten Mal. Die CamperUI-Einstellungen sind dabei weg, die trägst du danach neu ein.

Prüf vorher kurz die Rückseite deines Boards: Ohne «Rev 4.0» bleibt das Display dunkel. Und die Brücke liest bisher nur die Relais und Dimmer 1 bis 8.

Auf dem VanPi installierst du einmal per SSH den Designer, die Brücke zu den Pekaway-Werten kommt mit: Designer auf Pekaway installieren · Schaltli-Handbuch
Anschauen kannst du ihn auch ohne Installation: https://demo.schaltli.com

Das Handbuch zum Board: Waveshare ESP32-S3-Touch-LCD-4 · Schaltli-Handbuch

Wenn du es testest, sag mir bitte, was klemmt. Heizungen konnte ich zum Beispiel kaum testen.
Gruss
Matthias

hört sich auf jedenfalls sehr interessant an

hast überlegt den designer als Docker anzubieten? oder is das technisch nicht möglich?

Hallo Mario

Ein Docker-Image gibt es bisher nicht, technisch ginge es aber. Der Designer ist eine normale Node-Anwendung und läuft auch auf einem anderen Rechner als dem VanPi:

Auf dem VanPi selbst würde ich es ohne Docker machen. Dort richtet ein einziger Befehl alles ein, auch die Brücke zu den Pekaway-Werten, und derselbe Befehl holt später die Updates.
Wo möchtest du den Designer denn laufen lassen? Auf einem Heimserver oder einem NAS? Wenn das öfter gewünscht wird, mache ich gern ein Image.
Gruss
Matthias

braucht man den designer nur um das Layout fürs display zu erstellen oder is das gleichzeitig auch der Broker?

ich verwende halt gerne Docker Container um halt die Systeme zu trennen und wenn mal was schief gehen sollt das nicht das Host system Probleme macht

kann man die Brücke zum vanpi per Hand hinzufügen? wenn man den designer auf einem anderen host installiert?

Hallo Mario

Der Designer kann auf einem anderen Gerät laufen als der Broker. Im Designer gibst du einfach die Adresse des Brokers an, damit er die Live-Daten in der Vorschau anzeigen kann. Den Designer brauchst du nur, um Screens zu bauen und aufs Display zu schicken. Danach kann er aus sein, das Display redet nur mit dem Broker.

Installierst du ihn auf dem VanPi, startet er erst, wenn du ihn im Browser öffnest, und schaltet sich nach einer Weile wieder aus, damit er keine Ressourcen frisst. Installierst du ihn zu Hause, muss er nicht mit auf die Reise. Zum Übertragen müssen Display und Designer dann aber im selben Netz sein, zum Beispiel wenn der Van zu Hause im WLAN steht.

Die Brücke ist auch nicht Teil des Designers. Sie ist ein eigener Tab im Node-RED des VanPi, der die Pekaway-Werte auf den Broker legt und Befehle weiterreicht. Das Installationsskript legt ihn an und speichert vorher eine Kopie deiner Flows. Man kann ihn aber auch von Hand anlegen.

Zu deiner Sorge ums Host-System: Das Skript ändert an bestehenden Einstellungen nichts, bei nginx und Mosquitto legt es nur eigene Dateien dazu.

Ein Docker-Image gibt es noch nicht. Läuft der Designer in einem Container, trägst du im Deploy-Dialog unter «Change address» ein, wo das Display ihn erreicht. Ausprobiert hat das aber noch niemand.

Gruss
Matthias

Selben netz oder nur gegenseitig erreichbar

vanpi hat 10.6.50.254 und designer würde auf meinem proxmox laufen mit 10.1.10.xx

hab ein. bissl ein umfangreicheres VPN Netzwerk :rofl:

Ein Docker-Image gibt es noch nicht. Läuft der Designer in einem Container, trägst du im Deploy-Dialog unter «Change address» ein, wo das Display ihn erreicht. Ausprobiert hat das aber noch niemand.

ja das klingt nach meinem Geschmack

Hallo Mario

Gegenseitig erreichbar genügt, es muss nicht dasselbe Netz sein. Der Designer findet die Geräte über den Broker, ohne Broadcast oder mDNS, und er verbindet sich nie selbst zu einem Display. Dein VPN müsste diese Wege durchlassen:

  • Display → Broker auf dem VanPi, Port 1883
  • Display → Designer auf dem Proxmox, Port 3000 (dort holt das Display Projekt und Firmware)
  • Browser → Broker, Port 9001 (WebSocket, für die Live-Werte und das Finden der Geräte)
  • Browser → Designer, Port 3000

Auf dem VanPi brauchst du dann zwei Dinge von Hand. Mosquitto braucht den WebSocket-Zugang auf 9001, das sind drei Zeilen Konfiguration: Designer ohne Pekaway · Schaltli-Handbuch

Die Brücke kannst du vom Designer-Rechner aus in Node-RED einspielen:

node scripts/install-vanpi-bridge.js --node-red http://10.6.50.254:1880 --broker mqtt://10.6.50.254:1883 --verify

Das Skript speichert vorher eine Kopie deiner Flows und prüft danach, ob die Werte auf dem Broker ankommen. So ausprobiert habe ich es allerdings noch nicht, sag mir bitte, ob es klappt.

Läuft der Designer in einer VM mit Bridge-Netzwerk, findet er seine Adresse selbst. Bei Docker mit NAT trägst du «Change address» ein, wie geschrieben.

Den CamperUI-Nachbau als Startprojekt habe ich nicht vergessen. Im Moment schleife ich aber noch an einer neuen Funktion, mit der das Display Kamerabilder zeigt. Danach kommt der Nachbau dran, und ich melde mich hier.

Gruss
Matthias

Hallo Matthias,
Zu Weihnachten wollte ich mir das Display schenken ;-):wink:.
Ich würde das gerne mit Akku betreiben.
Was ich beim Handy festgestellt habe, das Display geht nicht ganz aus. Das bedeutet es wird unnötig Strom verbraucht. Ich könnte mir vorstellen das man das Display nach einer gewissen Zeit in den deepsleep schickt und über einen der IOs mit einem Taster das Ding wieder weckt. Und wenn man das in der Konfigurations Datei einstellen könnte, ob man das braucht oder nicht, wäre das noch besser.
Das OLED von Wulle schalte ich Nachts auch aus damit es möglichst dunkel wird.
Zudem könnte man eventuell noch 2-4 Taster vorsehen und einfach über MQTT zum pi schicken zur freien Verfügung.
Ein passendes Gehäuse muss man eh entwerfen, dan kann man da auch noch 4 oder 5 Taster vorsehen.
Mit man ist in meinem Fall mein Sohn gemeint. :grinning_face:
Gruß Arno

Hallo Arno
Dann hoffe ich, dass das Christkind mitspielt.
Beim Board mit Schaltli ist der Bildschirm wirklich aus, nicht nur dunkel. Ich sehe bei mir kein Restlicht, schwarz wie die Nacht. Im Camper finde ich dunkler auch besser, mich treiben schon die kleinen Status-LEDs der Ladegeräte in den Wahnsinn.
Ich habe nachgemessen: Mit Bildschirm zieht das 4" bei 5 V rund 0,3 A, mit ausgeschaltetem Bildschirm noch 0,12 A. Der Bildschirm geht aktuell nach einer einstellbaren Zeit ohne Berührung aus, aber der ESP läuft weiter, samt WLAN. Das sind auch im Dunkeln etwa 15 Wh am Tag, für einen Akku etwas viel. Ein Deep Sleep wäre da sinnvoll, als Einstellung auf der Einrichtungsseite, wie du schreibst. Nach dem Aufwecken muss sich das Board aber erst wieder mit WLAN und Broker verbinden, das dauert ein paar Sekunden. Daher habe ich das nicht gewollt, das Display muss anspringen und die Daten müssen zack da sein.
Die Taster-Idee gefällt mir sehr. Nachts findet man den Taster fürs Toilettenlicht auch blind. Bequem erreichbar sind an den Steckklemmen I2C, RS485 und CAN. Am einfachsten wäre ein Port-Expander am I2C, ein PCF8574 für 8 Taster oder ein MCP23017 für 16. Der Designer kennt Hardware-Tasten schon, und eine Taste kann eine MQTT-Nachricht an den Pi schicken oder den Screen wechseln oder viele Andere aktionen, alles im Designer belegbar, pro Screen anders oder immer gleich, wie du willst.
Ein Haken: Am I2C des Boards sitzt schon ein Chip auf Adresse 0x24, der das Display steuert. Der Expander darf also nicht auf 0x24 stehen, ein PCF8574A auf 0x38 bis 0x3F umgeht das ganz. Und zum Aufwecken aus dem Deep Sleep reicht der Expander allein nicht, dafür bräuchte es einen freien Pin am ESP.
Sag mir, welchen Expander der Weinhachtsmann bringt, dann schauen wir das zusammen an.
Gruss
Matthias