Forum: PC-Programmierung Linux: Serielle Schnittstelle


von Dirk (Gast)


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?

von Nikolaus S. (Firma: Golden Delicious Computers) (hns)


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.

: Bearbeitet durch User
von Kaj (Gast)


Lesenswert?

Nikolaus S. schrieb:
> oft /dev/ttyUSB0 oder /dev/ttyS0
oft auch /dev/ttyACM0

von Rolf M. (rmagnus)


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.

von Mathias N. (Firma: Kobold Inc) (alfrede)


Lesenswert?

Ich habe mal folgende Anleitung gefunden.

http://www.satsignal.eu/raspberry-pi/UpdatingGPSD.html

Um welches gps Modul handelt es sich denn bei Dir?

von Dirk (Gast)


Lesenswert?

gpsd läuft auf dem System nicht. Ich hab nun die serielle Schnittstelle 
in Hardware aufgetrennt und mich mit einem zweiten PC dawzischen 
gehängt.

von foobar (Gast)


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.

von Martin B. (martin_b97)


Lesenswert?

socat

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.