Raspberry Pi 2 – Bluetooth et Manette Sony Dualshock PS3 avec Sixaxis Joystick Manager
Bonjour à tous,
Aujourd’hui un petit tuto vous permettant d’utiliser votre bonne vieille manette PS3 avec votre Raspberry PI 2 et la dernière release de Raspbian.
Grace à ça vous pourrez par exemple l’utiliser avec un émulateur de jeux video, ou encore controller vos robots (Voir articles hexapod).
Ce qu’il vous faut :
HARDWARE :
-Un Raspberry PI (dans mon cas le Raspberry PI 2)
-Un dongle usb bluetooth (je vous conseille de chercher ceux directement compatible, dans mon cas j’ai pris celui là sur Amazon qui à été directement reconnu : Inateck Nano dongle USB Bluetooth adaptateurV4.0 avec LED
-Une manette PS3
SOFTWARE :
-Raspbian : dans mon cas 2015-02-16-raspbian-wheezy.img
-Quelques dépendances :
sudo apt-get install pyqt4-dev-tools sudo apt-get install libbluetooth-dev sudo apt-get install bluez-utils bluez-compat bluez-hcidump checkinstall libusb-dev joystick sudo apt-get install python-qt4
-Nous allons vérifier que le dongle est bien reconnu :
pi@raspberrypi ~ $ hciconfig 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 vous n’avez pas de résultats, votre dongle n’a pas été reconnu :(
-Maintenant nous allons appairé la manette PS3 au Raspberry grace à l’outil Sixpair (plus d’info ici) :
wget http://www.pabr.org/sixlinux/sixpair.c gcc -o sixpair sixpair.c -lusb
-Connectez ensuite votre manette Dualshock avec un cable USB au Raspberry PI
-Lancez la commande :
sudo ./sixpair
Vous verrez apparaitre un truc du genre :
Current Bluetooth master: DE:AD:BE:EF:00:00 Setting master bd_addr to: 00:1F:81:00:06:20
-Nous allons ensuite installer Sixaxis Joystick Manager :
wget http://sourceforge.net/projects/qtsixa/files/QtSixA%201.5.1/QtSixA-1.5.1-src.tar.gz tar zxvf qtsixa-1.4.96.tar.gz cd qtsixa-1.5.0/sixad make sudo mkdir -p /var/lib/sixad/profiles sudo checkinstall
Une fois installé, nous allons le lancer voir si tout va bien (N’oubliez pas de débrancher votre manette) :
sudo sixad --start
Pressez le bouton PS de votre manette, si tout va bien, elle devrait vibrer et être appairé !
-Ma manette n’a pas fonctionné du premier coup car la nouvelle version de bluetoothhd ne peut pas lancer la socket SDP en UDEV, j’ai dut donc modifier le code, mais une nouvelle version de sixpair résoudra surement bientôt ce problème.
Si vous avez le message d’erreur : « unable to connect to sdp session » ce qui m’es arrivé, vous devrez modifier et recompiler Sixaxis Joystick Manager (mais une nouvelle version de sixpair résoudra surement bientôt ce problème) :
Donc pour régler le problème SDP « unable to connect to sdp session » :
-Allez dans le dossier : QtSixA-1.5.1/sixad
-Editez le fichier ‘bluetooth.cpp’
-Changer (ligne 218) :
if (!legacy && req.vendor == 0x054c && req.product == 0x0268) {
Par :
if (!legacy) {
-Refaite un make
-Puis :
sudo checkinstall
-Une fois Sixaxis Joystick Manager Correctement installé, votre manette PS3 correctement appairé, nous allons automatiser son lancement au démarrage du Raspberry PI :
sudo update-rc.d sixad defaults reboot
Si vous voulez vérifier rapidement son fonctionnement vous pouvez taper :
sudo jstest /dev/input/js0
vous y verrez pleins de chiffres qui défilent et si vous appuyez sur un bouton ou une direction vous verrez ces chiffres changer :
Et voilà, vous pouvez dorénavant jouer sur votre Raspberry PI avec une manette Bluetooth de PS3.
Bon courage pour la suite, et n’hésitez pas à me parler de vos projets ;)
Étiquettes : hardware, linux, o, os, projets, raspberry, video, x
Bonjour,
super tuto,
ma manette vibre,
Par contre aucun voyant (1 2 3 ou 4) ne s’allume,
et je n’ai pas de répertoire (dev/input/js0) lors du lancement de la commande (sudo jstest /dev/input/js0
Est ce normal?
Merci
Samuel Care