PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : COM-Geräte-Emulator



White_Fox
20.06.2017, 21:43
Hallo allerseits

Ich will die korrekte Verwendung einer API (COM-Port-Kram) in meinem Java-Programm testen.

Und nun suche ich ein Programm das so tut, als wäre es ein angeschlossener FT232. Für einen ersten Test reicht das bloße Vorhandensein, wenn ich aber auch Datenverkehr simulieren könnte wäre das wunderbar.

Kennt da jemand was passendes?

Mxt
21.06.2017, 09:35
Hallo,

Windows ?

Da gibt es mehrere kommerzielle Lösungen und auch das hier
https://freevirtualserialports.com/

Keinerlei eigene Erfahrung dazu.

Ich muss gelegendlich auch fehlende serielle Hardware simulieren. Aktuell übernimmt ein Teensy diesen Job. Von allen getesteten Arduino und mbed Boards ist der bei seriellen USB-Verbindungen mit Abstand der schnellste.

Ceos
21.06.2017, 09:53
Entscheidende Frage ist, muss es denn auch die Treibersignatur eines FT232 immitieren oder kann es einfach nur cin COM Port jeglicher Art sein? Sonst würde ja auch ein virtual COM Port tun
http://com0com.sourceforge.net/

Was würde Ansosten dagegen sprechen einen echten FTDI anzuschließen und das Ergebnis über einen 2ten FTDI z.B. am Terminal auszuwerten (pyhsical loopback)

White_Fox
21.06.2017, 21:17
Verzeihung, das hätte ich noch erwähnen sollen:

-Ja, es geht um ein Windows-System.
-Nein, die Treibersignatur muß nicht immitiert werden, das Ding soll sich einfach nur wie ein angeschlossenes COM-Gerät verhalten.

Ein richtiger FT232 kommt deshalb nicht in Frage, weil ich damit automatisierte Tests fahren will. Und noch ein zweites Programm für den µC zu schreiben wäre zwar bestimmt noch drin (wäre schonmal ein Stück Arbeit vorweggegiffen), allerdings nicht für jeden einzelnen Test. Und dann für jede Klasse einen eigenen Test in den µC laden...das wird umständlich und wie ich mich kenne auch sehr fehleranfällig. Da wäre mir ein externes Programm, das ich einfach aus meinem JUnit-Test herraus starten könnte weitaus lieber.

Vielen Dank für die Links zu diesem Free-Dingens und dem sourceforge-Projekt...ich werde im Gegenzug Bericht darüber erstatten. :)

- - - Aktualisiert - - -

So...ich hab es mal mit dem Free Virtual COM-Port probiert.

Das Teil scheint recht nett. Man kann damit einen virtuellen COM-Port erstellen und diesen z.B. mit zwei Dateien verlinken. Die eine Datei enthält Daten für die Eingabe, die andere wird mit der Ausgabe gefüllt.

Leider funktioniert das Programm bei mir nicht. Ich finde den Port mit HyperTerminal zwar, kann ihn aber nicht öffnen. Free virtual COM-Port scheint da irgendwo zu hängen. Schade.

Zum automatisierten Testen ist das Programm zumindest in der Free-Version aber nicht so sehr geeignet. Der COM-Port jedenfalls muß immer wieder neu eingerichtet werden.

Ich probiere mal den anderen Link...

White_Fox
22.06.2017, 20:59
Grrr...com0com wäre genau das, was ich suche.

Nur macht Microsofts verdammter Signaturzwang mir einen Strich durch die Rechnung. Jetzt muß ich meinen Rechner immer erst in den Testmodus setzen und dann neu starten, dann sollte ich aber jegliche Internetverbindung vermeiden.

Ein Gutes hat die Sache-wieder ein Grund mehr mich ernsthaft mit Linux auseinanderzusetzen. Mir geht MS ja sowas von au die ...

Ceos
23.06.2017, 14:30
virtual box, bevor du radikale maßnahmen triffst :D

White_Fox
24.06.2017, 21:05
Glücklicherweise hat da wer einen singierten Treiber zur Verfügung gestellt. Wen es interessiert:
http://pete.akeo.ie/2011/07/com0com-signed-drivers.html

Die Installation ist nicht ganz fehlerfrei. Die Treiber selber funktionieren, aber andere Teile der Software sind nicht zu installieren. Wenn beides (also das Original-com0com und dann das signierte) übereinander drüberinstalliert funktionierts. Zwar recht unsauber, aber nun läufts. :)

Vielen Dank für die Vorschläge.

Zimmer9
16.11.2018, 08:57
Hallo!
Beim Testen meiner Arbeit stieß ich auch auf eine nicht signierte Lizenz bei Microsoft. Musste auf virtual serial port (http://virtual-serial-port.org) gehen. Erlaubt offiziell, dank dieser haben seine Tests beendet. Scheiße, dass ich es kaufen musste, aber ich musste es opfern.

Ich wollte dich fragen, hat es dich nicht gestört, dass beim Schließen des Programms die Ports verschwunden sind?

White_Fox
24.11.2018, 23:46
Nein, mich störte das nicht.

Andererseits: Wie sollte es denn sonst funktionieren?