USB zu Seriell

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
antimicro
User
Beiträge: 151
Registriert: Sonntag 29. Februar 2004, 16:24

Hi,
ich möchte einen Umsetzer schreiben um einen COM Port zu simulieren. Geht das? Zum Schluss wird die USB Maus in ihren Port gesteckt und das Script simuliert einen seriellen Port (z.B. COM1). Andere/Ältere Programme können die USB Maus dann nutzen. Problem ist eben der serielle Port. Wie lässt man einen solchen entstehen?

Ich wär für jede Idee dankbar...
greetings
sebi
ProgChild
User
Beiträge: 210
Registriert: Samstag 9. April 2005, 10:58
Kontaktdaten:

antimicro hat geschrieben:Wie lässt man einen solchen entstehen?
Mit einem Treiber. Dummerweise geht das nicht mit Python. Zumindest bei den meisten Betriebssystemen nicht.

Du kannst mal schauen, ob es da nicht schon einen Fertigen Treiber gibt, denn du "fehrnsteuern" kannst.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Unter Linux könntest du warscheinlich eine Datei erstellen und die Programme statt auf /dev/ttyS0 auf diese Datei lenken.

Oder unter Hurd, da kannst du alles machen, was dir in den Kopf kommt. Spätestens wenn Version 1.0 draußen ist ;)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ProgChild
User
Beiträge: 210
Registriert: Samstag 9. April 2005, 10:58
Kontaktdaten:

Leonidas hat geschrieben:Unter Linux könntest du warscheinlich eine Datei erstellen und die Programme statt auf /dev/ttyS0 auf diese Datei lenken.
Ich hab auch schon an eine FIFO gedacht. Kann aber sein, dass das nicht klappt, weil das Programm ein Device verlangt...

Dummerweise hat unser Freund antimicro es nicht für nötig Gehalten, für welches Betriebssystem er das plant :roll:
antimicro
User
Beiträge: 151
Registriert: Sonntag 29. Februar 2004, 16:24

Sorry, habt ja recht.
Unter Windows, eben COM1.

Hmm. Das kann ja eigentlich nicht so aufwendig sein, oder? Es gibt ja massenhaft Software die nicht existierende Hardware simuliert. D-Tools z.B. CD/DVD Laufwerke. Ein Bereich im Speicher könnte man dann mit Python ansteuern und manipulieren.
greetings
sebi
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

antimicro hat geschrieben:Hmm. Das kann ja eigentlich nicht so aufwendig sein, oder? Es gibt ja massenhaft Software die nicht existierende Hardware simuliert. D-Tools z.B. CD/DVD Laufwerke.
Daemon Tools sind in C/C++ und vielleicht auch zum Teil in Assembler geschrieben. Das ist ein riesen Aufwand und leicht ist es nicht.
antimicro hat geschrieben:Ein Bereich im Speicher könnte man dann mit Python ansteuern und manipulieren.
Also die Ansteuerung von Speicherbereichen von fremden Programmen sollte eigentlich in echten 32-Bit Betriebssystemen nicht möglich sein, denke ich mir. Für sowas benutzt man API-Funktionen, auf die aber Python soweit ich weiß keinen Zugriff hat. ABer wenn du dafür ein Lowleve C-Modul schreibst und es dann über Python ansteuerst, sollte es möglich sein.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Welches Programm fragt denn direkt am COM-Port die Maus ab??? Doch höchstens der Maustreiber, oder?

Die Positionsdaten der Maus kann man doch auf anderem Wege erhalten...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
antimicro
User
Beiträge: 151
Registriert: Sonntag 29. Februar 2004, 16:24

Es geht ja nicht um die Positionsdaten allein. Denn an etwas moderneren PCs gibt es keine seriellen Schnittstellen mehr; auf jeden Fall nicht an meinem hier.

Eigentlich schade, aber das, dass ein solcher aufwand wird hätte ich nie gedacht.
greetings
sebi
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Achso... Dafür könnte ein c't Projekt interressant sein... Da wurde COM Ports per Hardware an's LAN gepackt...
Ich denke fertige Lösungen COM -> USB wird es auch geben...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

antimicro hat geschrieben:Es geht ja nicht um die Positionsdaten allein. Denn an etwas moderneren PCs gibt es keine seriellen Schnittstellen mehr; auf jeden Fall nicht an meinem hier.

Eigentlich schade, aber das, dass ein solcher aufwand wird hätte ich nie gedacht.
Die Frage ist auch was Du damit machen willst. Programme die wirklich direkt den COM-Port, also die Hardware abfragen wird man nicht so leicht "täuschen" können und alle die eine höhere API benutzen brauchen den COM-Port nicht zwingend, oder!?
antimicro
User
Beiträge: 151
Registriert: Sonntag 29. Februar 2004, 16:24

Ich möchte ein DOS Programm täuschen was direkt die serielle Schnittstelle unter DOS abfragt. Ich dachte dafür gibt es spezielle Speicheradresse die dafür vorgesehen sind und die man mit Python von außen manipulieren kann. Vielleicht muss ich mal nach einem etwas besseren DOS Emulator suchen. Ach ja ... *leises stöhnen*
greetings
sebi
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Es gibt USB --> COM Adapter.
EInzige Möglichkeit auf manchen aktuellen Servern zu einer Seriellen Konsole zu kommen. afaik 20€ das Stück.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Auf Daily Python-URL ist gerade PyUSB aufgetaucht... Ist aber noch im frühen Entwicklungsstadium...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten