Forum: Haus & Smart Home LCD Touch für KNX/EIB


von Arno S. (holibu)


Angehängte Dateien:

Lesenswert?

Hallo liebe Hausbus Gemeinde,

ich habe ein bezahlbares Bedienpanel mit brauchbarem Funktionsumfang für 
meine KNX/EIB Anlage gesucht - und nicht gefunden. Das war der Anstoß 
für mich das hier vorgestellte Projekt zu starten. Natürlich ist 
"bezahlbar" und "brauchbar" Ansichtssache.

Als zentrales Anzeige- und Steuerelement für meine KNX/EIB Anlage habe 
ich ein TFT Touch Display gebaut. Es besteht aus einem 3.2" TFT Modul 
(320x240) mit Touch und 16k Farben, das durch eine von mir entwickelte 
Basisplatine angesteuert wird. Die Anzeige ist Seitenweise organisiert. 
Die Seiten werden mit einem Java Tool zusammengestellt und mit Hilfe 
einer SD Karte in das Gerät übertragen.
Als Seiteninhalt stehen verschiedene Anzeigeelemente bereit: Jumper (zum 
Seitenwechsel), statischer Text, statische Bilder, Schalter (für 
Schalten/Dimmen/Rolläden), LED (binäre Anzeige) und Zahlenwert Anzeige. 
Die Elemente lassen sich frei auf den Seiten positionieren. Für alle 
Elemente können beliebige Vorlagen im jpg oder png Format importiert 
werden. Mit anderen Worten: Die grafische Gestaltungsvielfalt ist nur 
durch eure Fantasie beschränkt! Die Elemente auf den Fotos zeugen somit 
von meinen eingschränkten künstlerischen Fähigkeiten ;-)
Eine Soundausgabe ist vorgesehen. Momentan piepst das Gerät nur bei 
Berührung, da wird noch mehr gehen.

TFT Modul und Basisplatine haben die Abmessungen 94x64mm und sind 
aufeinandergesteckt ca. 21mm dick (+ Wago Stecker). Das ganze bekommt 
man noch ganz gut UP in eine Wand.
Das Gerät benötigt neben der EIB Busspannung für den TPUART noch eine 
Hilfsspannung von 12V bis 30V. Durch die galvanische Trennung vom Bus 
können auch mehrere Displaymodule an einer gemeinsamen Versorgung 
arbeiten. Die Leistungsaufnahme aus der Hilfsspannung ist <2W.

Als Controller werkelt ein ATMega128 bei 8MHz. Betriebssystem ist 
Nut/OS, Firmware ist in C geschrieben. Nut/OS macht hier nur die 
Taskverwaltung. Eine Ethernet Schnittstelle ist nicht vorhanden.
Der Bildaufbau bei Seitenwechseln erfolgt innerhalb von ca. 300ms. Der 
16MB große Speicher kann > 30 Seiten aufnehmen. Für ein privat genutztes 
Objekt sicherlich ausreichend. Das TFT Modul stammt aus der Bucht und 
kommt für ca. 18€ frei Haus.

Momentan ist mein TFT Touch ein reines KNX/EIB Gerät. Anstelle des 
TPUART könnte man an der seriellen Schnittstelle natürlich auch andere 
Schaltungen ankoppeln. Damit wäre die Hardware auch für andere Systeme 
und Anwendungen zu nutzen.
Einige Bauteile auf dem Basisboard sind wegen dem kleinen Pinabstand nur 
sehr schwer von Hand zu löten. Daher bietet sich eine professionelle 
Fertigung des Basisboards an.

Für die Planung weiterer Schritte würde ich mich über Feedback freuen, 
bevor ich weiter Zeit und Geld in das Projekt investiere:
Besteht generelles Interesse an
- einem Nachbau?
- einem Kauf des bestückten Basisboards?
- der Anpassung an andere System?
- einem Kit für eigene Projekte ohne KNX/EIB bestehend aus Basisboard 
und Basis Software?
Welche Infos fehlen noch?
Welche Funktionen fehlen?

Die Kosten für das Basisboard kann ich aufgrund fehlender Erfahrung 
leider noch nicht genau beziffern. Mich haben die Bauteile für die 
Prototypen in der Elektronikapotheke 'ne Menge gekostet (ca. 80€ incl. 
Platine), aber da habe ich nicht lange Preise verglichen. Da es sich bei 
den Bauteilen eigentlich um relativ antikes Schüttgut handelt und die LP 
zweiseitig ohne Feinleiter ist sollte man in Stückzahlen deutlich 
günstiger wegkommen. Bei entsprechender Resonanz kümmere ich mich da 
gerne mal um genauere Preise.

Viele Grüße,
Arno

von heinzhorst (Gast)


Lesenswert?

Ich persönlich hätte im Moment zumindest zwar keine Verwendung dafür, 
aber trotzdem: Hut ab! ein Klasse Projekt!

von Jörg S. (joerg-s)


Lesenswert?

Ja, sehr nettes Teil :)

von Jaglard (Gast)


Lesenswert?

Sehr interessant.

Ganz verstehe ich die Software-Seite noch nicht. Mit dem Java Programm, 
so verstehe ich, werden die Tabs erzeugt und dann auch in die SD Karte 
lädt. Dieses Nut/OS macht dann eine Task Verwaltung. Ist das dann so, 
dass der Button-Press einen individuellen Task auslöst?

Und diese Tasks, wie sind die geschrieben? Auch in C? Jeweils eine 
Funktion, die über Nut angeschubst wird? Dieser C Code muss doch dann 
ein Kommando an den TPUART anschubsen, oder?

Ist ja quasi eine kleine Visualisierung ähnlich den kaufbaren EIB Teilen 
mit Display, richtig?

Lass bitte mal noch mehr hören.

von Arno S. (holibu)


Lesenswert?

Jaglard schrieb:
> Ist ja quasi eine kleine Visualisierung ähnlich den kaufbaren EIB Teilen
> mit Display, richtig?
Ja, richtig. Im prinzip ist das Gerät eine mini Visu. Aufgrund der 
kleinen Maße kann man es aber viel flexibler einsetzen, z.B. auch als 
Multifunktionstaster. Es hängt halt nicht direkt so ein Klotz an der 
Wand und der Stromverbrauch ist auch vernachlässigbar.

Die Java Software erzeugt eine Konfigurationsdatei, in der die 
Seitenbeschreibungen und Bilder abgelegt sind. Diese Daten werden dann 
in das Gerät geladen. Es sind reine Daten, Code ist nicht enthalten.

Im Gerät läuft eine Firmware, die Bustelegramme senden und empfangen 
kann sowie die TFT Ansteuerung und Touch Auswertung übernimmt. Diese 
Firmware entnimmt der Projektdatei die Informationen über Seitenaufbau 
etc. und stellt entsprechend die Seiten dar bzw. erfährt was bei 
Berührung des Displays zu tun ist. Die Typen der Seitenelemente sind in 
der Firmware des Geräts bekannt, also z.B. "Jumper", "Button" oder 
"LED". Die grafische Gestaltung der Seitenelemente ist über die 
Projektdatei bestimmt, nur die Funktion ist in der Firmware verankert.

Die Firmware ist in C programmiert. Ich benutze Nut/OS als Unterbau. Die 
Firmware besteht aus mehreren Tasks (oder Threads, z.B. Touch-Abfrage, 
Telegramm Empfang, Telegramm Senden etc.), deren Ablauf Nut/OS 
verwaltet.
Ein Touch-Event auf einen Button wird z.B. von der Task zur Touch 
Auswertung festgestellt, die darauf hin der Sende-Task einen 
entsprechenden Befehl gibt. Das sind alles in der Firmware vordefinierte 
Prozesse.
Die Firmware ist entspechend modular aufgebaut, sodaß neue Element Typen 
leicht hinzugefügt werden können. Aktuell plane ich z.B. noch einen 
"Slider" um Dimmer grafisch regeln zu können. Das geht dann aber nur 
über Erweitung der Firmware und Java Software, da beide das neue Element 
kennen müssen.
Selbstverständlich kann die Firmware auch über die SD-Karte aktualisiert 
werden, sodaß umständliches Hantieren mit einem Programmer hierzu 
unnötig ist.

von Jaglard (Gast)


Lesenswert?

Nett. Hast Du was mit der Freebus Gemeinde zu tun?

von Arno S. (holibu)


Lesenswert?

Jaglard schrieb:
> Nett. Hast Du was mit der Freebus Gemeinde zu tun?
Nein. Ich besitze dort lediglich einen User Account. Dieses Projekt ist 
völlig unabhängig von FreeBus. Ich werde es aber dort auch einmal 
posten.

von Jaglard (Gast)


Lesenswert?

Ich würde mir gerne einmal Deinen Code zum Senden/Empfangen der 
Telegramme anschauen, sofern Du bereit wärest, diesen zu teilen. Es gibt 
da zwar schon Codeschnipsel bei der Freebus Gemeinde für die NXP LPC uC, 
allerdings bin ich auch mehr auf der AVR Seite zuhause.

Dein Projekt als ganzes ist auch höchst interessant, allerdings bin ich 
z.Z. mit den Basics (Tasterschnittstellen, eigenes Aktorsystem) noch 
komplett gefordert - da muss ich mich wg. Hausbau jetzt ranhalten.

Höfflich fragen kostet nichts, wäre das möglich?

von Christian K. (christian_rx7) Benutzerseite


Lesenswert?

Hallo.

Die Buskomunikation läuft auf dem Board sicherlich anders als beim 
Freebus, da hier der TPUART zum Einsatz kommt, welcher einem das Leben 
sicherlich um vieles Leichter macht.

Grundsätzlich ein sehr interessantes Projekt, wieviel soll den in etwa 
eine bestückte Platine kosten?

Christian

von Arno S. (holibu)


Lesenswert?

Christian Kreuzer schrieb:

> Die Buskomunikation läuft auf dem Board sicherlich anders als beim
> Freebus, da hier der TPUART zum Einsatz kommt, welcher einem das Leben
> sicherlich um vieles Leichter macht.
Genau. Für FreeBus Komponenten ist mein Code nicht geeignet.

> Grundsätzlich ein sehr interessantes Projekt, wieviel soll den in etwa
> eine bestückte Platine kosten?
Ich werde nächste Woche eine Preisanfrage machen. Der Preis hängt 
natürlich von der Stückzahl ab, der Bestücker will ja etwas verdienen. 
Sprich je mehr Interessenten desto günstiger der Preis.

Arno

von Jagernaut (Gast)


Lesenswert?

2 Fragen:
Gibt es ein passendes Gehäuse fuer UP, was optisch einigermassen 
aussieht?
Wird das opensource (zumindest wenn gekauft)?
Gruesse

von elö (Gast)


Lesenswert?

Kann man das Teil mit ETS4 konfikurieren oder geht das nur mit extra SW 
bzw. im Quellcode?

von Arno S. (holibu)


Lesenswert?

elö schrieb:
> Kann man das Teil mit ETS4 konfikurieren oder geht das nur mit extra SW
> bzw. im Quellcode?
Zur Konfiguration dient der Editor. Die ETS braucht man nicht. 
Kompilieren muss man auch nichts. Mit dem grafischen Editor baut man 
sich die Seiten zusammen und schreibt eine Konfigurationsdatei auf eine 
SD Karte. Diese Karte schiebt man in das Display und überträgt die Daten 
in das Gerät. Danach kann die Karte wieder entfernt werden. 
Physikalische Adresse wird momentan auch noch über die 
Konfigurationsdatei übertragen. Es ist keinerlei Spezialwissen über die 
LCD Hard- oder Software nötig. Man muss nur wissen wie EIB Komponenten 
über Gruppenadressen kommunizieren.
Eine mögliche Erweiterung wäre die physikalische Adresse über den Bus zu 
programmieren. Ist aber momentan nicht implementiert.
Die Gruppenadressen werden momentan noch von Hand eingetragen. Eine 
denkbare Erweiterung wäre, die Gruppenadressen über eine .csv Datei von 
der ETS in den Editor zu übernehmen. Das würde das Abtippen der Adressen 
bei der Projekterstellung ersparen.

Arno

von Arno S. (holibu)


Lesenswert?

Jagernaut schrieb:
> 2 Fragen:
> Gibt es ein passendes Gehäuse fuer UP, was optisch einigermassen
> aussieht?
Für meinen Prototypen habe ich eine 2mm dicke Kunststoffplatte genommen, 
in die ich einen Ausschnitt für die aktive Displayfläche geschnitten 
habe. In der Wand ist ein Loch, in der die Elektronik verschwindet. 
Dieses Loch wird von der besagten Frontplatte abgedeckt. Alternativ wäre 
natürlich auch Alu oder jedes andere Material möglich. Die Elektronik 
ist an der Frontplatte befestigt. Dadurch ist das Display immer korrekt 
hinter dem Loch ausgerichtet. Von aussen liegt nur die Platte auf der 
Wand auf. Kanten und Ecken könnte man natürlich brechen oder abrunden. 
Ich denke so etwas bekommt man auch für relativ kleines Geld 
angefertigt.
Als UP Gehäuse kann dann eine relativ beliebige Kiste dienen, solange 
sie von der Frontplatte abgedeckt wird. Ich habe das Display nur im 
Wandausschnitt festgeklemmt. Hält ausreichend und so bekommt man es zum 
umprogrammieren einfach wieder heraus.
Momentan ist meine Frontplatte aus Plexiglas. Sieht leider nicht so 
schön aus wie gedacht, weil man von der Elektronik nicht viel sieht, 
dafür aber die unsauberen Schnittkanten des Wandausschnitts. Ich werden 
demnächst mal eine neue Platte aus grauem Kunststoff machen oder eine 
Aluplatte fräsen lassen. Dann ist die Konstruktion auch fotogen :-)

> Wird das opensource (zumindest wenn gekauft)?
Habe ich noch nicht entschieden. Momentan denke ich daran zumindest eine 
Basis Software für eigene Experimente mitzugeben. Das komplette Projekt 
vorerst wohl nicht.

Arno

von Arno S. (holibu)


Lesenswert?

Hallo,
ich habe mich mal um Preise gekümmert. Eine Auftragsfertigung lohnt sich 
bei den wenigen erkennbaren Interessenten bei weitem noch nicht. Auf der 
anderen Seite kann ich die paar noch von Hand bestücken. Als Preis für 
das Basisboard komme ich so auf 89,-€. Dazu braucht ihr noch ein LCD 
Modul aus der Bucht, Artikel# 200475566068 (aktuell ca. 13,70€), und 
eine Frontplatte mit entsprechendem Ausschnitt, evtl. noch ein 
Gehäuseunterteil. Ein Frontplattenmuster aus Alu werde ich in kürze für 
mich anfertigen lassen. Es wird als Einzelstück wohl unter 20€ liegen.
Bei konkretem Interesse bitte ich um eine PM.

Arno

von Arno S. (holibu)


Angehängte Dateien:

Lesenswert?

Hier ist die aktuelle Version des Editors, mit dem die Seiten für das 
LCD aufgebaut werden. Mit der vorliegenden Version kann man alle 
momentan verfügbaren Funktionen des Geräts verwenden. Das Tool hat Beta 
Stadium, d.h. es werden nicht alle Möglichkeiten der Fehlbedienung 
abgefangen. Mit dieser Version erstellte Projekte sollten auch mit 
kommenden Versionen kompatibel bleiben, soweit ich es testen kann. Auf 
jeden Fall werde ich das Tool noch weiter entwickeln.
Die Dokumentation zum LCD Touch Modul selbst beschreibt das 
Komplettgerät, also Basis Board + LCD Modul. Das LCD Modul müsst ihr 
euch wie beschrieben selbst beschaffen.

Arno

von KNX user (Gast)


Lesenswert?

Hallo Arno, hast du den Stack für die Kommunikation komplett selber 
geschrieben?
Gruß
KNX user

von Arno S. (holibu)


Lesenswert?

Ja, habe ich. Das Protokoll an sich ist nicht schwer, vom Bustiming 
entkoppelt der TPUART und das Multitasking macht Nut/OS.

Gruß,
Arno

von Hugo P. (portisch)


Lesenswert?

@Arno S.

Mich würde interessieren mit welcher Software die 3D Grundrisse vom Haus 
gemacht wurden!?

Für mein Haus möchte ich mir auch so eine 3D Darstellung machen.

von Arno S. (holibu)


Lesenswert?

Hallo Hugo,

die Bilder sind mit SweetHome gemacht : www.sweethome3d.com/de/

Eigentlich so eine Art Einrichtungsplaner, für solche Zwecke auch 
bestens geeignet.

Arno

von ur63 (Gast)


Lesenswert?

Hallo,
ist es geplant alternativ noch ein größeres, als ein 3.2" Display 
einzubinden? Denke an irgendwas 5-8 Zoll Touch...

von Arno S. (holibu)


Lesenswert?

Hallo,

momentan nicht. Das Board ist auf das Interface der 3,2" bzw. 2.4" 
Displaymodule zugeschnitten. Ein größeres Displaymodul mit gleicher 
Schnittstelle kenne ich nicht.

Gruß,
Arno

von ur63 (Gast)


Lesenswert?

Das Design Deiner HW nicht genau kennend, wäre Teil unter Artikel-Nr. 
200641684729 nicht eine gute Grundlage auf der man Dein Design 
adaptieren könnte?!? Denke an TPUART-Adapterplatine an das STM32 Board 
angebunden oder alternativ gar eine IP-Anbindung (spätere 
Ausbaustufe...).

von Arno S. (holibu)


Lesenswert?

Es stimmt, mit diesem Board hat man eine gute Basis für eine neue 
Generation. Eine TPUART Schnittstelle lässt sich anschließen und die 
Spannungsversorgung sollte auch kein Thema sein. Die Software für mein 
Board ist allerdings stark auf die Hardware abgestimmt. Es wären größere 
Anpassungen nötig, für die mir momentan die Zeit fehlt. Mal sehen, der 
nächste Winter kommt bestimmt :-)

von Martink11 M. (Firma: google) (martink11) Flattr this


Lesenswert?

Hallo,

dein LCD-Editor ist recht gut.

wäre es evtl. noch möglich dass die displaygröße einstellbar ist.

zumindest würde ich 640x480 benötigen.
ich denke mir dass das kein soo großer aufwand wäre.

vielen dank!

von Arno S. (holibu)


Lesenswert?

Hallo Martin,

eine Erweiterung des Editors wäre nicht so kompliziert. Momentan 
unterstützt das Baseboard aber keine anderen Displayformate als 320x240. 
Insbesondere das Interface zu größeren TFT Modulen scheint bezüglich der 
Stromversorgung etwas anders zu sein. Ich werde mir demnächst mal eins 
besorgen und das ausporbieren.

Viele Grüße,
Arno

von E. H. (emax)


Lesenswert?

Tolle Arbeit!

Thread abonniert.

von Arno S. (holibu)


Lesenswert?

E. Hermanns schrieb:
> Thread abonniert.

Vielen Dank für dein Interesse. Dieser Thread ist eher still geworden. 
Auf Freebus.org unter "Bugs" findest du mittlerweile eine recht 
umfangreiche Beschreibung.

Viele Grüße,
Arno

von Alexander W. (alexander_w58)


Lesenswert?

Grüße dich Arno,

kannst mich bei Gelegenheit kontaktieren.

Besten Dank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.