Ce tuto va vous permettre, à la fois, de fabriquer vous-même un capteur Infra-rouge et d'installer LIRC pour le faire fonctionner avec n'importe quelle télécommande.
Pour ça, aller sur ce site qui explique en image comment fabriquer ce capteur IR. Pas besoin d'être électronicien, je n'y connais rien du tout dans ce domaine et suis arrivé à fabriquer ce capteur du premier coup donc allez-y sans crainte.
http://lnx.manoweb.com/lirc/?partType=section&partName=introduction et voici un lien vers un topic français qui pourra aussi vous aider :
http://forum.hardware.fr/hfr/OverclockingCoolingTuning/Mod-elec/tutorial-faq-pc-sujet_247659_1.htm
Voilà comment j'ai procedé pour faire fonctionner une télécommande quelconque (terratec cinergy 1400) avec un capteur IR fait maison et sur DEBIAN ETCH, fonctionne également sur debian lenny, ubuntu feisty et gutsy:
Passez ensuite au étape
#apt-get install lirc lirc-modules-source module-assistant
ou
#aptitude install lirc lirc-modules-source module-assistant
#dpkg-reconfigure lirc-modules-source
A ce stade, des questions vous sont posées :
la première page vous donne la liste des modules, retenez “serial” car le capteur IR fait maison est installé sur un port serie.
Dans la deuxième page, il faut tout décocher et ne cocher que “serial”.
La troisième page vous demande si il s'agit d'un émetteur , mettez “non” car il s'agit d'un récepteur.
Sur la page suivante , c'est une question sur l'utilisation en mode logicielle. je n'ai pas très bien compris cette question donc j'ai laissé par defaut “non”. si certain comprenne ce que cela veut dire, n'hésitez pas à le rajouter à la suite de ce tuto en remarque.
La page suivante vous propose de construire automatiquement les modules, mettez “non”.
La dernière page, vous demande ce que vous voulez faire de lirc-modules-source.conf. Vous choisissez la première proposition “install the package maintainer's version”
Retour en console (root) pour modifier ce fichier : gedit /etc/lirc/hardware.conf
# /etc/lirc/hardware.conf # # Arguments which will be used when launching lircd LIRCD_ARGS="" #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 # Run "lircd --driver=help" for a list of supported drivers. DRIVER="" # If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be # automatically used instead DEVICE="" MODULES="lirc_dev lirc_serial" # Default configuration files for your hardware if any LIRCD_CONF="" LIRCMD_CONF=""
En console et en root
m-a update,prepare
''rm /usr/src/lirc*deb'' (si vous avez une ancienne version de lirc)
''m-a clean lirc''
''m-a a-i lirc''
''depmod -a''
A mettre dans /etc/lirc/
Pour info, voici mon lircd.conf pour ma télécommande terratec cinergy 1400
#
# this config file was automatically generated
# using lirc-0.7.2(serial) on Fri Oct 14 16:29:58 2005
#
# contributed by Sebastian Kraft
#
# brand: Terratec
# model no. of remote control: Cinergy 1400-T
# devices being controlled by this remote:
#
begin remote
name Terratec_Cinergy_1400-T
bits 16
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 9007 4495
one 557 1683
zero 557 555
ptrail 546
pre_data_bits 16
pre_data 0x20D7
gap 110968
toggle_bit 0
begin codes
0 0x30CF
1 0x40BF
2 0xC03F
3 0x20DF
4 0xA05F
5 0x609F
6 0xE01F
7 0x10EF
8 0x906F
9 0x50AF
fullscreen 0x18E7
osd 0x708F
volumeup 0x38C7
volumedown 0x7887
channelup 0xD827
channeldown 0xF807
epg 0xF00F
av 0xD02F
power 0x807F
teletext 0xA857
clock 0xE817
mute 0xB847
pause 0x02FD
play 0x32CD
record 0x1AE5
rewind 0x2AD5
stop 0x12ED
forward 0x3AC5
up 0x08F7
down 0x28D7
left 0x8877
right 0xC837
info 0x6897
ok 0x48B7
tab 0x58A7
audio 0x9867
clock 0xE817
end codes
end remote
RQ: vous pouvez creer à la main ce fichier avec la commande suivante en root, c'est long mais au moins on est sûr des boutons ;) :
#irrecord /etc/lircd.conf
ou
#irrecord -d /dev/lirc0 lircd.conf
si vous voyez des messages d'erreur avec cette commande alors utiliser l'option -f, comme ceci :
#irrecord -f /etc/lircd.conf
#modprobe lirc_serial
A ce stade, ça n'a pas fonctionné pour moi car je n'avais pas libéré le port serie. Pour pallier à ce problème il faut installer “setserial”
#aptitude install setserial
puis en console et en root :
#/etc/init.d/lirc stop
#dpkg -i /usr/src/lirc-modules-2.6.*.deb
Ensuite on fait en console et en root :
#setserial /dev/ttyS0 uart none ( la commande qui permet de libérer le port) #modprobe lirc_serial #depmod -a #/etc/init.d/lirc start
et on teste la telecommande avec “irw” en console et en root.
Quand vous faites cette commande, le curseur saute une ligne et attends, c'est là que vous pouvez tester la telecommande en appuyant sur les boutons et vérifié que cela correspond bien à votre lircd.conf
Ca doit fonctionner mais c'est pas fini car au redemarrage du pc, le module lirc_serial ne va pas se charger automatique et le port serie ne va pas se libérer tout seul. il faut donc refaire à chaque fois :
#setserial /dev/ttyS0 uart none #modprobe lirc_serial #depmod -a #/etc/init.d/lirc start
Vous avez deux methodes :
vous allez faire en console en root :
#dpkg-reconfigure setserial''
et choisir “manuel” c'est tout. Puis vous allez modifier le fichier /var/lib/setserial/autoserial.conf et ajouter la ligne suivante :
/dev/ttyS0 uart none
ET SURTOUT VOUS ALLEZ COMMENTER avec un “#” LA LIGNE QUI CONTIENT UN AUTRE “ttyS0”. Enregistrer.
Puis vous copiez ce script dans /etc/serial.conf, donc en console et en root vous faites :
#cp /var/lib/setserial/autoserial.conf /etc/serial.conf
Cette autre methode, la voici … ;) elle fonctionne sur ubuntu feisty et gutsy mais pas sur debian. Je n'ai pas testé sur d'autres distributions :
Dans /etc/modprobe.conf vous ajouter ce qui suit :
alias char-major-61 lirc_serial
options lirc_serial irq=4 io=0x3f8 install lirc_serial /bin/setserial /dev/ttyS0 uart none ; /sbin/modprobe --ignore-install lirc_serial
Maintenant, vous retestez en faisant :
#setserial /dev/ttyS0 uart none #modprobe lirc_serial #depmod -a #/etc/init.d/lirc start
puis
#irw
vous appuyez sur les boutons de la telcommande … ça réagit, impec. Maintenant on peut redemarrer et voir si le module va se charger automatiquement et si le port serial va se libérer automatiquement.
Arrivé sur le bureau, vous ouvrez la console en root et vous faites simplement :
#irw
Appuyez sur les boutons de la télécommande et ça doit fonctionner
.
Il ne reste plus qu'a creer vos fichiers “lircrc” ou à les télécharger ici :morphinux_lirc.tar.gz pour une télécommande terratec cinergy 1400.
morphinux (31/01/2008 20:39)