Recycler un vieil ordi en MediaCenter -5-
Par makoto doushite le mercredi, 24 novembre 2010, 14:14 - GNU/Linux - Lien permanent
Suite du quatrième épisode :
Télécommande infrarouge
Maintenant qu'on à un MédiaCenter opérationnel, on va encore pousser le truc un peu plus loin en y ajoutant une télécommande… parce-qu'à la souris c'est bien, mais dans le salon, c'est pas forcément bien pratique…
I - L'électronique :
1- Le montage :
Le seul composant nécessaire sera un récepteur infrarouge, tel qu'on peut en trouver dans de vieux appareils type magnétoscope, télé, etc…
J'ai récupéré celui-ci d'un télé qui allait à la poubelle…
- Le montage est simple, et donné sur le site du projet LIRC, qui propose tout un tas de solutions pour télécommander un ordinateur.
J'ai choisis d'utiliser la carte son comme interface de contrôle, pour plusieurs raisons :
- pas de port série sur l'ordi.
- montage électronique complexe pour le port usb.
- pas besoin de compiler de module.
- montage électronique simple, mais ça je l'ai déjà dit…
- Donc, il suffit de câbler le truc suivant ce schéma
Attention au câblage du récepteur qui peut être différent d'un modèle à l'autre… la référence de celui-ci est écrite dessus, une petite recherche et on dégotte la doc (mot clef datasheet) qui donne le brochage du composant. (doc complète d'exemple en annexes)
Le montage finalisé :
Côté composants et côté soudure.
- Reste à connecter ça sur une entrée de la carte son, ici l'entrée CD-Rom :
Alimenter le circuit en 5 Volts avec le connecteur habituellement utilisé pour le lecteur de disquette; et utiliser le câble audio approprié souvent livré avec le lecteur CD, pour relier le montage à la carte son.
2- Essais :
Une fois fait, il suffit d'appuyer sur les boutons de n'importe quelle télécommande qui traine en direction du récepteur; on doit entendre des bruits bizarres, signe que le montage électronique fonctionne !
- Si rien n'est audible, il faut configurer le mixeur de la carte son :
sudo alsamixer
En effet, pour que LIRC puisse utiliser l'entrée audio sur laquelle est branché le récepteur infrarouge, il faut que le paramètre de capture soit sur le bon device (barre d'espace sur CD) et que le niveau de la jauge capture soit élevé.
Il faut aussi dé-muter (touche m sur CD) et élever la jauge d'écoute de cette entrée (on la re-mutera quand tout fonctionnera) pour pouvoir entendre les petits bruits.
II - Faire fonctionner la télécommande dans Ubuntu :
1- Installation de LIRC :
- Installation du logiciel de contrôle :
sudo apt-get install lirc
La «configuration de lirc» se lance automatiquement juste après l'installation des paquets,
À la partie «remote control configuration», choisir : «IR receiver IC connected to audio input using alsa (EXPERIMENTAL)»
À la partie «IR transmitter, if present», choisir : «Custom»
- Récupérer le fichier de config de la télécommande qu'on souhaite utiliser, ici celle de ma télé:
Derrière le cache de pile, il est écrit RC 7535/01…
Recherche sur le site, et on trouve le fichier RC7535
- On le copie dans /etc/lirc, en le renommant lircd.conf (on écrase s'il existe déjà).
sudo cp RC7535 /etc/lirc/lircd.conf
- Éditer le fichier /etc/lirc/hardware.conf
sudo nano /etc/lirc/hardware.conf
Et vérifier que les lignes REMOTE et REMOTE_DRIVER sont correctement renseignées.
Renseigner la ligne REMOTE_LIRCD_CONF avec le nom du fichier lircd.conf.
# /etc/lirc/hardware.conf # #Chosen Remote Control REMOTE="IR receiver IC connected to audio input using ALSA (EXPERIMENTAL)" REMOTE_MODULES="" REMOTE_DRIVER="audio_alsa" REMOTE_DEVICE="" REMOTE_SOCKET="" REMOTE_LIRCD_CONF="lircd.conf" REMOTE_LIRCD_ARGS=""
2- Essais :
- Le démon lircd a été lancé automatiquement, donc on le tue :
sudo killall lircd
ou
sudo /etc/init.d/lirc stop
- Le lancer avec ces paramètres afin de lui indiquer l'entrée de la carte son sur laquelle est branché le récepteur IR.
sudo lircd --driver=audio_alsa -d plughw:0,3
- puis lancer :
irw
Le logiciel attends… appuyer sur des boutons de la télécommande, on doit entendre les bruits, et les codes des boutons doivent apparaître !!
Si on entend, mais que les codes ne viennent pas, tuer la tâche (ctrl+c) et relancer le démon en changeant ce paramètre :
plughw:0,3 correspond à l'entrée CD_IN de ma carte son, ce que je ne savais pas au départ car rien ne fonctionnait.
Le premier chiffre correspond à la carte son, ici 0=la première... çà tombe bien y'en a qu'une !
Le second chiffre correspond au "device", genre MIC, AUX, CD, etc
j'ai donc successivement essayé la commande précédente avec plughw:0,0 , plughw:0,1 , etc, jusqu'à ce que les codes des boutons apparaissent.
- Enfin, pour fixer les paramètres, éditer /etc/lirc/hardware.conf et renseigner la ligne REMOTE_DEVICE avec plughw:0,3
# /etc/lirc/hardware.conf # #Chosen Remote Control REMOTE="IR receiver IC connected to audio input using ALSA (EXPERIMENTAL)" REMOTE_MODULES="" REMOTE_DRIVER="audio_alsa" REMOTE_DEVICE="plughw:0,3" REMOTE_SOCKET="" REMOTE_LIRCD_CONF="lircd.conf" REMOTE_LIRCD_ARGS="" #Chosen IR Transmitter TRANSMITTER="Custom" TRANSMITTER_MODULES="" TRANSMITTER_DRIVER="" TRANSMITTER_DEVICE="" TRANSMITTER_SOCKET="" TRANSMITTER_LIRCD_CONF="" TRANSMITTER_LIRCD_ARGS="" #Enable lircd START_LIRCD="true" #Don't start lircmd even if there seems to be a good config file #START_LIRCMD="false" #Try to load appropriate kernel modules LOAD_MODULES="true" # Default configuration files for your hardware if any LIRCMD_CONF="" #Forcing noninteractive reconfiguration #If lirc is to be reconfigured by an external application #that doesn't have a debconf frontend available, the noninteractive #frontend can be invoked and set to parse REMOTE and TRANSMITTER #It will then populate all other variables without any user input #If you would like to configure lirc via standard methods, be sure #to leave this set to "false" FORCE_NONINTERACTIVE_RECONFIGURATION="false" START_LIRCMD=""
- Redémarrer le démon :
sudo /etc/init.d/lirc restart
C'est fini !
Reste à faire matcher tout çà avec XBMC.....
III - Piloter XBMC :
1- Configuration :
- Ouvrir le fichier /etc/lirc/lircd.conf :
Relever le nom de la télécommande :
name Philips_RC7535
Laisser le fichier ouvert...
- Dans une seconde console (Ctrl+Alt+F2), éditer le fichier /usr/share/xbmc/system/Lircmap.xml :
sudo nano /usr/share/xbmc/system/Lircmap.xml
On va piquer la première section,
<remote device="mceusb"> ... </remote>
en remplaçant le nom de la télécommande par la notre, ici Philips_RC7535
et pour faire un test, on va repérer deux touches évidentes sur la télécommande, comme P+ et P-.
On repère leurs begin codes dans le fichier /etc/lirc/lircd.conf.
Simple, c'est P+ et P-
Et on va choisir une fonction évidente pour xbmc, comme Lecture et Stop pour y mettre les deux codes, comme ceci :
<lircmap> <remote device="Philips_RC7535"> <play>P+</play> ... <stop>P-</stop> ... </remote> </lircmap>
Enregistrer et quitter.
2- Essais :
- Lancer xbmc avec startx.
Naviguer à la souris pour aller jusqu'à mettre une vidéo ou une musique en surbrillance.
Appuyer sur P+ de la télécommande et la lecture doit démarrer !!!
Appuyer sur P- et la lecture doit stopper !!
Voilà, de la même manière, reste plus qu'à affecter à sa guise toutes les autres touches.
Restera à faire un trou dans le médiacenter et à fixer la carte électronique afin d'y faire coïncider la cellule infra-rouge.
Merci à :
http://doc.ubuntu-fr.org/lirc
http://doc.ubuntu-fr.org/tutoriel/installation_recepteur_infrarouge_sur_port_audio
http://ubuntuforums.org/showthread.php?t=477958