Nachdem das Thema einer günstigen, stabilen und einfach zu realisierenden Busanbindung für den eibd glaube ich latent vorhanden ist und wir das zumindestens hier noch nicht so ausführlich hatten, nachfolgend mal eine kleine Anleitung für den Bau sowie eine Zusammenfassung meiner Erfahrungen der letzten Wochen:
Vorwort:
Mit ein Hauptgrund für diese Konstruktion und das Posting ist, dass die Kommunikation eibd->EIB mit BCU1/PEI-16 eigentlich nach meiner Erfahrung nur sehr leidig funktioniert, offenbar aber trotzdem häufig verwendet wird. Auch ich bin dem "wird schon irgendwie gehen" aufgesessen
Das kann einem aber sehr schnell die Arbeit mit dem eibd "vermiesen",
weil die Anbindungsart mit BCU1 & Kernel-Treiber relativ aufwändig ist (Kernel-Modul kompilieren) aber trotzdem einfach häufig nicht wirklich stabil funktioniert.
Und damit treten dann Probleme auf, die nicht sein müssten und die auch dem ansonsten sehr gut funktionierenden eibd IMHO nicht gerecht werden.
Die Empfehlung für TP-UART als lokale Anbindung stammt von einem der Autoren des eibd.
Verwendete Komponenten:
Man muss eigentlich nur drei Pins Rx,Tx,GND der beiden Teile zusammenstecken, Rx des BTM kommt auf Tx des Pegelwandlers und umgekehrt, das brauche ich glaube ich kaum weiter zu beschreiben.
Wenns nicht geht: Rx&Tx tauschen
Serielles Kabel und Busklemme dran, fertig.
Das besondere an dem Pegelkonverter ist, das die Spannungsversorgung vom RS232 erfolgt und man damit nicht auf die etwas problematische Versorgung (5V mit max 10mA) aus dem BTM angewiesen ist.
[Wichtig]Nachteil: diese Schnittstelle ist nicht galvanisch (Optokoppler) getrennt!
Was das bedeutet und ob man dies in Kauf nimmt, muss jeder für sich entscheiden.
[/Wichtig]
Vorteile gibts aber auch: einfach (kein löten usw.), günstig (inkl. Versand usw ca. 60 EUR).
Zu beachtem bei der Verwendung der Schnittstelle mit dem eibd ist ggü anderen, dass man beim Start die physikalisch Adresse mitgeben muss (ansonsten wird 0.0.1 verwendet):
(1.1.254 ist nur ein Beispiel!)
Ebenso wichti: vor dem starten von eibd ggfs. "setserial /dev/ttyS0 autoconfig"
Ich habe das ganze noch in ein kleines übriges Gehäuse gepackt, Bild anbei.
USB-Seriell-Adapter:
Das ganze funktioniert übrigens auch wunderbar an einem handelsüblichen USB-Seriell Konverter (getestet mit PL2303), weil das Protokoll über die TP-UART Schnittstelle kein so kritisches Timing wie andere hat.
Das folgende hat zwar nur bedingt mit diesem Thema zu tun, aber nachdem ich den USB-Seriell-Adapter schon erwähnt habe:
ein Problem im Zusammenhang mit mehreren USB-Seriell Adaptern ist die nicht ganz vorhersehbare Zuordung (/dev/ttyUSBx) unter Linux, was für den dauerhaften Betrieb, wo man auch mal was dazusteckt unpraktisch ist.
Ich hab mir hierfür (Debian etch) folgendes in /etc/udev/udev.rules hinzugefügt:
Damit wird ein Symlink erstellt, der eine eindeutige Identifikation des jeweiligen USB-Seriell-Adapters zulässt, solange dieser am selben (Hub-)Port steckt, unabhängig von der Reihenfolge des anstecken oder dem hinzufügen/entfernen weiterer USB-Seriell-Adapter.
An meinem Rechner ist z.B. "/dev/usbserial-1-4.4" der untere Port (-1-4) und der Adapter am 4. Port eines Hubs (.4).
eibd wird bei mir damit insgesamt wie folgt gestartet (alles aktiviert):
Hoffe das war verständlich 
Sonstiges erwähnenswertes zu dem Thema TP-UART:
- Die "ordentliche" Variante mit Optokoppler, findet sich z.B. hier von der TU-Wien
- Und wer es wirklich ganz genau wissen will wird z.B. hier fündig
Sollte jemand mal einen als fertiges Modul erwerblichen, erschwinglichen passenden TTL/RS232-Pegelwandler mit Optokopplern finden, nehme ich das gerne auf.
Man kann natürlich ebenso eine der vielen Selbstbau-Anleitungen für Pegelwandler mit Optokopplern verwenden und nur statt der BCU1 das für den eibd wesentlich bessere und dabei günstigere TP-UART BTM verwenden.
Makki
Vorwort:
Mit ein Hauptgrund für diese Konstruktion und das Posting ist, dass die Kommunikation eibd->EIB mit BCU1/PEI-16 eigentlich nach meiner Erfahrung nur sehr leidig funktioniert, offenbar aber trotzdem häufig verwendet wird. Auch ich bin dem "wird schon irgendwie gehen" aufgesessen

Das kann einem aber sehr schnell die Arbeit mit dem eibd "vermiesen",
weil die Anbindungsart mit BCU1 & Kernel-Treiber relativ aufwändig ist (Kernel-Modul kompilieren) aber trotzdem einfach häufig nicht wirklich stabil funktioniert.
Und damit treten dann Probleme auf, die nicht sein müssten und die auch dem ansonsten sehr gut funktionierenden eibd IMHO nicht gerecht werden.
Die Empfehlung für TP-UART als lokale Anbindung stammt von einem der Autoren des eibd.
Verwendete Komponenten:
- TP-UART Evaluation Board (BTM PCB) von Opternus
- TTL-RS232 Pegelkonverter RS232-SPW FM von RSS-Systems (MCU Tools->Fertigmodule)
Man muss eigentlich nur drei Pins Rx,Tx,GND der beiden Teile zusammenstecken, Rx des BTM kommt auf Tx des Pegelwandlers und umgekehrt, das brauche ich glaube ich kaum weiter zu beschreiben.
Wenns nicht geht: Rx&Tx tauschen
Serielles Kabel und Busklemme dran, fertig.
Das besondere an dem Pegelkonverter ist, das die Spannungsversorgung vom RS232 erfolgt und man damit nicht auf die etwas problematische Versorgung (5V mit max 10mA) aus dem BTM angewiesen ist.
[Wichtig]Nachteil: diese Schnittstelle ist nicht galvanisch (Optokoppler) getrennt!
Was das bedeutet und ob man dies in Kauf nimmt, muss jeder für sich entscheiden.
[/Wichtig]
Vorteile gibts aber auch: einfach (kein löten usw.), günstig (inkl. Versand usw ca. 60 EUR).
Zu beachtem bei der Verwendung der Schnittstelle mit dem eibd ist ggü anderen, dass man beim Start die physikalisch Adresse mitgeben muss (ansonsten wird 0.0.1 verwendet):
Code:
eibd <Optionen> -e 1.1.254 tpuarts:/dev/ttyS0
Ebenso wichti: vor dem starten von eibd ggfs. "setserial /dev/ttyS0 autoconfig"
Ich habe das ganze noch in ein kleines übriges Gehäuse gepackt, Bild anbei.
USB-Seriell-Adapter:
Das ganze funktioniert übrigens auch wunderbar an einem handelsüblichen USB-Seriell Konverter (getestet mit PL2303), weil das Protokoll über die TP-UART Schnittstelle kein so kritisches Timing wie andere hat.
Das folgende hat zwar nur bedingt mit diesem Thema zu tun, aber nachdem ich den USB-Seriell-Adapter schon erwähnt habe:
ein Problem im Zusammenhang mit mehreren USB-Seriell Adaptern ist die nicht ganz vorhersehbare Zuordung (/dev/ttyUSBx) unter Linux, was für den dauerhaften Betrieb, wo man auch mal was dazusteckt unpraktisch ist.
Ich hab mir hierfür (Debian etch) folgendes in /etc/udev/udev.rules hinzugefügt:
Code:
# PROLIFIC PL2303/FTDI USB to Serial unique port SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", \ ATTRS{product}=="USB-Serial Controller", \ SYMLINK+="usbserial-%b"
An meinem Rechner ist z.B. "/dev/usbserial-1-4.4" der untere Port (-1-4) und der Adapter am 4. Port eines Hubs (.4).
eibd wird bei mir damit insgesamt wie folgt gestartet (alles aktiviert):
Code:
/usr/bin/eibd -S -D -i -T -d -u -c -e 1.1.254 tpuarts:/dev/usbserial-1-4.4

Sonstiges erwähnenswertes zu dem Thema TP-UART:
- Die "ordentliche" Variante mit Optokoppler, findet sich z.B. hier von der TU-Wien
- Und wer es wirklich ganz genau wissen will wird z.B. hier fündig
Sollte jemand mal einen als fertiges Modul erwerblichen, erschwinglichen passenden TTL/RS232-Pegelwandler mit Optokopplern finden, nehme ich das gerne auf.
Man kann natürlich ebenso eine der vielen Selbstbau-Anleitungen für Pegelwandler mit Optokopplern verwenden und nur statt der BCU1 das für den eibd wesentlich bessere und dabei günstigere TP-UART BTM verwenden.
Makki
Kommentar