User Tools

Site Tools


serialdatasplit

Differences

This shows you the differences between two versions of the page.


serialdatasplit [2023/01/17 08:50] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +==== Die Problemstellung: ====
 +
 +Man möchte die Daten eines GPS-Empfängers für mehrere Anwendungen nutzen.
 +
 +**Realisierung:**
 +
 +**Windows**:
 +Es stehen fertige Lösungen zur Verfügung:
 +
 +  * [[https://sourceforge.net/projects/com0com/|com0com]]
 +  * [[https://sourceforge.net/projects/com0com/|hup4com]]
 +
 +**Linux**:
 +Hier wird es schon etwas schwieriger und man kommt um etwas Programmierung nicht herum.
 +Im Bild das Prinzip eines Datenflusses:
 +{{ :serial_splitt_sm.png?400 |}}
 +Erläuterung:
 +
 +- 1. Installation von [[http://www.dest-unreach.org/socat/|socat]]:
 +
 +'sudo apt-get install socat' (Ubuntu)
 +
 +- 2. Bereitstellung der virtuellen Schnittstellen ttyUSB98 und ttyUSB99 mittels socat in Perl:
 +
 +system("/usr/bin/sudo /usr/bin/socat pty,link='/dev/ttyUSB98',raw,b4800 pty,link='/dev/ttyUSB99',raw,b4800");
 +
 +- 3. Benutzerrechte setzen:  'sudo chmod 666 /dev/ttyUSB*'
 +
 +- 4. Daten von /dev/ttyUSB0 einlesen und verarbeiten. Gleichzeitig die Daten in /dev/ttyUSB98 schreiben.
 +
 +-5. Das Zusatzprogramm an /dev/ttyUSB99 anschliessen.
 +Da SeaClear nur unter Windows (bzw. wine) läuft müssen hier im Verzeichnis .wine/dosdevices sysmbolische Links gesetzt werden:
 +
 +'cd <user>.wine/dosdevices'
 +
 +'ln -s /dev/ttyUSB99 com3'
 +
 +- 6. SeaClear auf com3 einstellen.
 +
 +Die markanten Stellen sind im Script (Seite Projekte->Yacht-Navigation) grün dargestellt!