Forum: PC-Programmierung Linux: Serielle Schnittstelle


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Dirk (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Nikolaus S. schrieb:
> oft /dev/ttyUSB0 oder /dev/ttyS0
oft auch /dev/ttyACM0

von Rolf M. (rmagnus)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
socat

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.