Forum: Mikrocontroller und Digitale Elektronik USB-Blackbox-USB - Problem


von Berny H. (berny_h)


Lesenswert?

Hallo ihr alle...

ich hab hier ein Problem, bei dem ich konzeptionell nicht weiterkomme.

Ich hab einen PC (#1), bei dem ich ausschließlich eine USB-Schnittstelle 
nutzen kann, um von extern Daten "einzuschleifen". Das geht nur über die 
Nutzung einer USB-Tastatur-Funktion!

Ich habe einen weiteren PC (#2), der Daten aufbereitet und die ich an 
den anderen PC (#1) senden muss.

Netzwerk geht eben nicht; Softwareistallationen auf #1 auch nicht.

Nun dachte ich, dass ich eine USB-->XXX-->USB - Verbindung baue, 
dergestalt, dass der USB-Controller an #1 sich wie ein 
Tastaturcontroller verhält. Controller an #2 die Daten über einen 
Treiber entgegennimmt und an den Controller an #1 sendet. Mit AVR 
dazwischen, oder so...

Ich hoffe, ich habe mich verständlich ausgedrückt...

einfacher: wie kann ich Tastaturdaten von einem PC zum anderen an einen 
USB-Port schicken?

Hat sowas schon mal einer gemacht?

von Achim M. (minifloat)


Lesenswert?

Bastlerlösung:
1. Zwei USB-Com-Adapter kaufen
2. Nullmodemkabel löten
3. Alles zusammenstecken
4. sich freuen

Die usbser.sys ist ab Win ME dabei, muss nur über eine .inf-Datei 
"reingeholt" werden. Bei allen unixoiden ist bereits ein vollständiger 
"Treiber" dabei.

mfg mf

von sven (Gast)


Lesenswert?

Klingt als würdest du Daten auf einen pc bringen wollen auf dem diese 
nicht umbedingt erwünscht sind?

Wenn du aber doch einen Usb hast es gibt Usb "Netzwerkkabel" von pc zu 
pc verhält sich als hättest du ein Netzwerk

Usbsticks brauchen auch keine Treiber

erklähr doch mal was du vorhast macht vllt vieles einfacher

von Peter II (Gast)


Lesenswert?

sven schrieb:
> Usbsticks brauchen auch keine Treiber

doch brauchen sie, aber sie sind halt schon beim BS meist dabei. Beim 
ersten anstecken werden sie installiert.

usbstore.sys z.b.

von Berny H. (berny_h)


Lesenswert?

Uiii, das ging ja schnell...

Nee, nee, es ist so:

Meine Freundin ist ne Schreibkraft in einem med. Schreibbüro und muss 
jede Tag ne Menge med. Zeugs tippen. Da hab ich einen Touch-Screen-pc 
neben ihren eigenen (thin Client) gestellt, auf dem man dann beim 
Schreiben themenselektiert vor allem lange Begriffe mit dem Finger 
auswählt. Über die USB-Verbindung könnte ich dann die Daten 
einschleifen. Wie gesagt, thin Client, es geht NUR ne USB Tastatur 
anzuschließen. Software oder ne rs232 zu Keyboard geht überhaupt nicht.

Der Touch pc ist eigener, da kann ich machen, was ich will, wie also die 
Daten gesendet werden, bin ich völlig flexibel. Die Daten müssen halt 
irgendwie in einen Tastaturcontroller und von dort dann zum Schreib-pc.

Ok, ich könnt einen Roboter bauen, der mit Spinnenarmen auf ner 
richtigen Tastatur hämmert... Das sieht zwar geil aus, ist aber nicht, 
das was ich suche...

Besser verständlich jetzt?

von ingo (Gast)


Lesenswert?

Ein möglicher Ansatzpunkt wäre
http://www.obdev.at/products/vusb/hidkeys.html
Die Daten könnten auch als ASCII über den UART in den AVR kommen.
Allerdings müsstest Du die Zeichen in den entsprechenden Scancode 
(einschliesslich Shift) umsetzen.
Bedeutet also etwas Arbeit, erscheint aber machbar.
mfG ingo

von ingo (Gast)


Lesenswert?

Ziehe den letzten Beitrag zurück, in
http://hobby-electrons.sourceforge.net/projects/terminal-keyboard/
(ebenfalls aus der VUSB-Projektseite) sind die genannten Anpassungen 
schon drin. In diesem Projekt kommen die Daten auch aus einem 
ASCII-Terminal.
mfG ingo

von Ulrich P. (uprinz)


Lesenswert?

Bei allen Controllern, die einen USB-Device Port haben, gibt es beim 
Hersteller auch eine Demo-Software, die die üblichen Devices emuliert. 
Das gilt zumindest für ATMEL AT90USB und Atmega32U4, AT91SAM7*, 
STM32V10x und LPC diverser Coleur.

Das Basis-Demo nimmt die Daten i.d.R. über einen UART entgegen und 
leitet sie als Keyboard-Emulation auf USB weiter. HID-Profil, sollte das 
sein, was Du suchst.
Auf dem Sender-PC benutzt Du die gleiche Hardware und kompilierst das 
CDC Device Beispiel des jeweiligen Herstellers. Dann schaltest Du die 
beiden über die Serielle gegeneinander. Nun musst Du nur noch eine 
Möglichkeit finden, die Textblöcke aus dem Tablet auf die virtuelle 
Serielle zu senden.

Btw:
Sogar die USB-1.1 Emulation, die es für die kleinen AVRs gibt, die 
keinen USB Controller haben, kann das.

Du musst Dir also für letzteres nur einen passenden Controller und eine 
Lochraster-Platine besorgen oder ein fertiges Demokit für die anderen 
genannten Typen.

Ulrich

von Potter (Gast)


Lesenswert?

Am einfachsten nimmst Du irgendeinen Mikrocontroller mit USB, z.B. 
PIC18F14K50. Der integrierte USB simuliert Dir die Tastatur - wie 
bereits erwähnt gibt es die Firmware bereits vom Hersteller. Dieses Ende 
kommt an den PC der die Tastatureingabe benötigt.

Jetzt hängst Du Deinen sendenden PC (das andere Ende) über einen FTDI an 
den UART vom PIC. Der PIC schaufelt dann die Daten vom UART an den 
internen USB-Controller.

Das mit den Scan-Codes ist eigentlich auch völlig humorlos - es werden 
einfach 8 Bytes verschickt. Das ist schon das ganze Protokoll. Die Daten 
kannst Du an Deinem Sende-PC so vorbereiten, dass Dein PIC wirklich nur 
noch rüber schaufelt.

von Berny H. (berny_h)


Lesenswert?

Klasse, so hatte ich mir das vorgestellt.
Danke an alle!

von Ulrich P. (uprinz)


Lesenswert?

Stimmt, die meisten uCs haben nur einen USB, aber Sie haben viele 
USARTs. Statt nun 2 Kits zu kaufen, tut es auch ein einzelnes und ein 
USB-seriell-Wandler.

Schau mal im Shop zu diesem Forum, da solltest Du alles nötige finden.

von Berny H. (berny_h)


Lesenswert?

ingo schrieb:
> Ziehe den letzten Beitrag zurück, in
> http://hobby-electrons.sourceforge.net/projects/terminal-keyboard/
> (ebenfalls aus der VUSB-Projektseite) sind die genannten Anpassungen
> schon drin. In diesem Projekt kommen die Daten auch aus einem
> ASCII-Terminal.
> mfG ingo

Hi Ingo,

Das Teil ist super...

Aber, sehe ich das richtig? In der Schaltung zum o.g. Projekt kommt die 
Stromversorgung für den AVR und dem MAX aus dem USB-Port? Reicht das 
denn?

von ingo (Gast)


Lesenswert?

> Aber, sehe ich das richtig? In der Schaltung zum o.g. Projekt kommt die
> Stromversorgung für den AVR und dem MAX aus dem USB-Port? Reicht das
> denn?

Für den AVR+MAX dürfte die Versorgung aus dem USB-Port mit Sicherheit 
reichen, da kommen sicher keine 100mA zusammen.
Ob Du Letzteren überhaupt benötigst, hängt davon ab, was Du auf der 
anderen Seite nimmst. Mit MAX und echtem V-24 Pegel könntest Du 
natürlich einen fertigen USB-seriell-Wandler nutzen.
mfG ingo

von Berny H. (berny_h)


Lesenswert?

ingo schrieb:
> Für den AVR+MAX dürfte die Versorgung aus dem USB-Port mit Sicherheit
> reichen, da kommen sicher keine 100mA zusammen.
> Ob Du Letzteren überhaupt benötigst, hängt davon ab, was Du auf der
> anderen Seite nimmst. Mit MAX und echtem V-24 Pegel könntest Du
> natürlich einen fertigen USB-seriell-Wandler nutzen.
> mfG ingo

Klar, so hatte ich das auch gedacht, auf der "Sende"-Seite einen
USB-->COM-Wandler mit virtuellem Com-Port,
den meine Software anspricht und den COM--> USB-Keyboard-Wandler als 
Input für den ThinClient-PC.

Vielen Dank noch mal!!

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.