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)