==== 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 .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!