Registrarse
Home
Foros
Miembros
Calendario
Normas
Ayuda

Foros de usuarios de openSUSE
Retroceder   ForoSUSE > Zona Software > General OpenSUSE


Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook

Respuesta
 
Herramientas Desplegado

Wiimote para Suse 10.2
  #1  
Antiguo 22-may-2007, 03:16
Serfaksan
Invitado
 
Mensajes: n/a
Wiimote para Suse 10.2

Despues de una pelea milenaria de casi una semana con muy pero muy escasa informacion en internet y la poca habida en aleman, he logrado lo que por un momento pense ke seria imposible XD, aki les dejo los pasos para este webo ok XD si lo sienten formal es puesto ke es copy-paste del documento escrito que hice para la presentacion del proyecto pa final de ciclo ok XD

Wiimote en Linux Suse 10.2

Para esto necesitamos no solo software sino hardware tambien, aquí esta la lista:

1.Wiimote con o sin Nunchuck
2.USB Bluetooth Device
3.IR Sensor Bar (puede usarse la de nintendo wii o hacerse en casa)

Necesitaremos instalar python-devel usando yast para poder instalar ciertas dependencias, bluez y sus dependencias pueden ser instalado usando yast, pero las demas dependencias tendremos que bajarlas e instalarlas usando comandos modo root (si instalamos python 2.5 podremos instalar varias herramientas listadas aquí junto con el pero el hacer esto hara que beryl-settings falle y por consecuencia no se podra modificar ningun aspecto de beryl puesto que detectara 2 sistemas python el 2.4 y el 2.5, despues de instalar ciertas dependencias mencionadas abajo el python 2.4 sera elevado al 2.5 por consecuencia no habra 2 sistemas python y beryl-settings no fallara), estos pasos los explicaremos con 3 secciones.

A) Instalar Dependencias

1.Instalar Bluez (driver de bluetooth con sus dependecias)
bluez-libs 3.10
bluez-utils 3.10
bluez-firmware 1.2
bluez-hcidump 1.35
bluez-gnome 0.7 (solo si usas gnome)
2.Instalar python-devel
3.Instalar pybluez (en su directorio usar comando “python setup.py install”)
4.Instalar python x lib 0.13 (con comando anterior, este requerira un parche)
5.Instalar matplotlib (con comando python)
6.Instalar PyOSD 0.2.14(con comando python)
7.Instalar OSD 1.0 (con comnado python)
8.Instalar Numpy (con comando python)
9.Instalar PyGame (con comando python)
***si utilizan Ubuntu Edgy tendran ke instalar el mouseemu tambien***

Estas son las dependencias necesarias para poder correr el software a utilizar para el wiimote, ahora tendremos que instalar otro software ya dedicado al wiimote, tambien deberemos habilitar ciertos modulos necesarios para el reconocimiento del sistema y modificar ciertas lineas de codigos.

1.Tenemos que ir al directorio /usr/lib/python2.4/site-packages/Xlib/protocol/ (puede que despues de las instalaciones anteriores python 2.4 haya evolucionado a 2.5, si este es el caso en vez de python2.4 escribe python2.5), buscaremos el archivo display.py y le daremos permisos de escritura, lo abrimos con gedit o kwrite y buscamos la linea “recv = self.socket.recv(4096)”, si el numero entre parentesis es 4096 entonces todo esta bien, si el numero es 2048 entonces tenemos que cambiarla a 4096.
2.Bajamos la librería libwiimote 0.4 que sera la encargada de reconocer todo lo referente al wiimote, para instalarlo necesitaremos los siguientes pasos:
Entrar en consola como root y correr el comando autoconf(esto creara el archivo de configuración para el compilamiento)
luego correr ./configure (esto configurara toda la información)
luego correr el comando “make” (compilara la información)
luego correr make install (instalara la librería)
3.Bajamos el driver Cwiid el cual contiene ciertas pruebas para verificar que todo funciona y para instalarlo seguiremos los siguientes pasos:
Descomprimir con Ark
correr comando ./configure
correr comando make
correr comando install

Una vez hecho esto podremos tener acceso a herramientas de consola como el comando wmgui el cual nos brindara información sobre el funcionamiento de los botones, los sensores de movimiento y el sensor infrarojo, tambien nos dejara guardar información en el flashdrive del wiimote, tambien el wminput para el funcionamiento del wiimote con infrarojo (bastante preciso)y el wminput -t acc para el funcionamiento del wiimote solo con sensor bluetooth (muy impreciso).
4.Si el kernel de Linux es el 2.6 o mayor entonces tendra en si 2 modulos importantes para el funcionamiento de todo esto, los cuales son “uinput” y “evdev”, evdev es un driver ya insertado en el kernel para el reconocimiento de la mayoria de objetos usb, en cualquier caso no este instalado podemos bajar de sourceforge.net el paquete “xorg-x11-driver-input-7.2-18.40.src.rpm”, el cual nos dejara instalar evdev o sino pueden bajarse el paquete mismo x11-input-evdev-050728-3.i586.rpm (nota: esto solo correra cuando tengamos el dispositivo bluetooth conectado y corriendo).
5.Ahora corremos el bluetooth y lo dejamos funcionando
*** Desde este punto se pueden guardar los scripts en un comando tipo bash***
6.Hecho eso podemos acceder a consola y nos podra reconocer el modulo evdev y por ende tambien el uinput por lo tanto podemos correr el comando “modprobe uinput evdev” y esto cargara los modulos en linux y se creara un archivo con el mismo nombre del modulo en el directorio /dev/input/.
7.Los drivers del wiimote intentaran buscar el modulo en /dev/misc/, por lo tanto tenemos que correr los siguientes codigos como root:
mkdir /dev/misc/ (solo si no esta creada la carpeta misc)
ln -s /dev/input/uinput /dev/misc/uinput (esto creara un archivo uinput en /dev/misc/ vinculandolo con el archivo /dev/input/uinput
chmod 666 /dev/misc/uinput (le da permisos de ejecución al archivo)
Seria recomendable el crear una lista de comandos bash incluyendo estos comandos para facilitarse el hecho de volverlos a escribir, puesto que los modulos evdev y uinput solamente se cargaran mientras este el bluetooth device conectado, al desconectarse o apagar el equipo esto se perdera y habra que hacerlo de nuevo puesto que el archivo uinput desaparecera junto con todo a excepción de la carpeta misc en algunos casos.

B) Verificar conexión con el Wiimote

Ahora debemos asegurarnos que el Wiimote ha sido detectado dentro de linux, para eso tenemos la manera sencilla la cual es conectar el bluetooth device, y presionar los botones 1 y 2 del wiimote al mismo tiempo para la deteccion, o la manera dificil:

1.Correr el comando hcitool scan para encontrar el wiimote y apretar los botones 1 y 2 o el boton rojo que esta en el area de las baterias
2.El wiimote sera reconocido como Nintendo RVL-CNT-01 y tambien dara la direccion mac del wiimote, tenemos que anotar este dato, es muy importante
3.Luego correr el comando hidd –search para el reconocimiento del wiimote esto deberia dar como resultado la respuesta “connecting to device XYZ”
4.Luego corremos el comando hcidump -X y al hacer esto al apretar cualquier boton del wiimote deberiamos recibir alguna respuesta de la consola
5.Deberias ver los leds del wiimote brillando, saca la bateria para matar la conexion

***Si no creaste la carpeta misc en el directorio /dev, entonces tendrás que buscar el archivo uinput, darle permisos de escritura y en la linea 37 cambiar 'UINPUT_DEV': "/dev/misc/uinput", a 'UINPUT_DEV': "/dev/input/uinput", salvarlo y salir***

C) Wiiwanna Motte Dammiit (WMD)

Ahora tenemos que hacer un paso que puede ser algo peligroso si no se sabe lo que se hace, tendremos que agregar unas lineas de comando al archivo xorg.conf. Este maneja todo lo que es el entorno grafico, si algo sale mal no podremos usar el entorno grafico de nuevo, por lo mismo dendremos que crear una copia del xorg.conf original, salvarla en la misma carpeta como xorg.conf.backup.

1.Debemos ir al directorio /etc y darle permisos de escritura a la carpeta X11
2.Dentro de /etc/X11/ copiamos el archivo xorg.conf y lo guardamos alli mismo como xorg.conf.backup
3.Abrimos el archivo xorg.conf con gedit o kwrite
4.Dentro de este archivo debemos buscar el area de los input devices y crear uno nuevo escribiendo los siguiente abajo del teclado y el mouse:

Section "InputDevice"
Identifier "Wiimote"
Driver "evdev"
Option "Name" "Nintendo Wiimote"
EndSection
5.Luego en el apartado de Server Layout debemos escribir debajo del teclado y el mouse el siguiente codigo:

InputDevice "Wiimote" "AlwaysCore"

6.Salva el archivo y reinicia linux, si el servidor X falla entonces no podras regresar al entorno grafico, si esto pasa y creaste el backup no habra problema solamente escribimos el siguiente codigo dentro del directorio /etc/X11/ como root:

cp xorg.conf.backup xorg.conf

Esto hara que el archivo que teniamos se duplique con el nombre de xorg.conf por lo cual borrara el archivo modificado, despues de esto debemos reiniciar la pc y no habra ningun problema, podras regresar al entorno grafico.
Ahora podemos al fin usar aplicaciones que nos permitan controlar linux con el wiimote, la mas importante seria WMD (Wiiwanna Motte Dammiit), el driver creado para el control de nintendo, para que funcione bien debemos extraer el archivo con ark y luego buscar dentro del directorio el archivo config.py, en el buscamos la linea 15 e insertamos la direccion mac del wiimote.

Como hemos reiniciado debemos conectar el bluetooth device y si la lista de comandos bash fue creada correrla en consola como root, para que cargue los modulos uinput y evdev, ya hecho esto podemos usar varios softwares:

1.Si usamos WMD para correr wiimote debemos ir a su directorio y correr el comando “modprobe uinput python WMD.py”, presionamos los botones 1 y 2 para el reconocimiento y estara listo (Recordemos que necesitara de 2 a 4 Led's Infrarojos para que funcione al 100% y sin errores)
2.Si usamos Cwiid podemos correr el comando wmgui para verificar la información tomada del wii, y para usarlo el comando wminput (solo si tenemos infrarojo) o sino el comando wminput -t acc (usando detector de movimiento integrado de bluetooth)
3.Podemos bajar el software creado a base Cwiid llamado Wiimoted, extraer el archivo y darle permisos de ejecución al instalador, habra que modificar las lineas de comando del instalador puesto que fueron hechas para ubuntu y no correra ciertos comandos.
4.Podemos usar los modulos de prueba dentro del directorio /lib dentro de libwiimote para usar el wiimote o si uno lo desea crear su propio modulo en C para personalizarlo mas a su agrado o usarlo en ciertas funciones especificas como juegos.

Un ejemplo usando los comandos de libwiimote en Suse 10.2:
Responder Citando
Respuesta

Marcadores


(0 miembros y 1 visitantes)
 
Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Activado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Hacking Suse 10.1 Jersoncito Software 25 30-ago-2007 19:59
Como debo hacer para actualizar SUSE 10.2 cdpcfv Instalación y Actualizaciones 4 27-dic-2006 17:16
Cuenta atras para Suse 10.2 mitsumi General OpenSUSE 127 13-dic-2006 18:11
Donde consigo el gcompizthemer para suse 10.2 rc1 para 64 gatoillescas Software 0 02-dic-2006 00:02
Pienso volver de suse 10.1 a 10 Frostwarrior Instalación y Actualizaciones 55 08-jun-2006 21:56



Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook


La franja horaria es GMT +2. Ahora son las 21:04.
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.

Esta página está bajo una licencia de Creative Commons, salvo que no se indique lo contrario.
Creative Commons License

Valid CSS!

Diseño por:Designed by: vbdesigns.devbdesigns.de 
Contáctenos - ForoSUSE - Archivo - Declaración de Privacidad - Arriba