Hallo, gibt es so eine Software, oder eine Kombination von verschiedener Software. Daten kommen per LAN an einem Linux PC an, dieser soll nun einen "Serial-Server" bereitstellen. Ein Windows PC soll nun einen Virtuellen COM-Port bereitstellen welcher sich mit dem Linux PC verbindet. Also so ähnlich wie es diese COM Server in Hardware gibt.
Schau Dir mal socat an. Damit bekommst Du auf jeden Fall auf der Linux-Seite die Verbindung zwischen eingehender TCP-Socket-Verbindung und der seriellen Schnittstelle hin. Auf der Windows-Seite einen virtuellen Com-Port zu erstellen geht mit dem Windows-Build von socat vermutlich auch irgendwie. Aber für Windows bin ich kein Experte.
Im Moment schicke ich die Daten direkt an den Windows PC (über den Linux-PC per Forwarding). Auf dem Windows PC empfange ich die Daten mit ncat und leite sie an einen Virtuellen Serialport weiter (com0com). Die Windows Software empfängt nun am anderen Viruellen Comport. Ist eben etwas unflexibel wenn es auf einem anderen PC auch gelegentlich laufen soll.
com0com enthält eine Komponente namens com2tcp; von com0com gibt es auch signierte Treiber (nötig für den Betrieb unter neueren Windows-Versionen). http://com0com.cvs.sourceforge.net/viewvc/com0com/com2tcp/ReadMe.txt?revision=RELEASED http://com0com.sourceforge.net/ Die auf dieser Seite eingeblendete Reklame für Produkte der Firma Eltima kann man geflissentlich ignorieren. Und hier gibt es die signierten Treiber. http://pete.akeo.ie/2011/07/com0com-signed-drivers.html Der Beitrag selbst ist zwar von 2011, die dort zu findenden Treiber sind aber vom Juni 2016.
Ah, sehr schön. Die Signierten Treiber verwende ich schon. Dank deinem Tipp hab ich hier noch eine aktualisierte Version von com2tcp gefunden. https://github.com/Raggles/com0com/tree/master/com2tcp Jetzt bräuchte ich noch etwas für die Linux-Server Seite :)
Lukas schrieb: > Jetzt bräuchte ich noch etwas für die Linux-Server Seite :) wie schon oben geschrieben: diesen Teil kannst Du mit socat ganz leicht lösen.
Jein, an dem Linux PC ist keine Serielle Schnittstelle, am Linux PC kommen Daten auf einem TCP Port an, und er sollte nun die Daten über einen Service an einem anderen Port anbieten. Ich konnte aus den Quellen mit VS 2017 eine com2tcp.exe erstellen, soll ich diese hier für andere zur Verfügung stellen?
Lukas schrieb: > Jein, an dem Linux PC ist keine Serielle Schnittstelle, am Linux PC > kommen Daten auf einem TCP Port an, und er sollte nun die Daten über > einen Service an einem anderen Port anbieten. Das kann socat auch.
Lukas schrieb: > Also so ähnlich wie es diese COM Server in Hardware gibt Das hilft dir zwar nicht weiter, aber sowas wie XPort ist nichts anderes als ein miniaturisiertes Unix-System mit Ethernet-Anschluss und einer seriellen Schnittstelle. Nur viel kleiner als ein Linux PC oder ein Raspi. Georg
Bin immer noch am testen. Kann ich unter Windows den Datenstrom "verdoppeln"? Daten kommen am PC an und werden mit ncat -l port empfangen und mit > com3: umgeleitet. Zusätzlich möchte ich die Daten jedoch auch noch in eine Datei speichern. Kann der Strom gespiegelt werden?
Laut ncat-manpage gibt es die Option -o.
1 | -o, --output <filename> Dump session data to a file |
Probier' das mal aus.
Super, das klappt. Ich hatte die Option schonmal gesehen dann aber nicht getestet weil ich mir gedacht habe das die Daten dann wieder nur in der Datei landen. Das ist aber nicht so die kommen weiterhin an der Konsole an und können doch weiterhin mit > umgeleitet werden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.