Hallo liebe Mikrocontroller Community, Ich habe momentan ein Projekt bei dem ich einen über UART eingelesenen String auf einem PC als Zeichenkette ausgeben soll, also als wenn er von einer Tastatur kommen würde. Das Problem ist, dass ich dazu keine passenden IC's finde, sondern nur fertige Kabel oder fertige Wandler. Ich möchte aber nichts vorgefertigtes, sondern einen IC, welchen ich in mein Projekt einbauen kann. Die Frage ist also nun, kennt irgendwer von euch einen IC, den man am besten nicht programmieren muss, sondern der nur einen String wie von einer Tastatureingabe auf dem PC ausgibt, welcher ihm vorher über UART gesendet wurde? Es sollte auch am besten ein HID USB Protokoll sein, damit es auf den meisten PC's erkannt und benutzt werden kann. Danke schonmal im voraus...
:
Verschoben durch User
Den IC gibt es auch einzeln http://www.silabs.com/products/development-tools/interface/cp2110ek-evaluation-kit
Das Problem bei diesem Chip/Evlatuation Board ist für mich, dass er sich selbst nicht als Keyboard ausgeben kann. Ich bräuchte eben einen Chip, der UART Strings bzw. Daten auf USB umsetzen kann und dafür keinen Extra Treiber und kein extra Programm benötigt.
Alternative Fakten schrieb: > Den IC gibt es auch einzeln > > http://www.silabs.com/products/development-tools/interface/cp2110ek-evaluation-kit Der CP2110 emuliert aber keine Tastatur, er nutzt nur HID als Schnittstelle. Das Design vom OP ist nicht besonders toll. Besser man nimmmt einen beliebigen USB-fähigen µC und hackt da das - oft vom Hersteller bereitgestellte - Tastaturbeispiel rein. Übrigens kann eine Tastatur nur Keycodes aber keine Zeichen senden. Daher wird aus dem String "querty" ein "qwertz" wenn eine deutscher Tatstaur eingestellt ist.
Jim M. schrieb: > Besser man nimmmt einen > beliebigen USB-fähigen µC und hackt da das - oft vom Hersteller > bereitgestellte - Tastaturbeispiel rein. Also gibt es keinen richtigen IC der das bewerkstelligen würde, was meinen Ansprüchen genügt? Man muss also eine µC benutzen, daran dann das Device mit UART anschließen und dann ein bisschen Programmieren, damit sich der µC als Tastatur ausgibt und die Strings, die per UART gesendet wurden an den PC per HID Interface/Keyboard Interface weitergibt? Habe ich das jetzt so richtig verstanden? Es wäre halt schade für mich, da ich dachte ich muss nur einen IC anschließen, den ein bisschen konfigurieren und dann hat sich das... Aber danke.
R. M. schrieb: > http://hobby-electrons.sourceforge.net/projects/terminal-keyboard/ > Könnte sein, was du suchst. Das sieht auf jeden Fall schon mal gut aus. Das ist auf Basis von einem ATmega wenn ich das richtig sehe? Also auch kein eigenständiger IC... Sieht aus als wäre das eine Marktlücke.. Schade aber auch
Tim K. schrieb: > Also gibt es keinen richtigen IC der das bewerkstelligen würde, was > meinen Ansprüchen genügt? Natürlich nicht, die Anforderung ist etwas zu speziell, um von allgemeinem Nutzen zu sein. Das Thema mit den Scancodes wurde ja schon angesprochen, aber hier noch etwas mehr Hintergrund dazu: Tastaturen senden nicht "A" oder "a", sondern nur die Information "Taste 34 gedrückt" - "Taste 34 losgelassen". Welche Bedeutung diese Tastennummer hat, hängt vom Tastaturlayout ab, aber das kennt nur derjenige, der die Tasten beschriftet hat und der Tastaturtreiber des Betriebssystems, nicht aber die Firmware der Tastatur (bzw. Deines gesuchten Seriell-zu-HID-Tastatur-ICs).
Hallo, ist zwar kein UART aber vielleicht hilft das dir weiter, das beste, du muss dich dann nicht mehr um VID/PID kümmern.. KeyWarrior24D Technische Details - KeyWarrior24D KeyWarrior24D Chips erzeugen Tastendrücke aus einem 8 Bit Code, so können Anwendungen mit Microcontrollern oder SPS auf einfache Weise Tastatureingaben erzeugen. USB 1.1/2.0 konform, Low Speed Direkte Ausgänge für Caps, Num und Scroll LEDs 8 Eingänge für Tastencode 6 Eingänge für Modifier-Tasten http://www.codemercs.com/de/tastatur/anderes-als-tasten
Rufus Τ. F. schrieb: > Welche Bedeutung diese > Tastennummer hat, hängt vom Tastaturlayout ab, aber das kennt nur > derjenige, der die Tasten beschriftet hat und der Tastaturtreiber des > Betriebssystems, nicht aber die Firmware der Tastatur Also müsste, insofern ich das Ganze mit einem µC realisieren wollen würde, der µC nicht einzelne Zeichen sondern eben die Tastennummern senden?? Robert H. schrieb: > KeyWarrior24D Chips erzeugen Tastendrücke aus einem 8 Bit Code, so > können Anwendungen mit Microcontrollern oder SPS auf einfache Weise > Tastatureingaben erzeugen. Dafür bräuchte ich dann unbedingt einen µC, der einen 8-Bit Code an den KeyWarrior sendet? Und der KeyWarrior wandelt den dann in eine Tastennummer um? Habe ich das so richtig verstanden?
Tim K. schrieb: > Das Problem bei diesem Chip/Evlatuation Board ist für mich, dass er > sich selbst nicht als Keyboard ausgeben kann. Ich bräuchte eben einen > Chip, der UART Strings bzw. Daten auf USB umsetzen kann und dafür keinen > Extra Treiber und kein extra Programm benötigt. Ich bin gespannt, ob es da was gibt. FTDI würde ich sowas zutrauen. Mein Ansatz ist derzeit ein STM32 plus RS232-Pegelwandler. Die notwendige Hardware für den Prototypen kostet bei Ebay ca. 5€. Ein Mikrocontroller kann nebenbei auch noch VID/PID speichern. Siehe auch mein Abschlussbericht hier Beitrag "Haretition Pro: Digitaler Joystick" Falls Du die Entwicklung auslagern möchtest - bitte PM.
Das oft verpönte* V-USB kann hier standardkonform eingesetzt werden: https://www.obdev.at/products/vusb/prjhid.html (dort nach "uart2kbd" suchen) *) verpönt, weil es nur Low-Speed-USB unterstützt, aber manche Protokolle wie z.B. CDC "legal" nicht mit Low-Speed-USB umsetzbar sind und daher von manchen betriebssystemen auch nicht mehr akzeptiert werden. Ist hier irrelevant, denn es geht hier nur um HID, und da ist Low-Speed-USB "legal".
Marcus H. schrieb: > Ich bin gespannt, ob es da was gibt. > FTDI würde ich sowas zutrauen. Bei FTDI habe ich schon nachgeguckt. Es gibt dort den FT260, der kommt aber nicht ohne extra Programm auf dem Computer aus. Marcus H. schrieb: > Mein Ansatz ist derzeit ein STM32 plus RS232-Pegelwandler. Ich habe bis jetzt mit keinem anderen Mikrokontroller gearbeitet bis auf Arduino. Geht es denn mit dem STM32 relativ leicht?
Tim K. schrieb: > Also müsste, insofern ich das Ganze mit einem µC realisieren wollen > würde, der µC nicht einzelne Zeichen sondern eben die Tastennummern > senden?? Eine Tastatur sendet Tastendrücke an den Computer. Wenn dein "System" eine Tastatur nachbilden soll, dann muss es das logischerweise auch tun. Was die Tastendrücke bedeuten, interessiert die Tastatur nicht.
Ich war bei einem kundenspezifischen PS/2-USB Wandler mit LUFA recht schnell am Ziel... http://www.fourwalledcubicle.com/LUFA.php
Tim K. schrieb: > Ich habe bis jetzt mit keinem anderen Mikrokontroller gearbeitet bis auf > Arduino. Geht es denn mit dem STM32 relativ leicht? Tja, das ist eine interessante Frage. Kommt wohl auf den persönlichen Trainingsstand an. Für mich ist der Ansatz mit STM32 einfacher gewesen, aber es kann durchaus sein, dass irgendwo eine passende Arduino-Lib im Netz liegt.
Okay danke an alle die geantwortet haben. Ich bin momentan so weit, dass ich die Recherche aufgegeben habe und darauf umgestiegen bin einen µC zu benutzen. Danke aber nochmal...
Das geht am einfachsten mit einen Arduino Pro Micro, oder jeder mit ATmega32U4! Hat UART drinn und USB. HID-Library ist bei Arduino schon dabei! Gruss Chregu
Tim K. schrieb: > Robert H. schrieb: >> KeyWarrior24D Chips erzeugen Tastendrücke aus einem 8 Bit Code, so >> können Anwendungen mit Microcontrollern oder SPS auf einfache Weise >> Tastatureingaben erzeugen. > > Dafür bräuchte ich dann unbedingt einen µC, der einen 8-Bit Code an den > KeyWarrior sendet? Und der KeyWarrior wandelt den dann in eine > Tastennummer um? Habe ich das so richtig verstanden? Ja, das ist richtig so. Je nach Anzahl der gewünschten Tasten werden bis zu 8 parallele Datenleitungen + 2 Steuerleitungen benötigt.
Von der Firma "Genie" gab es mal serielle Keyboardtreiber. Die akzeptierten den 'normalen' ASCII-Code und machten fuer das (Windows-)Betriebssystem Scancodes daraus. Aber keine Ahnung ob die hinter einem USB-Seriall-Wandler tun. Und ob Mann der Treiber heute noch irgendwo habhaft werden kann...
(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag #4934494: > Und ob Mann der Treiber heute noch irgendwo habhaft werden kann... ... und ob diese Treiber unter aktuellen Windows-Versionen noch verwendbar sein könnten ... Allerdings bietet Windows selbst von Hause aus eine Schnittstelle für seriell angeschlossene Tastaturen, die wird einem unter "Eingabehilfen" angeboten. Gedacht für Spezialtastaturen für körperlich eingeschränkte, lässt sich diese Schnittstelle natürlich auch unter anderen Voraussetzungen verwenden. Vor einiger Zeit hab' ich schon mal was darüber geschrieben: Beitrag "Re: Tastatureingaben über RS232"
Dazu sagte ich neulich schon etwas, habe es aber selbst nicht probiert, MCP2200: http://www.microchip.com/wwwproducts/en/en546923 Datenblatt: http://ww1.microchip.com/downloads/en/DeviceDoc/200022228D.pdf Leider so ein Dreckspdf, aus der man keinen Text kopieren darf.
Manfred schrieb: > habe es aber selbst nicht probiert, MCP2200: Zwar verwendet das Ding HID, aber darüber implementiert es keine Tastatur oder Maus. Die HID-Verwendung dient nur der einfachen und treiberlosen Ansteuerung der Gerätefunktionen über eine von Microchip gestellte DLL.
1 | The MCP2200 is configured by writing special commands using the |
2 | HID interface. Configuration can be achieved using the configuration |
3 | utility provided by Microchip. Alternatively, a custom utility can be |
4 | developed by using the DLL available on the MCP2200 product page. |
Übrigens ist dieser Text aus dem von Dir verlinkten PDF rauskopiert, ohne Klimmzüge. Was für einen PDF-Betrachter verwendest Du?
Auf dem LowPinCount Demo Board von Mikrochip ist der original Prozessor verbaut der hinter dem mcp2200 Steckt. Die Demoprojecte beinhalten USB to RS232 und HID Mouse und Tastatur. Beides verheiratet sollte das gewünschte tun. mfg Michael
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.