Re: [rspi-ar] Conectar Joystick de PS3 a la Raspberry (Experiencia Personal)

1,854 views
Skip to first unread message

Alejandro J. Cura

unread,
Apr 12, 2013, 9:07:04 AM4/12/13
to rsp...@googlegroups.com
Es buenísima y muy detallada la explicación esta... deberías ponerla
en un blog, o deberíamos armar un wiki para "Raspberry Pi Argentina" y
colgarlo ahí.

felicitaciones por el laburo!
--
alecu


2013/4/10 Joel GOrnati <joelg...@gmail.com>
>
> Hay mucha información de como conectar los mandos de play mediante un USB bluetooth a la raspberry en internet, yo me guié a través de este tutorial
>
> http://www.raspians.com/knowledgebase/projects/ps3-dualshock-controller-install-on-the-raspberry-pi/
>
> (no se nada de linux, de a poco voy entendiendo)
>
> primero que nada debemos iniciar el Terminal y empezamos con el copiado y pegado
>
> sudo apt-get install bluez-utils bluez-compat bluez-hcidump checkinstall libusb-dev libbluetooth-dev joystick
>
> una vez que se descargue e instale todo, debemos conectar el USB bluetooth a un puerto usb (Leí por ahí que si se conectaba a un HUB usb podría haber problemas)
>
> Tipeamos en la consola:
>
> hciconfig
>
> y nos devolverá lo siguiente:
>
> hci0: Type: BR/EDR Bus: USB
> BD Address: 00:1F:81:00:06:20 ACL MTU: 1021:4 SCO MTU: 180:1
> UP RUNNING PSCAN
> RX bytes:1260 acl:0 sco:0 events:46 errors:0
> TX bytes:452 acl:0 sco:0 commands:45 errors:0
>
> Si se reconoce el dispositivo USB bluetooth nos dirá UP RUNNING PSCAN, si aparece DOWN RUNNING PSCAN el USB Bluetooth no es compatible.
>
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Ahora hay que descargar e instalar la herramienta para el apareamiento del dispositivo bluetooth con el joystick. Con el apareamiento se refiere a que el joystick sepa a que dispositivo conectarse. Es como cuando usas el joystick la play de un amigo o cuando lo conectas por primera vez, primero hay que conectarlo mediante el cable usb hasta que se "apareen"
>
> escribimos...
>
> sudo apt-get update
> sudo apt-get install pyqt4-dev-tools
> wget http://www.pabr.org/sixlinux/sixpair.c
> gcc -o sixpair sixpair.c -lusb
>
> Una vez finalizado el procedimiento anterior, conectamos por cable USB el joystick a la raspi y escribimos...
>
> sudo ./sixpair
>
> obtendremos lo siguiente pero obviamente con distintas direcciones de las que aparecen aca.
>
> Current Bluetooth master: DE:AD:BE:EF:00:00
> Setting master bd_addr to: 00:1F:81:00:06:20
>
> (Nota: si volvemos a ejecutar "sudo ./sixpair" nuevamente los valores anteriormente mostrados serán iguales, esto indica que el dispositivo esta apareado)
>
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Ahora descargaremos y compilaremos el Qtsixa, como soy nuevo en esto, no se como llamarlo... Serian Drivers??
>
> wget http://sourceforge.net/projects/qtsixa/files/QtSixA%201.5.1/QtSixA-1.5.1-src.tar.gz
> tar xfvz QtSixA-1.5.1-src.tar.gz
> cd QtSixA-1.5.1/sixad
> make
> sudo mkdir -p /var/lib/sixad/profiles
> sudo apt-get install checkinstall
> sudo checkinstall
>
> El checkinstall por lo que entendí ayuda a eliminar los archivos de instalación, es como que se crea un paquete al cual cuando se lo quiere eliminar se debe ejecutar un comando que te dice cuando se termina de generar dicho paquete (no lo anote).
>
> bueno una vez finalizado con lo anterior desconectamos el joystick del usb si es que todavía no lo habíamos hecho y escribimos...
>
>
> sudo sixad --start
>
> la raspi nos responderá
>
> sixad-bin[30516]: started
> sixad-bin[30516]: sixad started, press the PS button now
>
>
> Presionamos el boton PS del joystick y se tendría que conectar.
> En el tutorial dice que si el joystick vibra la conexión es un éxito, aunque a mi no me vibro y las luces nunca dejaron de parpadear, pero, igual funciono!.
> Investigando mas encontré otro tutorial "http://mypiandi.blogspot.com.ar/2012/12/retropie-sixaxis-over-bluetooth.html" que se basa en el mismo que yo, y dice lo siguiente
>
>> (NOTE: As of the latest Raspbian image (2012-02-22), your controller will probably keep flashing and not rumble. The controller has connected but isn't reading the SixaD profile correctly. You can continue to complete this guide but you'll need to create and use my controller configs manually. Looking into a fix for this.)
>
>
> Mi ingles es casi nulo, pero gracias al traductor de google, pude entender que desde la ultima actualización de la imagen de raspbian de la fecha (22-02-2012) el joy puede que no vibre y los led pueden seguir destellando, el controlador esta conectado pero no esta leyendo los perfiles del sixad, que habría que hacerlo de forma manual. (al final del post hay un intento de solución que no funciono)
>
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Para comprobar que el joystick de la ps3 esta conectado escribimos
>
> sudo jstest /dev/input/js0
>
> Obtendremos esto, que al mover las palancas y/o apretar los botones cambiaran los valores.
>
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Hasta acá estaría finalizada la conexión del joystick de PS3 a la raspi, en ese momento yo dije "quiero hacer un programar en python que me lea el estado del CUADRADO CIRCULO TRIANGULO Y EQUIS"
>
> Como nunca en mi vida había programado en python continué con la bus queda.
>
> 1º Me guié por este video http://www.youtube.com/watch?v=UUOCh0Cbty8&list=HL1365638840 para instalación de SPE, para ver el primer ejemplo de "hello world" y como se ejecutan los script
>
> sudo apt-get install spe
>
> 2º Busque como se podría leer el valor del joystick entonces encontré este link http://www.aonsquared.co.uk/node/18
> ahí veremos al final un código, yo lo utilice para entender como leer el valor del joystick.
>
> Vemos que usa una librería llamada "pygame"
>
> En google busque "Como instalar pygame"...
>
> sudo apt-get install python-pygame
>
> y la raspi me contesto
>
> python-pygame is already the newest version.
> The following packages were automatically installed and are no longer required:
> icelib libblas3gf liblapack3gf
> Use 'apt-get autoremove' to remove them.
> 0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
>
>
>
> 3º Busque información sobre el joystick para ver que valores tienen los botones http://ps3.jim.sh/sixaxis/usb/
>
> 4º Empece a escribir el "super programa"
>
> #Conexion.py
> import pygame
>
>
>
> pygame.init()
> j = pygame.joystick.Joystick(0)
> j.init()
> print 'Jostick iniciado : %s' % j.get_name()
>
> while True:
> pygame.event.pump()
> x = j.get_button(14)
> o = j.get_button(13)
> c = j.get_button(15)
> t = j.get_button(12)
>
>
>
> 5º Lo ejecuto desde consola con el siguiente comando
>
> sudo python Conexion.py
>
> el objetivo que me propuse fue cumplido.
>
> Nota: No se si la forma correcta de manejar el joystick de la PS3 es mediante pygame, pero fue lo único que encontré, si alguien que haya experimentado ya, nos podría aportar algo seria de mucha ayuda debido a que el joystick de la play tiene mucho potencial para explotar.
>
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>
> (El que quiera seguir leyendo, aca describo un intento de solución sin éxito al tema del parpadeo infinito de led)...
>
>
> Investigando el manual de Qtsixa "http://qtsixa.sourceforge.net/manual.pdf" en la pagina 4 y 5 habla de los perfiles de configuración en donde se pueden modificar todas las opciones del joystick como por ejemplo: Activar los acelerometros y entre otras cosas que no se como describirlas.
>
> en la pagina 4 dice "/var/lib/sixad/profiles/default - Default sixad configuration file"
>
> Busque en "/var/lib/sixad/profiles/" y el archivo default brillaba por su ausencia.
>
> Seguí buscando... y encontré esta pagina (http://www.aonsquared.co.uk/node/18) Ahora no anda!!! pero sigue en el cache de google
>
> Resumiendo lo que hay la pagina, es un brazo robotico manejado por el joystick de ps3, el que ejecuta el proyecto lo hace a través de una pc con ubuntu, Ahí se describe como instarlo en ubuntu.
>
> Teniendo ubuntu en mi pc instale qtsixad y logre conectar el joystick. Ahí si vibro y las luces dejaron de destellar.
>
> mi objetivo principal era obtener el archivo "default" entonces entre a la ubicación /var/lib/sixad/profiles/ y estaba!!!!
>
> lo copie a la raspberry y no tuve éxito, el joystick no vibra al ser conectado y los led siguen parpadeando.
>
>
>
>
>
>
>
>
> --
> Para cancelar tu subscripción, enviá un email a rspi-ar+u...@googlegroups.com
>
> Comunidad de usuarios Raspberry Pi en Argentina
> https://groups.google.com/d/forum/rspi-ar
> ---
> Has recibido este mensaje porque estás suscrito al grupo "Comunidad Raspberry Pi en Argentina" de Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a rspi-ar+u...@googlegroups.com.
> Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
>
>

poxyran

unread,
Apr 12, 2013, 9:44:31 AM4/12/13
to rsp...@googlegroups.com
+1 a la idea de la Wiki.


2013/4/12 Alejandro J. Cura <al...@protocultura.net>

Marcelo Alonso

unread,
Apr 12, 2013, 9:48:41 AM4/12/13
to Grupo RPi
No es Wiki pero aca hay de todo un poco :)
Abrazo, Marcelo
Reply all
Reply to author
Forward
0 new messages