Sommaire |
[modifier] Le besoin
J'utilise un PC sous Linux en guise d'enregistreur numérique, via MythTV. Cela marche très bien excepté que je suis chez Numéricable et que donc j'utilise un décodeur externe.
Pour pouvoir le piloter via MythTV j'ai donc cherché une solution pour transformer mon PC en télécommande infrarouge. Après quelques recherches je me suis orienté vers une solution Canadienne qui marche très bien, est compatible Linux, mais qui au final m'a couté plutôt très cher (expédition + frais de douane).
[modifier] Le module USB Tira2
Le module est relativement cher ($40). Mais faites attention à la mauvaise surprise des frais de douane. Même si vous êtes pressé, je vous conseil de choisir comme méthode d'expédition Canada Post ce qui vous coutera (Tira2+frais d'expédition) $40.98 contre $62.40 via Fedex auquel vous êtes certain d'avoir à ajouter des frais de douane (dans les $20 de mémoire).
Le module à l'avantage d'être compatible Linux. Une API est fourni pour exploiter les capacités du module sous Linux, c'est ce que nous allons utiliser pour le IrBlaster, et il est également supporté par Lirc en réception (pour ça j'utilise pour le moment le récepteur de ma PVR-350).
[modifier] IrBlaster
L'installation actuelle de IrBlaster reste assez "artisanale" tout comme le programme en lui même. En fait je ne suis pas certain que d'autres que moi vont l'utiliser et je ne vois pas pour le moment l'intérêt de mieux le packadger. Mais à l'avenir (proche) un package debian devrait être proposé.
[modifier] Installation
[modifier] Installation de libtira.so
Le programme IrBlaster utilise l'API Linux fournie par home-electro moyennant quelques petites modifications, pour l'essentiel destinées à permettre la compilation sous Debian et modifier le nom du fichier généré (TiraAPI.so => libtira.so)
Une autre modification consiste à changer le nom générique du device USB de /dev/usb/ttyUSB en /dev/ttyUSB (fichier TiraFTDILinux.cpp ligne 102) pour pouvoir être compatible Debian.
Le dossier TiraLib contient l'API modifiée; la version originale est disponible sur le site d'home-electro.
il vous suffit d'invoquer make dans TiraLib pour compiler l'API qui sera générée dans TiraLib/APIDLL/obj/libtira.so
Vous n'avez plus qu'à copier ce fichier dans /usr/lib et invoquer ldconfig pour mettre à jour le cache.
[modifier] Installation de IrBlaster
Une fois l'API compilée et installée sur le système, vous pouvez compiler IrBlaster. Allez dans le dossier IrBlaster et tapez make, l'executable est alors généré dans ../bin.
Vérifiez qu'il s'exécute convenablement :
nosferatu@mythtv:~$ irblaster/bin/IrBlaster -V IrBlaster V1.0 Author : Marc Despland Support : http://www.art122-5.net The IrBlaster use the Tira API 1.9 Copyright (C) 2004, Home Electronics ( http://www.home-electro.com )
et copiez le dans /usr/bin
[modifier] Configuration
La configuration de IrBlaster se fait par l'intermédiaire du fichier /etc/irblaster.cfg. La livraison fournie un fichier d'exemple correspondant au modem cable Sagem.
Le fichier doit comporter une clé usbPoort ayant pour valeur le port de connexion du Tira2, un petit ls /dev/ttyUSB* vous donnera la liste des valeurs possibles pour le numéro de port (probablement 0)
Les autres éléments de configuration sont de la forme <char> = <ircode>, par exemple :
3 = 00000000080000004604000025...
Le caractère est le code utilisé pour représenter un bouton de la télécommande, la chaine hexa est le code infrarouge associé.
Le mode de capture permet de déterminer les code infrarouge de la télécommande choisie.
[modifier] Utilisation
[modifier] Mode Capture
Pour effectuer une capture de code infrarouge, placez la télécommande à 1cm du module Tira2 et lancez la commande : IrBlaster -C puis appoyez sur la touche de la télécommande à capurer, l'IrBlaster affichera alors le code hexa du code infrarouge correspondant.
mythtv:~# IrBlaster -C 00000000080000002D000000AE0000008B0100...
Vous n'avez alors plus qu'à copier ce code dans le fichier /etc/irblaster.cfg en l'associant à un caractère.
[modifier] Mode Envoi
Une fois les codes configurés, il suffit d'invoquer IrBlaster -S suivit par la chaine de caractère correspondant au code à transmettre. Par exemple pour passer sur la chaine 023 :
mythtv:~# IrBlaster -S 023



