Hallo, zu meinem baldigen Projekt muss noch eine Frage geklärt werden. Projekt: Über einen Mikrocontroller der seriell mit dem PC verbunden ist, soll zum beispiel der winamp gesteuert werden. Wenn ich beim Winamp die Tastenkombination (z.b. Strg+Alt+N für "nächster Track") aktiviere, kann ich dann auf dem Mikrocontroller irgendwie die Tastenkombination senden, das Winamp das dann mitbekommt und auch reagiert? Board: myAvr mit dem Atmega8 Verbindung: Über BTM-222 der eine serielle Schnittstelle über Com-Port vorgaukelt. Hoffe ich hab mich verständlich ausgedrückt :) Gruß Sven
Ich rate mal ins blaue, dass nicht ganz so einfach wird, da ja über die serielle Schnittstelle normalerweise keine Tastaturen angeschlossen werden und das Betriebssystem deshalb vermutlich das, was dort ankommt, nicht als Tastendrücke interpretieren wird.
Dachte ich mir auch, nur kann man ja über ascii werte auch stuerbefehle senden. z.b. 0x01 für STRG+A kommt man vlt. hier weiter?
Dann musst du auf dem Computer ein Programm laufen lassen, was auf der Schnittstelle horcht und dann die Tastenkombinationen im Betriebssystem erzeugt. Das kann man schon machen.
Ich meine mich zu erinnern da gabs früher (tm) mal was. Also Schaltplan und Software dafür. Hatte das auch mal kurz aufgebaut funktionierte prima aber bin dann auf Linux umgestiegen. Grad mal kurz geschaut: http://www.danielandrade.net/2005/11/17/howto-external-winamp-control/
Du stellst momentan die falsche Frage. Die richtige Frage muss zunächst lauten: Wie kommen deine Zeichen vom AVR über die serielle Schnittstelle ins WinAmp. Und zwar nicht einfach irgendwie, sondern so, dass sie WinAmp über seine ganz normalen Steuerschnittstellen auch akzeptiert. Das kann im einfachsten Fall sein, dass man WinAmp die Zeichen in die Input-Queue stellt, so dass es für WinAmp keinen Unterschied mehr macht ob die Quelle jetzt tatsächlich eine Tastatur oder irgend ein anderes Gerät ist. Ich meine mich aber auch zu erinnern, dass WinAmp ein paar Schnittstellen bereitstellt (Stichwort: COM-Objekte) über die man es fernsteuern kann. Aber sei es wie es sei: Ohne ein zusätzliches Programm, welches auf dem PC die serielle SChnittstelle überwacht und das dort empfangene an WinAmp weiterleitet, wird das wohl nichts werden. Es sei denn natürlich, es gibt eine dokumentierte Schnittstelle von WinAmp selber, mit der man es auf eine serielle aufschalten kann. Bei der Verbreitung von WinAmp und der vielfältigen Anwendbarkeit würde mich das ehrlich gesagt noch nicht einmal wundern. Also: Hausaufgaben machen und rauskriegen welche Möglichkeiten es prinzipiell gibt um WinAmp fernzusteuern. Welche dieser Möglichkeiten kann WinAmp ganz von alleine (durch Konfiguration/Plugins) erledigen und bei welchen muss man zusätzlich programmieren.
wow, klasse... Dickes Dankeschön. Sitz grad noch in einem Vortrag, werde es aber daheim in ruhe mal durchgehen...
Es ist überhaupt nicht erforderlich, über eine Emulation der Standard-Tastatur zu gehen oder sich irgendwelche komischen Konstrukte zu überlegen. Der TO hat doch ganz klar geschrieben, dass er Winamp verwenden möchte und nicht eine beliebige Software fernsteuern. Winamp besitzt schon seit Urzeiten die Möglichkeit, einen COM-Port direkt anzusteuern/abzufragen, d.h. sowohl zur Darstellung von Titellisten als auch zur Annahme von Steuerkommandos. Das entsprechende Plugin findet man hier: http://www.winamp.com/plugin/com-port-winamp-control-v142/92855
Da du WinAmp über übliche Tastenkombinationen fernsteuern kannst, ist dein Vorhaben schon möglich. Du kannst unter "Systemsteuerung-->Eiingabehilfen-->Allgemein-->externe Eingabehilfen" die serielle Schnittstelle als Eingabe konfigurieren. Dann hast du die Möglichkeit über den AVR Tastencodes an WinAmp zu senden. Dazu muss WinAmp natürlich vorher gestartet und aktiv (handle) sein. Damit köntest du den "Umweg" über ein Zwischenprogramm dir ersparen - wobei das sicherlich die sauberere Lösung ist. Such mal bei Microsoft MSDN, da findest alle Infos dazu
@Remote One Das wäre dann auch nutzbar um zum beispiel VLC shortcuts zu nutzen?! Wäre mir sogar lieber als über das Com-Port Plugin... Bei mir jedoch ist dieses Feld ausgegraut und der Haken nicht setzbar, liegt warschienlich daran das im moment nichts über die Seriellenschnittstellen angeschlossen ist... Vielen dank. Da arbeitet man solange schon mit Windows, kennt die FUnktion aber nicht :)
Ich hab jetzt auch den Microsoft-Artikel dazu wieder gefunden: http://support.microsoft.com/default.aspx?kbid=260517 Wie das mir dem BTM-222 funktioniert, kann ich dir nicht sagen. Aber sobald eine virtuelle RS232 Schnittstelle im Gerätemanager ist, sollte das schon klappen.
ich denke, das schickste wäre die Referenzimplementierung einer HID-Tastatur von Obdev zu benutzen http://www.obdev.at/products/vusb/hidkeys.html dann schließt du dein AVR an die USB-schnittstelle und Windows erkennt ihn als normales Keayboard. von nun an kannst du jede Tastenkombination senden, die du lustig bist.
Vlad Tepesch schrieb: > ich denke, das schickste wäre die Referenzimplementierung einer > HID-Tastatur von Obdev zu benutzen > http://www.obdev.at/products/vusb/hidkeys.html > > dann schließt du dein AVR an die USB-schnittstelle und Windows erkennt > ihn als normales Keayboard. > von nun an kannst du jede Tastenkombination senden, die du lustig bist. So hab ich das für meine PC Fernsteuerung gemacht. Einfach noch einen TSOP spendiert und damit Tastaturcodes zum fernsteuern des Rechners gesendet. @Sven: wenn du das so machen willst, dann kann ich dir da zumindest ein wenig Code beisteuern.
@Vlad und Remote Brauch ich um HID zu nutzen noch irgendein Bauteil oder geht das alles über SW? Ich glaub ich hab das mit dem HID noch nicht ganz verstanden ^^ Nutzbarkeit mit Windows ist klar, wie wenn ich dann ein normales Eingabegerät am Rechner anschließe. Kann ich dann auch normal Daten über die serielle Verbindung schicken oder nur noch Tastenkombinationen? Zitat aus Wiki: "Beschränkt wird die Nutzbarkeit unter anderem durch eine geringere Anzahl an Endpunkten und geringe Datenübertragungsrate." Zu meinem Projekt gehört ein Touchscreen, über den man gewünschtes auswählt und sendet. Für die Darstellung auf dem Display wird doch einiges an Daten gesendet und empfangen. (Schon allein die ständige Abfrage wo der Stift/Finger gerade ist). Dazu kommt, das ich nicht per USB auf den Rechner gehe sondern per BTM das eine serielle COM Verbindung vorgaukelt. Irgendwie blick ich da noch nicht ganz durch... kann mir das mal einer transparenter erklären bitte :)
Das mit dem HID über USB war ja nur ein Vorschlag. Bis dahin wusste ja noch keiner was du genau machen wolltest. Es hieß ja lediglich, dass du z.B. WinAmp über Tastenkürzel steuern möchtest. Wenn du das BTM-222 Modul hast, dann vergiss das mit dem USB einfach wieder. Da ist es für dich sicherlich wesentlich einfacher, die serielle Schnittstelle in betrieb zu nehmen. Der Vorteil bei der USB Variante wäre lediglich, dass es an jedem beliebigen Rechner funktionieren würde ohne vorher die "externe Eingabehilfe" zu aktivieren. Nachteil ist natürlich der erhöhte Aufwand und das es kabelgebunden ist. Sven schrieb: > Brauch ich um HID zu nutzen noch irgendein Bauteil oder geht das alles > über SW? Na ja, mal von dem USB Stecker und ein wenig Kleinkram abgesehen, brauchst du da nichts weiter - das wird alles in Software gemacht Sven schrieb: > Nutzbarkeit mit Windows ist klar, wie wenn ich dann ein normales > Eingabegerät am Rechner anschließe. Kann ich dann auch normal Daten über > die serielle Verbindung schicken oder nur noch Tastenkombinationen? Also, wenn du dich als HID Tastatur bei Windows anmeldest, dann kannst du auch nur Taten/Tastenkombinationen schicken. Wie du die interpretierst, ist ja dann deine Sache. Dir stehen ja schließlich auch alle numerischen und alphanumerischen Tasten zur Verfügung. Mit der seriellen Verbindung versteh ich deine Frage nicht ganz. Wenn du fragst, ob du neben dem HID noch die RS232 nutzen kannst, dann kann ich das mit ja beantworten. Sven schrieb: > Zu meinem Projekt gehört ein Touchscreen, über den man gewünschtes > auswählt und sendet. Für die Darstellung auf dem Display wird doch > einiges an Daten gesendet und empfangen. (Schon allein die ständige > Abfrage wo der Stift/Finger gerade ist). Die Daten, welche gesendet/empfangen werden, gehen doch aber nicht direkt zum Rechner. Vielmehr wird es doch so sein, dass der µC die Darstellung und Auswertung des Displays übernimmt. Wenn dann z.B. etwas bestimmtes auf dem Display aktiviert wird, dann wird eben ein spezielles Tastenkürzel an den PC weitergeleitet. Das ist also keine direkte Kommunikation zwischen PC und Display. Da sitzt immer noch der µC dazwischen als Umsetzer Sven schrieb: > Dazu kommt, das ich nicht per USB auf den Rechner gehe sondern per BTM > das eine serielle COM Verbindung vorgaukelt. Das ist wie gesagt die einfache Variante und zudem nicht kabelgebunden. Aber zur Steuerung des Rechners musst du jedes mal die externe Eingabehilfe aktivieren. Keine Ahnung wie das ausschaut, wenn du keine Admin Rechte hast. Kann sein, dass du das dann nicht aktivieren kannst. Zum anschließen eines HID brauchst du keine Admin Rechte und die Treiber sind bei Windows auch dabei.
Hallo! Zur Info, im Elektor gibt es dies... http://www.elektor.de/jahrgang/2010/januar/winamp-control.1188077.lynkx mfg albert
Remote One schrieb: > Sven schrieb: >> Zu meinem Projekt gehört ein Touchscreen, über den man gewünschtes >> auswählt und sendet. Für die Darstellung auf dem Display wird doch >> einiges an Daten gesendet und empfangen. (Schon allein die ständige >> Abfrage wo der Stift/Finger gerade ist). > > Die Daten, welche gesendet/empfangen werden, gehen doch aber nicht > direkt zum Rechner. Vielmehr wird es doch so sein, dass der µC die > Darstellung und Auswertung des Displays übernimmt. Wenn dann z.B. etwas > bestimmtes auf dem Display aktiviert wird, dann wird eben ein spezielles > Tastenkürzel an den PC weitergeleitet. Das ist also keine direkte > Kommunikation zwischen PC und Display. Da sitzt immer noch der µC > dazwischen als Umsetzer Jo, war nen Denkfehler von mir ^^ Jetzt hab ich das aber auch verstanden. Meine Liste der Bauteile hab ich jetzt auch zusammen, n8un aber erstmal hinten anstellen. Andere Arbeiten warten auch noch. Einen Maschinenbauer, der mir die Hülle aus legiertem Alu macht, hab ich auch schon :)
Hallo! Falls es sich um das Betriebssystem Windows handelt sollte sich das Programm Eventghost (freie Software) mit dem Serial Plugin eignen. Damit kannst Du einfach Serielle Kommandos in entsprechende Events umwandeln ein plugin für Winamp Steuerung existiert ebenfalls und ettliche andre Programme. gruß, Bjoern
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.