Télécommande IR sur Raspberry pi

lirc-raspberry-pi

15 juin Télécommande IR sur Raspberry pi

Maintenant que nous avons relié notre télécommande à la Zipabox, il est temps de la relier à nos appareils infrarouge (ampli, démodulateur tnt, vidéoprojecteur, écran,…)

Pour ce faire, nous allons utiliser LIRC (Linux Infrared Remote Control). LIRC est un paquet permettant de décoder et d’encoder des signaux infrarouges des télécommandes.

Installation de LIRC

On met à jour le système du Raspberry pi

sudo apt-get update
sudo apt-get upgrade

Ensuite on install LIRC

sudo apt-get install lirc

On édite le fichier /etc/modules

sudo nano /etc/modules

Afin d’ajouter les lignes suivantes permettant de définir les broches du Raspberry pi de lecture et d’envoi :

lirc_dev
lirc_rpi gpio_in_pin=23 gpio_out_pin=24
gpio_in_pin : lecture
gpio_out_pin : envoi

Pour terminer l'installation, il faut configurer le fichier /etc/lirc/hardware.conf
########################################################
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="--uinput"

# Don't start lircmd even if there seems to be a good config file
# START_LIRCMD=false

# Don't start irexec, even if a good config file seems to exist.
# START_IREXEC=false

# Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"

# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""
########################################################

Test de LIRC

Le test du récepteur IR est simple. Exécuter les deux commandes ci-dessous pour arrêter lircd et commencer à afficher les données brutes du récepteur infrarouge :

sudo /etc/init.d/lirc stop
mode2 -d /dev/lirc0

Sur Raspbian, utiliser la commande « sudo kill $(pidof lircd) » pour tuer le processus.

Pointez la télécommande vers le récepteur IR et appuyez sur un boutons. Vous devriez voir un série de ligne proche de celles-ce ci :

espace 16300 
impulsion 95 
espace 28794 
impulsion 80 
espace 19395 
impulsion 83 
espace 402 351 
135 impulsions 
espace 7085 
85 impulsion 
espace 2903

Si vous n’obtenez pas ce type de ligne, la configuration est surement mal effectuée. Vérifier les branchements…

Configurer LIRC pour votre télécommande IR

Pour fonctionner, LIRC dispose d’une liste de commande reconnue. Nous allons devoir associer à chaque commande une touche de notre télécommande.

La liste des touches LIRC est disponible ci-dessous :
LIRC COMMANDE IRRECORD (397)

Cette liste est obtenue par la commande irrecord –list-namespace.

Il existe un index de télécommande, si votre télécommande est référencée dans la liste , vous pouvez directement récupérer son association : lirc.sourceforge.net/remotes/

Pour enregistrer votre télécommande manuellement :

sudo irrecord -d /dev/lirc0 /etc/lirc/tnt_metronic.conf

Il vous sera demandé, dans un premier temps, d’appuyer 1 seconde sur différentes touche de votre télécommande. Un certain nombre de point sera alors affiché à chaque appuie.

Vous devrez ensuite indiquer la touche à paramétrer. Appuyer sur la touche Enter. Et enfin appuyer sur la touche de votre télécommande. Lorsque vous avez enregistré toute les touches souhaitée, appuyer sur Enter.

Le fichier tnt_metronic.conf est alors créé. Il faut le copier à la place du fichier lircd.conf par défaut

sudo cp /etc/lirc/tnt_metronic.conf /etc/lirc/lircd.conf

Editer le fichier lircd.conf afin de renommer votre appareil.

sudo nano /etc/lirc/lircd.conf

Remplacer : « name /etc/lirc/tnt_metronic.conf »
Par : « name tnt_metronic »

Nous pouvons maintenant tester notre fichier :

sudo /etc/init.d/lirc start
irsend LIST "" ""

Vous devriez obtenir :

« irsend : tnt_metronic »

irsend LIST tnt_metronic ""

Vous devriez obtenir :  »

irsend: 0000000000000001 KEY_0
irsend: 0000000000000002 KEY_CHANNELDOWN
irsend: 0000000000000003 KEY_CHANNELUP
irsend: 0000000000000004 KEY_1
irsend: 0000000000000005 KEY_2
irsend: 0000000000000006 KEY_3
irsend: 0000000000000007 KEY_4
irsend: 0000000000000008 KEY_5
irsend: 0000000000000009 KEY_6″

Pour envoyer une commande infrarouge, il suffit de :

irsend SEND_ONCE tnt_metronic KEY_POWER

A ajouter :
Schéma branchement
2N2222A_TO-92
gpio-pinout
Fichier avec plusieurs appareil

Guide d’achat

RASPBERRY PI 2 – Model B. 1GB RAM, Quad Core CPU
Be Sociable, Share!
No Comments

Sorry, the comment form is closed at this time.