-
Notifications
You must be signed in to change notification settings - Fork 0
wii-remote Plugin to control VDR
License
vdr-projects/vdr-plugin-bewegung
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Dieses ist ein Plugin für den Video Disk Recorder (VDR). Written by: Torsten Kunkel <[email protected]> Project's homepage: --- Latest version available at: http://www.vdr-portal.de English documentation: README_EN This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING for more information. Installation ------------ Das Plugin wird normal mit "make plugins" erstellt und muss dann mit "-Pbewegung" beim VDR-Start angegeben werden. Benutzung --------- Im VDR-Setup muss die MAC-Adresse der Wiimote eingetragen werden, diese bekommt man, wenn man in der Konsole mit "hcitool -scan" mit den (natürlich installierten) Bluetooth nach Bluetoothgeräten sucht. Damit die Wiimote sich verbinden kann muss sie in den s.g. "Paaringmodus" versetzt werden, dieses geschieht mit dem gleichzeitigen Drücken von 1+2. Hat man die MAC-Adresse eingetragen und das Verbinden der wiimote erlaubt (ebenfalls VDR-Setup), dann braucht man nur noch die Tasten 1+2 der Wiimote zu drücken und diese sollte vom VDR erkannt werden. Mit der Home-Taste (Taste mit Haus) trennt man die Wiimote wieder vom VDR. "Tasten"belegung ---------------- B + kippen rechts -> Taste "rechts" B + kippen links -> Taste "links" B + kippen hoch -> Taste "hoch" B + kippen runter -> Taste "runter" A -> Taste "OK" 1 -> Taste "Menü" 2 -> Taste "zurück" hoch -> Taste "rot" rechts -> Taste "grün" runter -> Taste "gelb links -> Taste "blau" + -> Taste "Lautstärke +" - -> Taste "Lautstärke -" Home -> Wiimote trennen Anmerkungen ----------- * Mein Quellcode ist gruselig :) * Dieses Projekt ist aktuell eher als Technikdemo zu betrachten! * Bei einer registrierten Wiimote leuchtet LED 1+4 * Drehungen werden erst ab X° "gültig", dieser Winkel ist im Setup einstellbar * Drehungskommandos sind "dauerhaft" bleibt man in der Drehung, dann wird der Befehl noch einmal ausgeführt. * Es muss eine gepatchte Version der libwiimote-0.4 [1] verwendet werden, da diese sonst nicht im cpp-Umfeld verwendet werden kann [2]. Ich habe bisher nur mit der 0.4 gearbeitet, den CVS-Stand oder ältere Bibliotheken habe ich nicht ausprobiert. * Der libwiimote fehlen leider ein paar Schritte bei der Erstellung, diese ist aber im Forum [3] im ersten Schritt beschrieben. * Die Bewegungen rechts/links (also das Drehen in der waagerechten) werden nicht ausgewertet. Damit diese Bewegung Daten liefert müsste die Wiisensorbar aktiv sein und die Wiimote in Reichweite sein. Im Normalfall bedeutet dieses, dass dann auch die Wii aktiv sein müsste. * Wenn man die Wiimote an der Wii benutzen möchte, dann unbedingt im VDR die Verbindungserlaubnis (setup) entziehen, sonst kann es sein, dass die Wiimote sich mit dem VDR und nicht mit der Wii verbindet. Beschreibung der Funktionsweise ------------------------------- Das Plugin startet beim Laden 2 Threads, ein Thread liesst permanent von der Wiimote die Informationen aus, der 2. Thread wertet diese Informationen aus und drückt virtuell die entsprechenden Tasten. Es sind hier 2 Threads notwendig, da die Wiimote permanent Daten sendet, würde man es in einem Thread abhandeln, dann entstünde ein Datenstau, die Daten der Wiimote würden nicht so schnell abgearbeitet werden wie sie gesendet werden und der Benutzer würde einen Zeitversatz empfinden. Bei den Drehungen wird der Winkel der Wiimote ausgelesen und mit dem hinterlegten Winkel in der Konfiguration verglichen. Es wird hierdurch festgelegt wie weit man die Wiimote neigen muss, bis es als (z.B.) "runter" erkannt wird. Diese Winkel ist seperat einstellbar. Also z.b. 30° für unten, aber 45° für oben, denn ich habe festgestellt, dass man mit unterschiedlichen Winkeln deutlich bessere Erkennungen bekommt. Rechtshänder z.b. können nach links VIEL besser drehen als nach rechts, sie halten die wiimote aber eh schon leicht schief, so dass eine Drehung nach links z.b. 45° sein müsste, eine Drehung nach rechts aber nur ca. 30 (dieses sind Beispielwerte). BUGS/TODO --------- * das Setzen der LEDs beim erneuten Wiimote-Verbinden klappt nicht (LEDs blinken weiter) * "Testseite". Es soll im Hauptmenü ein OSD geben, auf dem man die Erkennung testen kann. Links ----- [1] libwiimote http://libwiimote.sourceforge.net/ [2] Patch libwiimote http://sourceforge.net/tracker/index.php?func=detail&aid=1712411&group_id=186431&atid=917257 [3] Erstellanleitung libwiimote http://sourceforge.net/forum/forum.php?thread_id=1730045&forum_id=652224
About
wii-remote Plugin to control VDR