solidz
Posts: 15
Joined: Thu Oct 30, 2014 10:42 am

[TUTO] Connecter une manette PS3 en Bluetooth sur Raspbian

Mon Nov 10, 2014 10:11 am

Bonjour à tous,

J'ai un peu galéré avant de pouvoir interconnecter mon Sixaxis PS3 avec mon Raspberry Pi sous Raspbian. C'est pourquoi je vous fais un petit tutoriel en français sur la manière d'y parvenir :)

Prérequis et matériels nécessaires :
- Un Hub USB avec alimentation externe (par exemple : http://www.amazon.fr/gp/product/B00G34W ... ge_o00_s00)
- Un Dongle Bluetooth (par exemple : http://www.amazon.fr/gp/product/B00F0CG ... ge_o01_s00)
- Une manette PS3 avec câble USB
- Une installation sous Raspbian

Vous êtes prêt pour l'aventure ? Alors c'est parti :D

Pour commencer, connectez-vous avec l'utilisateur par défaut :
user : pi
password : raspberry

Positionnez-vous dans /home/pi/. Cela sera plus simple pour se repérer !

Étape 1 : Mettre à jour le Raspberry Pi

Code: Select all

sudo apt-get update
sudo apt-get upgrade
Étape 2 : Installer le support Bluetooth
Il faut s'assurer que la ligne de commande ci-dessous soit renseignée sur une seule ligne. L'installation dure quelques minutes.

Code: Select all

sudo apt-get install bluez-utils bluez-compat bluez-hcidump checkinstall libusb-dev  libbluetooth-dev joystick
Étape 3 : Vérifier le Dongle Bluetooth
Cette étape nous permettra de vérifier que le Dongle Bluetooth est fonctionnel. Tout d'abord, connectez votre Dongle sur le Hub USB. Puis saisissez la commande suivante :

Code: Select all

hciconfig
Vous devriez obtenir un résultat similaire à ça :

Code: Select all

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 ce n'est pas le cas, votre Dongle n'est pas compatible.

Étape 4 : Télécharger et compiler l'utilitaire du contrôleur PS3

Code: Select all

wget http://www.pabr.org/sixlinux/sixpair.c
gcc -o sixpair sixpair.c -lusb
Étape 5 : Appareillage de la manette PS3 avec le Dongle Bluetooth
Maintenant, connectez votre manette PS3 en USB sur le Hub.
Lancez le programme sixpair précédemment compilé :

Code: Select all

sudo ./sixpair
Vous devriez obtenir ceci à quelque chose près :

Code: Select all

Current Bluetooth master: DE:AD:BE:EF:00:00
Setting master bd_addr to: 00:1F:81:00:06:20
Étape 6 : Télécharger et compiler le gestionnaire Sixaxis

Code: Select all

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
Étape 7 : Installer le gestionnaire Sixaxis
Nous allons créer un dossier où nos profils seront enregistrés puis nous utiliserons checkinstall pour installer le paquet. Lors du checkinstall, laissez les valeurs par défaut et appuyez sur Entrée, cela nous importe peu pour le moment :

Code: Select all

sudo mkdir -p /var/lib/sixad/profiles
sudo checkinstall
Étape 8 : Lancer manuellement le daemon Sixaxis
Pour lancer le daemon, exécuter ceci :

Code: Select all

sudo sixad --start
Débranchez votre manette et appuyez sur PS. Vous devriez avoir quelque chose similaire à ça :

Code: Select all

sixad-bin[2535]: started
sixad-bin[2535]: sixad started, press the PS button now
sixad-bin[2535]: unable to connect to sdp session
sixad-bin[2535]: Connected Sony Computer Entertainment Wireless Controller
Étape 9 : Lancer automatiquement le daemon Sixaxis au démarrage

Code: Select all

sudo update-rc.d sixad defaults
reboot
Étape 10 : Test de la manette
Afin de s'assurer du bon fonctionnement de la manette, laisser votre terminal ouvert, et ouvrez-en un autre. Dans le nouveau terminal, saisissez :

Code: Select all

sudo jstest /dev/input/js0
Cette commande nous sert à vérifier que le Raspberry reçoit bien les données de la manette. Normalement, en bougeant votre manette ou en cliquant sur des boutons, vous devriez voir les valeurs changées.

Ce tutoriel est désormais terminé, n'hésitez pas si vous avez des questions 8-)

Voici une vidéo que j'ai réalisée montrant l'interaction entre la manette et les ports GPIO du Raspberry Pi B+ :
http://www.youtube.com/watch?v=D57apgFdOFM - Je peux vous fournir mon script Python si vous le souhaitez !

Sources :
https://docs.google.com/document/d/1z6b ... xLPUg/edit
Last edited by solidz on Mon Nov 10, 2014 8:09 pm, edited 2 times in total.

vuhianp365
Posts: 4
Joined: Mon Nov 18, 2013 11:45 am

Re: [TUTO] Connecter une manette PS3 en Bluetooth sur Raspbi

Wed Nov 12, 2014 6:40 pm

Salut,
Tout d'abord je te remercie pour ce tuto qui est très clair, je l'ai pas encore essayé mais ça ne saurais tarder ( le temps que
je me procure un dongle ^^). Je viens de finir de faire un robot avec le pi qui suit une ligne au sol, et je pensais maintenant essayer
de le télécommander avec ma manette ps3 du coup :D . Et puis je serais très reconnaissant si tu pouvais me monter le script python que je voie comment ça se passe.
Merci d'avance

solidz
Posts: 15
Joined: Thu Oct 30, 2014 10:42 am

Re: [TUTO] Connecter une manette PS3 en Bluetooth sur Raspbi

Wed Nov 12, 2014 9:16 pm

Salut à toi :)

Merci pour ton commentaire.

Alors voici le script que j'ai créé :

Code: Select all

#!/usr/bin/env python

# Importation des modules
import RPi.GPIO as GPIO
import pygame
from time import sleep
import sys

# Initilisation des GPIO
GPIO.setmode(GPIO.BOARD)
#GPIO.setmode(GPIO.BCM)

# Initialisation de la librairie Pygame
pygame.init()

# Connexion du Sixaxis
j = pygame.joystick.Joystick(0)
j.init()
print 'Initialisation Joystick : %s' % j.get_name()

# Settings GPIO
GPIO.setwarnings(False)
GPIO.setup(11,GPIO.OUT)
GPIO.output(11, False)

try:	
	while j.get_button(3) == 0:
		pygame.event.pump()

		if j.get_button(14) == 1:	
			GPIO.output(11,GPIO.HIGH)
		elif j.get_button(13) == 1:	
			GPIO.output(11,GPIO.HIGH)
			sleep(0.2)
			GPIO.output(11,GPIO.LOW)
			sleep(0.2)
		else:	
			GPIO.output(11,GPIO.LOW)


except KeyboardInterrupt:
	GPIO.cleanup()	
	j.quit()
	sys.exit()
Il permet de faire fonctionner une simple LED (sur le port GPIO 11) à l'aide de la manette PS3 :
- X pour allumer la LED
- Carré pour faire clignoter la LED
- Start pour arrêter le script

La vidéo illustre justement cette réalisation ;) http://www.youtube.com/watch?v=D57apgFdOFM

Je suis actuellement en train de gérer la variation de tension en sortie des GPIO pour avoir des mouvements plus réalistes en modifiant la tension reçue par mes moteurs. Je posterai le script dès que ça sera fonctionnel.

Si tu as un souci n'hésite pas !

vuhianp365
Posts: 4
Joined: Mon Nov 18, 2013 11:45 am

Re: [TUTO] Connecter une manette PS3 en Bluetooth sur Raspbi

Fri Dec 12, 2014 10:35 pm

Après tout ce temps j'ai enfin récupérer mon pi, ton tutoriel est nickel. Par contre je n'ai pas utilisé de hub mais ça marche parfaitement. Concernant le script tu pourrai m'explique à quoi sert : pygame.event.pump()
Bonne soirée et merci

solidz
Posts: 15
Joined: Thu Oct 30, 2014 10:42 am

Re: [TUTO] Connecter une manette PS3 en Bluetooth sur Raspbi

Tue Dec 23, 2014 9:36 am

Après tout ce temps j'ai enfin récupérer mon pi, ton tutoriel est nickel.
Merci :) le principal c'est que ça fonctionne !
Par contre je n'ai pas utilisé de hub mais ça marche parfaitement.
Ça fonctionne aussi sans hub, tout dépend des périphériques "gourmands" branchés en USB directement sur le Pi :)
Concernant le script tu pourrai m'explique à quoi sert : pygame.event.pump()
En gros, c'est pour gérer les évènements relatif à pygame. Ce n'est pas quelque chose d'obligatoire ! Pour plus d'informations, je t'invite à jeter un petit coup d’œil ici http://www.pygame.org/docs/ref/event.ht ... event.pump ou ici http://old.kov.eti.br/programacao/pytho ... event.html

Bonne journée !

vuhianp365
Posts: 4
Joined: Mon Nov 18, 2013 11:45 am

Re: [TUTO] Connecter une manette PS3 en Bluetooth sur Raspbi

Wed Dec 24, 2014 9:55 am

D'acc merci beaucoup,
Une autre question ^^ , il existe une commande permettant d'éteindre la manette?
Bonne journée

solidz
Posts: 15
Joined: Thu Oct 30, 2014 10:42 am

Re: [TUTO] Connecter une manette PS3 en Bluetooth sur Raspbi

Mon Jan 12, 2015 2:28 pm

C'est possible, mais je ne la connais pas désolé :/

Jetty
Posts: 2
Joined: Thu Jul 02, 2015 12:01 pm

Re: [TUTO] Connecter une manette PS3 en Bluetooth sur Raspbi

Sun Jul 05, 2015 11:06 am

Salut,

J'ai suivi ton tuto a la lettre. Et ca marche presque nickel pour moi.
oui presque hélas. .. quand j'ai le malheur de faire un sudo reboot la manette ps3 n'est plus vu par le système apres.
J'ai un dual boot avec un open elec, quand je lance open elec et que apres je retourne sur raspbian ca remarche. Est ce que tu aurai une idée du pourquoi du comment ?

Merci

notor99
Posts: 1
Joined: Tue Feb 09, 2016 7:22 pm

Re: [TUTO] Connecter une manette PS3 en Bluetooth sur Raspbi

Tue Feb 09, 2016 7:26 pm

Salut
Je suis bloqué à l'étape 4 au moment de la compilation

[email protected]:/home/pi# gcc -o sixpair sixpair.c -lusb
sixpair.c:23:17: fatal error: usb.h: No such file or directory
#include <usb.h>
^
compilation terminated.

Que faire?
J'ai installé moonlight, je souhaite streamer les jeux de mon pc sur ma télé en passant par le raspi
Il ne me reste plus que la config de la manette ps3 sur le pi et ça bloque.
Mon apt-get update / upgrade / dist-upgrade est à jour

Meric de votre aide

CADIYAK
Posts: 1
Joined: Wed Feb 10, 2016 3:47 pm

Re: [TUTO] Connecter une manette PS3 en Bluetooth sur Raspbi

Wed Feb 10, 2016 4:01 pm

Salut,

essaies sudo apt-get install libusb-dev et recommence.
Pour le bluetooth on ne peut plus installer que bluez.

Moi j'ai un problème avec l'installation de qtsixa.

Code: Select all

[email protected]:~/QtSixA-1.5.1 $ sudo make install
install: impossible d'évaluer « bins/sixad-jack »: Aucun fichier ou dossier de ce type
Makefile:24: recipe for target 'install' failed
make[1]: *** [install] Error 1
make[1]: Leaving directory '/home/pi/QtSixA-1.5.1/utils'
Makefile:16: recipe for target 'install' failed
make: *** [install] Error 2
C'est quoi ce sixad-jack ?


EDIT: On peut se passer de sixad : http://pythonhosted.org/triangula/sixaxis.html

Fanou42
Posts: 4
Joined: Thu Apr 05, 2018 7:56 pm

Re: [TUTO] Connecter une manette PS3 en Bluetooth sur Raspbian

Mon Apr 16, 2018 7:57 pm

Bonjour,
Je lis vos posts qui datent un peu... 2014..., etc... 2016...

C'est exactement le tuto que je cherchais... vraiment un très beau tuto
Mais bon... je suis bloqué à l'étape 6 : plein d'erreurs dans le "make"

A savoir quand même que je suis pas parti sur la config que vous aviez en 2014...2016.
--> je suis sur un PI0W
--> j'ai pas mal bidouillé avant de lancer la procédure --> je vais la refaire à partir d'un PI0W avec un RASPIBAN propre et vierge...
--> est-ce que les paquets sont "les mêmes" ??? sur un PI0W ?

Merci.

Fanou42
Posts: 4
Joined: Thu Apr 05, 2018 7:56 pm

Re: [TUTO] Connecter une manette PS3 en Bluetooth sur Raspbian

Mon Apr 16, 2018 9:51 pm

Bon,
alors après avoir cherché un peu... il semblerait que QtSixA 1.5.1 date de 2011...
et que la compilation ne marche pas avec les versions récentes de RASPBIAN ?

Faut donc que je trouve la version de RASPBIAN de 2014 ???

Return to “Français”

Who is online

Users browsing this forum: No registered users and 4 guests