Programme über serielle Schnittstelle kommunizieren lassen

Ich habe ein Programm, dass über eine serielle Schnittstelle mit dazugehöriger Hardware kommunizieren soll. Die Hardware besteht hauptsächlich aus ein paar Buttons und LEDs und einem Controller Board. Das soll durch einen Raspberry Pi ersetzt werden. Ich werde also ein Python Programm schreiben, dass die Steuerung der GPIO Pins übernimmt und über besagte serielle Schnittstelle mit dem vorhandenen Programm kommuniziert, sodass dort keine Änderungen vorgenommen werden müssen.

Der Vorteil auf Linuxsystemen: Alles ist eine Datei. Auch ein Com Port. Mein erster Gedanke war also: Ich erstelle einfach eine neue Datei für eineserielle Schnittstelle und lasse beide Programme darauf zugreifen. Das Problem: Es kann nur ein Programm zur Zeit auf eine solche Datei zugreifen. Die Lösung: tty0tty

Dabei handelt es sich um ein Programm, dass acht dieser Dateien erstellt, und einen Treiber mitbringt, der dafür sorgt, dass jeweils zwei dieser Ports miteinander verbunden sind.

Programm1 kann also auf /dev/tnt0 zugreifen und Programm2 kann auf /dev/tnt1 zugreifen. Was das eine Programm sendet, kann das andere programm lesen.

Die Installation ist auf der dazugehörigen Github Seite beschrieben.

Schreibe einen Kommentar