Metainformationen zur Seite
Plugin-Daten | |
---|---|
Autor | Johannes Humer |
Logo | |
Status | STABLE |
Version | 3.1.0 |
Min. LB Version | 3.0 |
Release Download | https://github.com/JohannesHumer/serialusb-bridge/releases/download/V3.1.0/serialusb-bridgev3.1.0.zip |
Beschreibung | Ein Plugin um Serielle Befehle über UDP zu Senden Bidirektional V0.3.2 läuft auf loxberry V2 |
Sprachen | EN, DE |
Diskussion | https://www.loxforum.com/forum/projektforen/loxberry/plugins/410439-serial-usb-bridge-treiberproblem-rs232-usb-adapter-mit-ftdi-chip |
Serial-USB-Bridge
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
Von Seriell zu UDP:
Gleiches Prinzip: Die Daten werden empfangen und es wird die eingegebene Präfix ( Standard USB-1=) vorangestellt.
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
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