2014-12-16T21:01:03+00:00 Komponenten

KNX Komponenten | Zugang zum Bus über eine serielle Schnittstelle?

© Nappiness / Pixabay.comhttp://knx-blogger.de/wp-content/uploads/2014/12/pixabay/c/stress_1418733281-150x150.jpg

Im Artikel KNX Programmierung über ein Netzwerk mit eibd hab ich beschrieben wie du über eine serielle Schnittstelle (also RS232 Interface) und eibd, Zugang zum KNX Bus kriegst. In der Zwischenzeit habe ich meine serielle Schnittstelle auf dem Testbrett eingemottet und durch ein IP-Interface ausgetauscht. Warum? Weil es langsam Zeit wurde. Der heutige Artikel beschreibt wie viele Lektionen ich gebraucht hab um mich von RS232 zu trennen.

Serielle Schnittstellen und aktuelle ETS Software.

Die ETS Treiber für eine serielle Schnittstelle laufen nur auf 32bit Betriebssystemen. Das heißt diese Treiber funktionieren nur unter Windows XP oder älter. OK, ist noch kein Hindernis. Viele haben noch XP und die ETS4 um die Komponenten zu parametrisieren. Doch die ETS5 läuft nicht mehr auf XP. Diese setzt Windows 7 oder besser voraus, also nix mehr mit parametrisieren über eine serielle Schnittstelle. Wenn du die aktuelle ETS5 nutzen willst bist du gezwungen auf ein USB- oder ein IP-Interface aufzurüsten. Es sei denn du nutzt Linux und eibd als Router.

Linux und eine serielle Schnittstelle zum KNX Bus.

Ganz ehrlich? Diese Schnittstellen sind inzwischen 20 Jahre alt und stammen aus den Anfängen von KNX. Ja sie sind noch kompatibel und bieten alle Funktionen um sich mit dem Bus zu verbinden. Auch heute noch kannst du mit einem original Käfer, der 30 Jahre alt ist ,zwischen Hamburg und Frankfurt pendeln. Das geht, aber willst du das wirklich? Ich möchte dir mal meine Leidensgeschichte erzählen.

Mein Umstieg zum IP-Interface. Mit großer Gegenwehr.

Alle lernen aus Fehlern. Manche aus eigenen manche sogar aus fremden. Ich gehöre eher zur ersten Fraktion und beantworte die Frage „Warum tust du dir das an?“ mit der Antwort „Weil ich dabei etwas lerne, für mich und andere.“
Also, alles fing damit an, das mein „Testbrettserver“, also der Komputer der noch eine RS232 Schnittstelle hatte den Geist aufgegeben hat.
Übrigens glaubt mir mein 4 jähriger Sohn nicht, dass das große Ding mit extra Monitor und Tastatur ein Komputer ist. Für ihn sind Komputer flach, zum aufklappen und der Monitor ist an der Tastatur fest dran. Das Ding im Keller ist ihm suspekt. Das allerdings nur am Rande.
Also der DesktopPC den ich nur noch als Zugang zum Testbrett benutzt habe, gab den Geist auf. So find die Odyssee an. Es heißt zwar es gäbe USB nach RS232 Adapter die klappen sollen, meine haben nicht funktioniert. Ich habe zwei ausprobiert. Über den einen konnte ich sogar den Port belauschen, allerdings nicht parametrisieren. Erste Sackgasse.
Nach ein wenig Recherche fand ich raus, dass mein WohnzimmerPC auf dem Motherboard eine RS232 Schnittstelle zur Verfügung stellt. Nun musste nur ein Kabel her. Also habe ich ein RS232 Kabel zerschnitten und einen Stecker für das Board gebastelt. Fertig, jetzt noch eibd und gut ist. Denkste.

Die Hardware steht, jetzt nur noch die Software.

Auf dem WohnzimmerPC läuft Ubuntu 14.04 mit einem recht aktuellen Kernel. Für eibd brauchst du die Kernel Treiber, wie im Post KNX Programmierung über ein Netzwerk mit eibd beschrieben. Die werden zwar nicht mehr weiter entwickelt, sind aber noch da. Also runter geladen, installiert und eibd gestartet. Das Ding lief sogar, belauschte den Bus, allerdings nicht zuverlässig. Mal kam eine Nachricht auf den Schirm, mal nicht. Das Linux syslog zeigte auch fleißig „timeout“ Fehler. Wieder eine Sackgasse? Oder liegt es an der Hardware?
Um das alles mal ordentlich zu testen habe ich mir dann die ISO CD von KNXLive (auch schon 7 Jahre alt) heruntergeladen und in einer VM gestartet. Vorher musste ich natürlich den RS232 Port an die VM weiterleiten, das ging nach einiger Zeit. Das schöne Erlebnis? Es funktioniert.
Der Busmonitor in diesem Uralt Knoppix zeigte alle Nachrichten an und senden ging auch, wunderbar. Also war ich auf der Zielgeraden. Jetzt nur noch Parametrisieren über eibd und ETS5. Sackgasse. Nach einigen Stunden wusste ich: Die eibd Version, in der KNX Live Distribution, ist zu alt, da geht parametrisieren nicht. Zum Update müsste man eibd extra für dieses Knoppix kompilieren und aktuelle libraries installieren. Wer weis ob die mit dem 2er Kernel dann laufen usw. Also nix mit „out-of-the-box“.

Aufgeben?

Nun war ich an dem Punkt an dem ich mir die aktuellen Preise für IP-Interfaces angeschaut hab. Aber das hieße ja, aufgeben. Nix da. Irgendwo wird es doch noch eine Ubuntu 10.irgendwas geben. Damit müsste es doch gehen? Ging ja auch vorher. Gesucht gefunden. Es gibt sogar noch Repositories, über die man diese Software aktualisieren kann. Ich darf dann nur nicht mehr aktualisieren. Also neue VM mit Ubuntu 10.04. eibd installiert und die Kernel Treiber. Alles über dieses selbstgebaute serielle Kabel angeschlossen und siehe da, es geht! Genauso wie vorher. Irgendwie nicht ganz so stabil wie es sein sollte, aber ich war in der Lage zu parametrisieren. Bei drei Versuchen funktionierten zwei. Ich schob es auf die Weitergabe des Portes an die VM, denn beim „Testbrettserver“ war keine VM dazwischen. Aber das Konzept war bewiesen: Man kann auch heutzutage noch, mit 5 Jahre alter Software, eine serielle Schnittstelle nutzen und auf den KNX Bus kommen.

Dann habe ich das IP-Interface gekauft.

Diese Odyssee hat mich mehrere Wochen komplette Freizeit gekostet. Immer wenn ich gedacht habe, jetzt wird es funktionieren, kam ein Problem auf. Und die Straße, die gerade groß und breit erschien stellte sich als Sackgasse heraus.

Am Ende war mein Testbrett, über ein 1,5 Meter langes Kabel an den Medien Rechner im Wohnzimmer gekettet. Ich habe eine VM mit einem steinalten Ubuntu laufen, nur um neue Komponenten auszuprobieren und selbst das geht nicht immer. Auf der anderen Seite weiß ich aus Erfahrung wie leicht sich eibd an ein IP-Interface koppeln lässt. Also quod erad demonstrandum: Ja du kannst deine serielle Schnittstelle weiterhin benutzten, du willst es aber nicht.

Zwei Tage später wurde das IP-Interface KNX IP-Interface aus dem Eibmarkt geliefert und eine Stunde nach Einbau hat nicht nur die ETS5 damit funktioniert, sondern auch eibd und meine Android Applikation. Mein Testbrett steht wieder an seinem alten Platz und ist per Netzwerkkabel mit dem Router verbunden. Ich kann, wie vorher auch, auf der Couch liegend mit neuen Komponenten rumspielen und Parametrisierungen ausprobieren. Das serielle Interface liegt im Schrank. Vielleicht will ja mal jemand, mit sehr viel Zeit, seinen Bus günstig anbinden.

Viel Spaß mit KNX!

Beitagsbild: Nappiness / Pixabay

Aktualisiert: 16. Dezember 2014

5 Kommentare zu KNX Komponenten | Zugang zum Bus über eine serielle Schnittstelle?

  1. Cooler Artikel. Ich habe mir vorgenommen es bei Gelegenheit ebenfalls auszuprobieren. Ist auf jedenfall ne coole Sache 🙂

    • says:

      Sehr cooler Blog von dir… Vielen Dank für die vielen Infos!

      Aber wieso hast du es so kompliziert gemacht… Mit einem BBB (Beaglebone Black) und einem KNX Cape mit dem fertigen Image (Download und SD Karte beschreiben) hätte doch auch alles auf anhieb funktioniert auch ohne das IP-Interface. Dazu hättest dann noch 1-wire und SmartVisu bekommen. Kostet weniger als die IP-Interfaces.

      *thx*

  2. says:

    Hallo Damian,

    der Artikel ist jetzt zwar schon etwas älter aber wenn du mal Lust auf etwas Spielerei haben solltest schau dir doch mal KNXD an.

    Das ist die weiterentwickelte EIBD Variante.

    Ich hab den in diversen VM’s und auf 3 Raspi’s am laufen.

    grüße
    Thomas

  3. says:

    Hallo Thomas,

    hast du eine Anbindung über die serielle Schnittstelle mit dem knxd am Laufen?
    Seriell funktioniert bei mir mit knxd nicht.
    USB funktioniert über Busch Jaeger Schnittstelle mit vielen Fehlern.
    Mit dem eibd hatte alles funktioniert.
    Ich glaube, die „weiterentwickelte“ Variante ist bezüglich der obengenannten Anbindungen ein Rückschritt.

    Viele Grüße
    Oli

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Optimization WordPress Plugins & Solutions by W3 EDGE