====== Serial-USB-Bridge ====== ++++ Version History...| **Version 0.3.1**\\ ** ** * erste öffentliche Version **Version 0.3.2** * Anleitung im Plugin erweitert **Version 3.1.0** Update auf Loxberry version 3 mit phyton 3,... ++++ ---- ===== Einleitung ===== Funktion des PLugins: Dieses Plugin soll eine einfache Datenübertragung zwischen seriellen Adaptern und Netzwerkgeräten (Loxone) per UDP ermöglichen. Ich verwende dieses Plugin um : - Meinen PioneerAVR zu Steuern.  Diesen habe ich über einen Seriellen USB Adapter an meinen Loxberry angeschlossen - Serielle Komandos von Einplatinencomputern weiterzugeben (Arduino) ===== Download ===== Der Download ist über Github möglich ===== Installation ===== Bei der Installation ist auf nicht besonderes zu achten. ===== Konfigurationsoptionen ===== Grundsätzlich:  Miniserver; Empfangsport am Miniserver, Plugin Aktiviert  oder nicht Pro USB Gerät: * Aktiviert JA/NEIN * USB Baudrate( Standard 9600) * Der Empfangsportam Loxberry auf den die Daten vom Miniserver geschickt werden (Pro USB Gerät ein anderer Port!) * Die Präfix die den Daten Vorangestellt wird die zum Miniserver geschickt werden(leer für nichts) * Die Eindeutige USB ID des Gerätes auf dem Loxberry Das Loglevel kann eingestellt werden um den Datenfluss im log  zu Überprüfen Mit "ABFRAGE AKTUALISIEREN " werden bis zu 4 USB Geräte die am Loxberry angeschlossen sind aufgelistet ==== Einstellungen der Adapter: ==== Zuerst die Abfrage starten;  es werden die angeschlossenen USB-Geräte aufgelistet. Zum Prüfen ob mann die richtige ID hat einfach den Adapter ausstecken und nochmal abfragen. Die ID aus dem Feld kopieren und in das Feld für den USB Adapter einfügen; Baud-Rate einstellen(Standrd9600). Empfangsport: ist der Port am Loxberrx an den die Daten vom Miniserver gesendet werden ; Es darf der gleiche Port nicht 2-mal vorkommen Das Heist:  Für jeden USB Empfäger ein eigenes Viruelles Gerät in Loxone einfügen PRAEFIX : Hier kann die Präfix eingestellt werden, die Seriell empfangenen Daten vorangestellt wird. zb.: PRÄFIX: USB-1= Serielle Daten: test\r  Daten( String) der pe UDp gesendet wird:  USB-1=test\r Speichern. Nach einem Neustart ist das Script aktiv; Ebenfalls wird im Hintergrund täglich geprüft ob die Scripte laufen oder nicht. Fehler sind in der Logdatei aufgeführt ===== Einrichtung in der Loxone Config Software ===== == DATEN: == für z.b.: USB 1 == Von UDP(LOXONE) zu Seriell: == Für USB 1 bitte die Präfix "USB-1=" den Daten voranstellen Für USB 2 bitte die Präfix "USB-2=" den Daten voranstellen ..... In der Loxone Config zuerst einen Virtuellen Ausgang anlegen. Dann für jedes Signal das gesendet werden soll einen "Virtueller Ausgang Befehl" anlegen und bei jedem Befehl USB-1= vorstellen ; Ebenfalls am Sender der Daten den Zeilenumbruch nicht vergessen \r Somit erkennt der Loxberry auf welchen Adapter die Daten gesendet werden müssen {{plugins:serial_usb_bridge:1228538105.png?500}} {{plugins:serial_usb_bridge:1228538106.png?500}} == Von Seriell zu UDP: == Gleiches Prinzip: Die Daten werden empfangen und es wird die eingegebene Präfix ( Standard USB-1=) vorangestellt. {{plugins:serial_usb_bridge:1228538109.png?500}} {{plugins:serial_usb_bridge:1228538110.png?500}} ===== Verwendungsmöglichkeiten ===== Ich verwende dieses Plugin um : - Meinen PioneerAVR zu Steuern.  Diesen habe ich über einen Seriellen USB Adapter an meinen Loxberry angeschlossen - Um meine Fensterkontakte zu überwachen:  Die Fenster werden mit Reedkontakten an 2 Arduino NANO's angeschlossen ; diese senden den Status jedes Pins an die Serielle Schnittstelle ; diese ist per USB-Kabel am Loxberry angeschlossen.\\ Die  Daten die Seriell am Loxberry ankommen werden dann per udp an den Miniserver geschickt. Den Arduino Scetch von 1. und 2. Arduino kann ich bei bedarf per mail zukommen lassen {{plugins:serial_usb_bridge:1228538060.png?500}} In meinem Fall habe ich die Eingeschränke IO Anzahl des Raspberry durch die Arduino nano's erweitert. So habe ich 37 Eingänge die ich frei verwenden kann. Ablauf: Die Reedkontakte sind an +5V angeschlossen ; die Arduino IO sind mit jeweils einem Pulldown-widerstand auf Masse gezogen um bei offenem Kontakt keine falschen Werte zu senden. Beim einstecken des USB des Arduino1 wird dieser automatisch resettet; dadurch wird dann im Programm der PIN 13 auf High gelegt um Arduino 2 zu resetten. Arduino1 Sendet die Daten direkt auf die Serielle Schnittstelle(USB) Arduino 2 Sendet die Daten seriell über die Pins zu Arduino1 der die Daten wiederum auf die serielle Schnittstelle(USB) schreibt. Kabellängen zu den einzelnen Kontakten über Cat 6 Kabel getestet 40m  kein Problem. ===== Roadmap ===== Nothing to do ;-)