Forum: Mikrocontroller und Digitale Elektronik µC zum USB Tastatur Simulieren


von Frank (Gast)


Lesenswert?

Guten Abend zusammen,

Ich würde gerne mit einem µC an meinem PC eine Tastatur Simulieren die 
für mich einige Tastatureingaben für mich Automatisiert :).


Dazu hatte ich mir gedacht das ich mit einem µC "einfach" eine USB 
Tastatur Simulieren könnte und dann in der Software sage welche 
Tastatureingaben er nun zum PC schicken soll.

Geht das so in etwa? Gibt es da schon fertige Protokolle? Vieleicht hat 
ja jemand schonmal soetwas realisiert und könnte mir ein paar Infos zu 
kommen lassen.


Ich habe zwar schon eine Frickel-Lösung dafür ( alte Tastatur 
ausgeschlachtet und dann mit µC Verbunden zum Tasten "drücken" aber ich 
wollte es nun einmal richtig machen und das würde dann richtig schön 
klein werden da ich ja nur einen µC, ne USB-Buchse, Quarz und etwas 
hühnerfutter bräuchte und dann ist die "Tastatur" ja fertig.


Über Antworten würde ich mich freuen.

Gruß
Frank

von mini2440-user (Gast)


Lesenswert?


von Thomas E. (thomase)


Lesenswert?

Frank schrieb:
> Ich würde gerne mit einem µC an meinem PC eine Tastatur Simulieren die
> für mich einige Tastatureingaben für mich Automatisiert :).

Das geht doch viel einfacher mit einer Software, die auf dem PC läuft.

http://msdn.microsoft.com/de-de/library/ms171548(v=vs.80).aspx#Y756

mfg.

von Oliver J. (skriptkiddy)


Lesenswert?

Huch da war ich wohl nicht angemeldet.....

von Dominik (Gast)


Lesenswert?


von Dominik (Gast)


Lesenswert?

-.-
Ok... nächstes mal les' ich die Links die schon gepostet wurden - 
versprochen :D

von John D. Morgan (Gast)


Lesenswert?

Gibts eigentlich auch eine Möglichkeit, Tastaturbefehle an den PC über 
die Serielle Schnittstelle zu senden, denn das mit V-USB ist mir (noch) 
unverständlich.

von ps2 (Gast)


Lesenswert?

du könntest eine gute alte ps2 schnittstelle nutzen und eine tastatur 
emulieren. das protokoll findet man oft im internet, einfach mal googlen

von Oliver J. (skriptkiddy)


Lesenswert?

John D. Morgan schrieb:
> Gibts eigentlich auch eine Möglichkeit, Tastaturbefehle an den PC über
> die Serielle Schnittstelle zu senden, denn das mit V-USB ist mir (noch)
> unverständlich.

Schaltung aufbauen und freuen. Die meisten die V-USB verwenden, kennen 
die Magie von V-USB nicht (mich eingeschlossen). Im Quellcode wird man 
schon die passenden Zeilen finden, die fürs senden von Tasten zuständig 
sind.

Gruß Skriptkiddy

von Matthias K. (mkeller)


Lesenswert?

Microchip PIC18F2550 + Microchip USB Framework. Ist sogar ein Beispiel 
für eine Tastatur dabei

von Frank (Gast)


Lesenswert?

sooo ich hab gestern abend mal ein bisschen Zeit damit verbracht und 
habe denke ich eine Software gefunden die genau das macht was ich 
realisieren möchte.


Nur bekomme ich die nicht compiliert ?!

Und zwar möchte ich nur die Software aus dem Ordner "Firmware" benutzen 
- da sollte ja alles drin sein für meine Bedürfnisse.

Dazu habe ich ein AVR-Studio Projekt erstellt und alle Dateien aus dem 
Ordner /firmware/usbdrv in den Ordner firmware kopiert in dem auch die 
AVR-Studio Projekt daten sind.


in dem Projekt habe ich dann folgende Dateien eingebunden:
main.c
oddebug.c
usbdrv.c

iarcompat.h
oddebug.h
usbconfig.h
usbdrv.h



wenn ich das nun compiliere dann bekomme ich die fehlermeldung:
E:\Daten\Atmel\yake\firmware\default/../usbdrv.c:420: undefined 
reference to `usbCrc16Append'

aber duese Funktion ist doch in der usbdrv.h vorhanden und sollte mit 
eingebunden werden.


Könnte das vieleicht jmd mal ausprobieren ? vieleicht steh ich grad aufm 
schlauch.


Gruß

Frank

von Micha (Gast)


Lesenswert?

Frank schrieb:
> Dazu habe ich ein AVR-Studio Projekt erstellt und alle Dateien aus dem
> Ordner /firmware/usbdrv in den Ordner firmware kopiert in dem auch die
> AVR-Studio Projekt daten sind.
Die Verzeichnisstrukturen hättest du besser so belassen.

Frank schrieb:
> aber duese Funktion ist doch in der usbdrv.h vorhanden und sollte mit
> eingebunden werden.
Ziemlich sicher nicht. Da ist höchstens der Prototyp drin.

Frank schrieb:
> Könnte das vieleicht jmd mal ausprobieren ?
Nur wenn du dein Projekt auch hochlädst. Ansonsten kann man nur raten, 
dass du ein paar Dateien vergessen oder irgendwelche Pfade verbogen 
hast, s.o.

von Frank (Gast)


Angehängte Dateien:

Lesenswert?

ahhhh da hat der fiese browser meinen anhang rausgeschmissen :/ sorry so 
jetzt nochmal

von Micha (Gast)


Lesenswert?

Dir fehlen *.inc-Dateien im Ordner usbdrv (siehe usbdrvasm.S Zeile 373 
bis 389). Lade am besten mal den aktuellen Stack runter und überschreibe 
deinen Ordner.

von Micha (Gast)


Lesenswert?


von Guido Körber (Gast)


Lesenswert?

Wenn ich das richtig verstehe sollen die Eingaben an den gleichen PC 
gehen, der sie auch sendet?

Dann geht das als reine Software, man kann Tastatur-Events erzeugen und 
in die System-Queue schicken. Andere programme können nicht 
unterscheiden ob diese Events wirklich von einer physikalischen Tastatur 
kommen, geht sogar mit Spielen.

von Frank (Gast)


Lesenswert?

so nu komm ich Wieder in I-Net.

@Micha Die Daten Lade ich mir gleich mal runter und dann teste ich das 
nochmal.


@Guido Körber
Wie geht das ?

Gruß

Frank

von Frank (Gast)


Lesenswert?

So habe mir mal grad das Aktuelle V-USB Runtergeladen.

im ordner usbdrv gibt es ja echt einige dateien mehr ?! wie bzw wo muss 
ich die denn in meinem AVR Studio Projekt einfügen ? und welche alle ?


es gibt da ja noch
jeweils usbdrvadm
12.inc
15
16
18-crc
20
128
165
und usbportability.h


müssen die alle in mein Projekt ?

von Xenu (Gast)


Lesenswert?

Ich verstehe nicht, wieso Du hardwaremäßig eine Tastatur emulieren 
willst, wenn Du es nur zur Automatisierung einsetzen willst. Wie schon 
einige erwähnt haben gibt es dafür schon fertige Software.

Z.B. auch die hier: http://www.autohotkey.com/

von Frank (Gast)


Lesenswert?

Ja Automatisieren schon aber mal kurz angerissen was ich machen möchte.


Auf meinem Bildschirm ist ein Sensor der Farben erkennt und je nach dem 
Welche Farbe er erkennt möchte ich verschiedene Buchstaben-Kombinationen 
an den Rechner schicken.


Da das ganze mobil sein soll und an verschiedenen Rechnern benutzt 
werden soll wollte ich eigentlich keine Software lösung verwenden.



Oder hätte da jemand noch eine Alternative?


gruß


Frank

von Micha (Gast)


Lesenswert?

Frank schrieb:
> wie bzw wo muss ich die denn in meinem AVR Studio Projekt einfügen ?
Sieh dir eines der vielen Beispielprojekte an, oder den 
USB IR Remote Receiver von Hugo.

Frank schrieb:
> und welche alle ? müssen die alle in mein Projekt ?
Wieso bist du so scharf drauf die Struktur zu zerreissen? Lass es doch 
wie es ist und lass die Dateien wo sie sind. Ist doch eh viel 
übersichtlicher so.

von Frank (Gast)


Lesenswert?

Struktur zerreissen ?

Wenn ich doch im AVR Studio das ganzen Dateien in ein Projekt haben 
will/muss dann muss ich die doch auch angeben ?! woher soll er sonst 
wissen was er nehmen soll oder seh ich das falsch ?

von Frank (Gast)


Lesenswert?

Achso ja wenn man die "usbdrvasm.S" mit ins projekt einbindet kann man 
es auch compilieren ;)

von Micha (Gast)


Lesenswert?

Frank schrieb:
> Struktur zerreissen ?
>
> Wenn ich doch im AVR Studio das ganzen Dateien in ein Projekt haben
> will/muss dann muss ich die doch auch angeben ?! woher soll er sonst
> wissen was er nehmen soll oder seh ich das falsch ?
Das stimmt schon, aber laut deiner Beschreibung hast du die Dateien 
direkt in dein Verzeichnis kopiert, anstatt sie im Unterverzeichnis 
usbdrv zu belassen.

Wie geschrieben: schau dir mal USB IR Remote Receiver an.

von Guido Körber (Gast)


Lesenswert?

@Frank: Schau Dir mal den Samplecode an, den wir für unsere SpinWarrior 
haben:
http://www.codemercs.com/index.php?id=341&L=1

Da machen wir genau das, allerdings kommen bei uns die Daten halt von 
einem generic HID und werden dann in Tasten umgewandelt, geht aber auch 
als reine Software.

von Felix (Gast)


Lesenswert?

Vielleicht ist das hier auch interessant:

http://www.pjrc.com/teensy/

Kleines AVR Board, dass direkt über USB programmiert werden kann und 
auch als HID fungieren kann. Gibt da glaube ich ne Lib für, womit man 
auch zB den Mauszeiger steuern kann. Die Boards bekommt man auch 
irgendwo in Holland.

von Felix (Gast)


Lesenswert?

Hier die USB Keayboard Lib:
http://www.pjrc.com/teensy/usb_keyboard.html

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
Noch kein Account? Hier anmelden.