Linux: Serielle Schnittstelle

Gast #6583941
Lesenswert?

Hallo an meinem Linuxrechner hängt ein Gerät(GPS Modul). Das Modul 
sendet in definierten Abständen die Information. Die Hardwareverbindung 
kann ich nicht zum Modul auftrennen, aber ich würde die Ausgabe des 
Moduls verändern bevor es in die Applikation gelangt. Bietet das 
Linuxbetriebssystem eine Möglichkeit etwas dazwischen zu setzen?
(Firma: Golden Delicious Computers) #6583946
Lesenswert?

Dirk schrieb:
> Hallo an meinem Linuxrechner hängt ein Gerät(GPS Modul). Das Modul
> sendet in definierten Abständen die Information. Die Hardwareverbindung
> kann ich nicht zum Modul auftrennen, aber ich würde die Ausgabe des
> Moduls verändern bevor es in die Applikation gelangt. Bietet das
> Linuxbetriebssystem eine Möglichkeit etwas dazwischen zu setzen?

Named Pipe. Damit kann man einen Prozess im Hintergrund laufen lassen, 
der das Serial-Device (oft /dev/ttyUSB0 oder /dev/ttyS0) abfragt, 
bearbeitet und das Ergebnis in die Named Pipe steckt.

In der Applikation, die eigentlich ein /dev/ttyS erwartet, stellt man 
das Leseende der Named Pipe als GPS-Datenquelle ein.
#6584657
Lesenswert?

Nikolaus S. schrieb:
> Named Pipe. Damit kann man einen Prozess im Hintergrund laufen lassen,
> der das Serial-Device (oft /dev/ttyUSB0 oder /dev/ttyS0) abfragt,
> bearbeitet und das Ergebnis in die Named Pipe steckt.
>
> In der Applikation, die eigentlich ein /dev/ttyS erwartet, stellt man
> das Leseende der Named Pipe als GPS-Datenquelle ein.

Allerdings wird die Applikation versuchen, den Port zu passend zu 
konfigurieren. Fall es abbricht, wenn das nicht geht, wird's 
problematisch.
Aber unter Linux greifen Programme, die GPS verwenden, normalerweise 
nicht direkt darauf  zu, sondern über den gpsd. 
https://gpsd.gitlab.io/gpsd/index.html
Da könnte man was machen, weil darauf per Netzwerk zugegriffen wird. Man 
könnte eine Art Proxy schreiben, der zwischen gpsd und der Anwendung 
sitzt.
Gast #6589532
Lesenswert?

Das kann man mit Pseudo-TTYs machen - beide Seiten sehen dann jeweils 
einen Serialport und dein Programm hängt dazwiscchen.  Allerdings 
müßtest du das Programm wohl selbst schreiben - mir fällt auf die 
Schnelle nix Fertiges ein.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren