Wie erstellen Sie ein virtuelles io-device in Linux, die proxies Daten im Echtzeit-Gerät?
Ich habe ein Interessantes problem. Ich arbeite an einem embedded-box mit mehreren Instanzen von Linux laufen jeweils auf einem ARM-Prozessor. Verbunden sind Sie über den internen 1 GBit-Netzwerk. Ich habe ein serial port device-Knoten befestigt Prozessor Ein (sagen wir Linux-Ein auf es läuft). Ich habe ein Programm läuft auf dem Prozessor B (sagen wir, auf Linux-B) Zugriff auf die serielle Schnittstelle Gerät, wenn es angeschlossen ist, um Linux-B lokal.
Mein Programm ruft Begriff i/o-Typ-api-Aufrufe auf den device-Knoten zu Steuern, tty echo, Zeichen-mode-Eingang. Was ich mich Frage ist, ob es eine Möglichkeit zum erstellen einer virtuellen seriellen Gerät, das verfügbar ist auf Linux-B irgendwie reden von der realen seriellen Gerät auf Linux-Ein über das interne Netzwerk.
Ich bin denken etwas entlang der Linien von:
Linux-B /dev/ttyvirtual. Alles, was wird geschrieben, es wird transportiert über Netzwerk-Buchse an Linux-Ein serialserver. Der serial server exrcises die api-Aufrufe auf realen Gerät, sagen wir /dev/ttys0.
Alle Daten, warten auf ttys0 wird zurückversetzt in /dev/ttyvirtual.
Was sind all die Dinge, um dies getan schnell?
Dank
Videoguy
Update:
Ich fand eine Diskussion an
http://fixunix.com/bsd/261068-network-socket-serial-port-question.html mit großen Zeigern.
Ein weiterer nützlicher link ist http://blog.philippklaus.de/2011/08/make-rs232-serial-devices-accessible-via-ethernet/
- Diagramm wäre hilfreich 😉
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werfen Sie einen Blick auf openpty(3). Dies ermöglicht Ihnen das erstellen eines pseudo-TTY (wie
/dev/pts/0
, die Art, die ssh-verbindungen), die reagieren, wie ein normales TTY würde, aber Sie geben Ihnen direkte programmgesteuerte Kontrolle über die verbindungen.Diese Weise können Sie den host über ein serielles Gerät (zB.
/dev/pts/5
), dass Sie uns Daten zwischen einem Netzwerk-Anschluss, und dann in anderen apps ausführen können, seriellen Operationen ohne wissen über die zugrunde liegenden Netzwerk-bridge.Landete ich mit schockiert
Beispiele können hier gefunden werden: schockiert Beispiele
Sie schockiert zurück, um auf beiden Maschinen. Man lauscht auf einem tcp-port und leitet Daten an den lokalen virtuellen port oder pty. Die schockiert auf die andere box verwendet Reale Gerät als Eingabe und leitet alle Daten an den tcp-port.