J'ai cherché comment utiliser une télécommande infrarouge sur RPi sur la toile et je suis tombé sur http://forum.stmlabs.com/showthread.php?tid=1954 en anglais! Après 1 heure, je pu m’affaler sur la canapé avec ma vieille télécommande de démodulateur!
Alors pour ceux qui ne veulent pas perdre de temps a comprendre l'anglais, voici mon tuto.
Pour commencer, vous devez avoir un récepteur infrarouge. Il y en a pour moins de 5 euros sur internet mais si vous êtes impatient comme moi démontez en un sur le premier appareil avec télécommande infrarouge...
Brancher le récepteur
Si vous avez récupérer le récepteur directement sur un appareil électronique, vous devez trouver la masse et le plus. En général, les broches sont disposé ainsi (en regardant le récepteur coté bombé).
Il faut brancher le récepteur directement sur les ports GPIO comme suit : 3.3V sur la broche 1, Masse sur la broche 6 et Sortie sur la broche 1 (la broche 1 est la plus pres de la carte SD).
Voila, l'aspect électronique est terminé. Passons aux logiciels.
Configurer lirc
Commençons par activer le module lirc dans le Kernel par la commande
Code: Select all
modprobe lirc_rpi
Code: Select all
mode2 -d /dev/lirc0
Configurer la télécommande avec Lirc
Dans le fichier /etc/lirc/hardware.conf assurez vous que les paramètres suivants sont bien renseignés :
Code: Select all
DRIVER="default"
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"
LIRCD_ARGS="--uinput"
Lirc est maintenant configuré par défaut. Certaines télécommandes sont déjà implémenté pour vous en assurer, exécutez la commande "irw". Pour ma part, j'utilise une télécommande de démodulateur analogique...
Pour générer la configuration de votre télécommande, il faut arrêter Lirc et exécuter irrecord
Code: Select all
/etc/init.d/lirc stop
irrecord -d /dev/lirc0 ~/lircd.conf
- appuyez sur les touches au hasard pendant une seconde à chaque fois jusqu'à que deux lignes de point s'affichent a l'écran ( Attention : si vous n'appuyez pas sur une touche pendant 10 secondes le processus s’arrête.)
- Saisissez le nom de la touche que vous souhaitez référencer puis appuyer sur le bouton correspondant les touches les plus utiles sont les suivantes :
Si vous souhaitez configurer d'autres touches vous pouvez afficher toutes les commandes possible par la commande "irrecord –list-namespace"KEY_HOME
KEY_BACK
KEY_SELECT
KEY_LEFT
KEY_RIGHT
KEY_UP
KEY_DOWN
KEY_FASTFORWARD
KEY_FORWARD
KEY_REWIND
KEY_PLAYPAUSE
KEY_STOP
KEY_INF
Enfin copiez le contenu du fichier /home/pi/lircd.conf à la fin du fichier /etc/lirc/lircd-full.conf en vous assurant que la deuxième ligne contient bien "name default".
Pour je ne sais quelle raison, Lirc ne veux pas repartir après un irrecord. Vous devez maintenant redémarrer raspbmc.
Il ne vous reste plus qu'a faire la correspondance des touches de Lirc avec raspbmc. Pour cela, créer le fichier "/home/pi/.xbmc/userdata/Lircmap.xml" pour y insérer les valeurs suivantes :
Code: Select all
<lircmap>
<remote device="default">
<back>KEY_BACK</back>
<menu>KEY_HOME</menu>
<up>KEY_UP</up>
<left>KEY_LEFT</left>
<select>KEY_SELECT</select>
<right>KEY_RIGHT</right>
<down>KEY_DOWN</down>
<stop>KEY_STOP</stop>
<info>KEY_INFO</info>
<skipminus>KEY_REWIND</skipminus>
<play>KEY_PLAYPAUSE</play>
<skipplus>KEY_FASTFORWARD</skipplus>
</remote>
</lircmap>
A+