Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
telecommande_avec_recepteur_usb_hid [Le 23/03/2011, 15:16] Alain_the_cat |
telecommande_avec_recepteur_usb_hid [Le 11/09/2022, 11:34] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | + | Karmic, matériel, télécommande, BROUILLON | |
- | Karmic, matériel, télécommande, BROUILLON | + | |
===== Objet ===== | ===== Objet ===== | ||
Ligne 24: | Ligne 23: | ||
La réalisation matérielle du récepteur USB HID à base d'un microcontrôleur PIC Microchip est décrite sur le site : | La réalisation matérielle du récepteur USB HID à base d'un microcontrôleur PIC Microchip est décrite sur le site : | ||
- | http://pagesperso-orange.fr/IR.solutions/ | + | http://pagesperso-orange.fr/IR.solutions/ |
- | Le montage est préprogrammé pour une télécommande avec un protocole RC5. | + | Le montage est préprogrammé pour une télécommande avec un protocole RC5. |
Vérifiez le bon fonctionnement du récepteur avec sa télécommande : | Vérifiez le bon fonctionnement du récepteur avec sa télécommande : | ||
Ligne 34: | Ligne 33: | ||
Pour vérifier la prise compte de ce matériel par Linux, utilisez la commande lsusb . | Pour vérifier la prise compte de ce matériel par Linux, utilisez la commande lsusb . | ||
- | Terminal: | + | Terminal : |
alain@alain-desktop:~$ lsusb | alain@alain-desktop:~$ lsusb | ||
Bus 002 Device 015: ID 1234:2009 | Bus 002 Device 015: ID 1234:2009 | ||
- | Le matériel est ici reconnu : ID 1234:2009 | + | Le matériel est ici reconnu : ID 1234:2009. |
<note>Éventuellement, déclarez votre télécommande dans le fichier /var/lib/misc/usb.ids . | <note>Éventuellement, déclarez votre télécommande dans le fichier /var/lib/misc/usb.ids . | ||
- | Terminal: | + | Terminal : |
alain@alain-desktop:~$ sudo gedit /var/lib/misc/usb.ids | alain@alain-desktop:~$ sudo gedit /var/lib/misc/usb.ids | ||
Ligne 58: | Ligne 57: | ||
Vérifiez de nouveau la présence de votre télécommande : | Vérifiez de nouveau la présence de votre télécommande : | ||
- | Terminal: | + | Terminal : |
alain@alain-desktop:~$ lsusb | alain@alain-desktop:~$ lsusb | ||
Ligne 72: | Ligne 71: | ||
Ce récepteur est un récepteur HID qui n'est pas supporté en natif par LIRC. | Ce récepteur est un récepteur HID qui n'est pas supporté en natif par LIRC. | ||
- | Un 'mappeur' générique HID a été développé par Coldsource et décrit sur le site de XBMC : http://forum.xbmc.org/showthread.php?t=88560 . Il peut convertir n'importe quel signal HID à un événement clé . | + | Un 'mappeur' générique HID a été développé par Coldsource et décrit sur le site de XBMC : http://forum.xbmc.org/showthread.php?t=88560 . Il peut convertir n'importe quel signal HID à un événement clé. |
Le mode opératoire détaillé ci-dessous est repris de cet auteur et adapté ici à ce matériel. | Le mode opératoire détaillé ci-dessous est repris de cet auteur et adapté ici à ce matériel. | ||
Ligne 85: | Ligne 84: | ||
- | Téléchargez le logiciel hid_mapper_beta.tar.gz à l'adresse suivante : | + | Téléchargez le logiciel hid_mapper_beta.tar.gz sur le répertoire de votre choix à l'adresse suivante : |
- | [[http://www.coldsource.net/hid_mapper_beta.tar.gz]] | + | [[http://www.coldsource.net/hid_mapper_beta.tar.gz]] |
Attention de bien télécharger la dernière version. | Attention de bien télécharger la dernière version. | ||
- | ==== Installation ==== | + | Terminal : |
+ | alain@alain-desktop:~$ cd /home/alain/Documents | ||
+ | alain@alain-desktop:~/Documents$ wget http://www.coldsource.net/hid_mapper_beta.tar.gz | ||
+ | --2011-03-24 10:29:11-- http://www.coldsource.net/hid_mapper_beta.tar.gz | ||
+ | Résolution de www.coldsource.net... 91.121.16.105 | ||
+ | Connexion vers www.coldsource.net|91.121.16.105|:80... connecté. | ||
+ | requête HTTP transmise, en attente de la réponse... 200 OK | ||
+ | Longueur: 26735 (26K) [application/x-gzip] | ||
+ | Enregistrement vers: `hid_mapper_beta.tar.gz' | ||
+ | | ||
+ | 100%[======================================>] 26 735 123K/s ds 0,2s | ||
+ | | ||
+ | 2011-03-24 10:29:11 (123 KB/s) - « hid_mapper_beta.tar.gz » sauvegardé [26735/26735] | ||
- | Ensuite, installez le hid_mapper. Pour cela, placez l'archive sur répertoire de votre choix et décompressez l'archive sur ce répertoire, enfin et allez au répertoire hid_mapper, par exemple : cd /home/...../hid_mapper_beta. Ensuite, tapez 'make' pour compiler le pilote. | + | ==== Installation ==== |
- | Tapez ./hid_mapper --list-devices pour voir si votre appareil est reconnu. Par exemple, j'ai : | ||
- | Terminal: | + | Ensuite, installez le hid_mapper. Pour cela, placez l'archive sur répertoire de votre choix et décompressez l'archive sur ce répertoire. |
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop:~/Documents$ tar -zxvf hid_mapper_beta.tar.gz | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/main.cpp | ||
+ | hid_mapper_beta/include/ | ||
+ | hid_mapper_beta/include/uinput_device.h | ||
+ | hid_mapper_beta/include/config.h | ||
+ | hid_mapper_beta/include/EventMapping.h | ||
+ | hid_mapper_beta/include/hid.h | ||
+ | hid_mapper_beta/include/signals.h | ||
+ | hid_mapper_beta/include/Keys.h | ||
+ | hid_mapper_beta/include/keys_definition.h | ||
+ | hid_mapper_beta/include/MapReader.h | ||
+ | hid_mapper_beta/include/Exception.h | ||
+ | hid_mapper_beta/include/MapReaderMouse.h | ||
+ | hid_mapper_beta/include/LinkedList.h | ||
+ | hid_mapper_beta/EventMapping.cpp | ||
+ | hid_mapper_beta/uinput_device.c | ||
+ | hid_mapper_beta/hid.c | ||
+ | hid_mapper_beta/signals.c | ||
+ | hid_mapper_beta/Keys.cpp | ||
+ | hid_mapper_beta/asus-spinel.map | ||
+ | hid_mapper_beta/MapReader.cpp | ||
+ | hid_mapper_beta/Exception.cpp | ||
+ | hid_mapper_beta/LICENSE | ||
+ | hid_mapper_beta/MapReaderMouse.cpp | ||
+ | hid_mapper_beta/Makefile | ||
+ | hid_mapper_beta/keys_definition.cpp | ||
+ | |||
+ | |||
+ | Ensuite allez au répertoire hid_mapper, par exemple : cd /home/...../hid_mapper_beta. Ensuite, tapez 'make' pour compiler le pilote. | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop:~/Documents$ cd /home/alain/Documents/hid_mapper_beta | ||
+ | alain@alain-desktop:~/Documents/hid_mapper_beta$ sudo make | ||
+ | [sudo] password for alain: | ||
+ | g++ -c -Iinclude main.cpp | ||
+ | gcc -c -Iinclude uinput_device.c | ||
+ | gcc -c -Iinclude hid.c | ||
+ | gcc -c -Iinclude signals.c | ||
+ | g++ -c -Iinclude keys_definition.cpp | ||
+ | g++ -c -Iinclude EventMapping.cpp | ||
+ | g++ -c -Iinclude Keys.cpp | ||
+ | g++ -c -Iinclude Exception.cpp | ||
+ | g++ -c -Iinclude MapReader.cpp | ||
+ | g++ -c -Iinclude MapReaderMouse.cpp | ||
+ | g++ main.o uinput_device.o hid.o signals.o keys_definition.o EventMapping.o Keys.o Exception.o MapReader.o MapReaderMouse.o -o hid_mapper | ||
+ | |||
+ | |||
+ | Enfin, tapez ./hid_mapper --list-devices pour voir si votre appareil est reconnu. Par exemple, j'ai : | ||
+ | |||
+ | Terminal : | ||
alain@alain-desktop:~/Documents/hid_mapper_beta$ sudo ./hid_mapper --list-devices | alain@alain-desktop:~/Documents/hid_mapper_beta$ sudo ./hid_mapper --list-devices | ||
Ligne 110: | Ligne 175: | ||
- | ==== Apprentissage des événements HID === | + | ==== Apprentissage des événements HID === |
- | Ensuite, vous devez utiliser hid_mapper en mode apprentissage pour capturer les événements HID: | + | Ensuite, vous devez utiliser hid_mapper en mode apprentissage pour capturer les événements HID : |
./hid_mapper --learn --manufacturer 'MICROCHIP' --product 'USB IR DECODER' --map ' ' | ./hid_mapper --learn --manufacturer 'MICROCHIP' --product 'USB IR DECODER' --map ' ' | ||
Ligne 120: | Ligne 185: | ||
- | Terminal: | + | Terminal : |
alain@alain-desktop:~/Documents/hid_mapper_beta$ ./hid_mapper --learn --manufacturer 'MICROCHIP' --product 'USB IR DECODER' --map '' | alain@alain-desktop:~/Documents/hid_mapper_beta$ ./hid_mapper --learn --manufacturer 'MICROCHIP' --product 'USB IR DECODER' --map '' | ||
Ligne 128: | Ligne 193: | ||
Tapez CTRL C pour terminer. | Tapez CTRL C pour terminer. | ||
- | A ce premier événement « touche OK enfoncée" correspond le code événemet. Capturez tous les événements dont vous avez besoin et reliez les à une clé utilisable par Linux (KEY_UP par exemple) afin d'écrire un fichier 'map' de votre télécommande. Pour une meilleur compréhension, le mapping obtenu pour ma télécommande et le fichier rc5_thomson_rct_311.map créé à partir de là sont donnés en annexe. | + | A ce premier événement « touche OK enfoncée" correspond le code événement. Capturez tous les événements dont vous avez besoin et reliez les à une clé utilisable par Linux (KEY_UP par exemple) afin d'écrire un fichier 'map' de votre télécommande. Pour une meilleure compréhension, le mapping obtenu pour ma télécommande et le fichier rc5_thomson_rct_311.map créé à partir de là sont donnés en annexe. |
- | Pour une autre télécommande ou pour une autre utilisation, la liste des touches possibles (KEY_UP par exemple) peut être trouvée dans /usr/include/linux/input.h. | + | Pour une autre télécommande ou pour une autre utilisation, la liste des touches possibles (KEY_UP par exemple) peut être trouvée dans /usr/include/linux/input.h. |
==== Vérification du bon fonctionnement ==== | ==== Vérification du bon fonctionnement ==== | ||
- | La dernière étape consiste à exécuter le 'mappeur': | + | La dernière étape consiste à exécuter le 'mappeur' : |
- | Nota : l'option - -disable-repetition évite la répétition des touches. | + | Nota : l'option - -disable-repetition évite la répétition des touches. |
- | Terminal: | + | Terminal : |
alain@alain-desktop:~/Documents/hid_mapper_beta$ sudo ./hid_mapper --manufacturer 'MICROCHIP' --product 'USB IR DECODER' --disable-repetition --map 'rc5_thomson_rct_311.map' | alain@alain-desktop:~/Documents/hid_mapper_beta$ sudo ./hid_mapper --manufacturer 'MICROCHIP' --product 'USB IR DECODER' --disable-repetition --map 'rc5_thomson_rct_311.map' | ||
Ligne 147: | Ligne 212: | ||
Generic USB mapper driver setup | Generic USB mapper driver setup | ||
- | À ce stade, la télécommande devrait fonctionner : appuyez sur la touche 1 de votre télécommande, le lien avec KEY_1 devrait faire apparaître 1 (ou & si votre clavier est en majuscule) sur terminal | + | À ce stade, la télécommande devrait fonctionner : appuyez sur la touche 1 de votre télécommande, le lien avec KEY_1 devrait faire apparaître 1 (ou & si votre clavier est en majuscule) sur terminal. |
<note>Si vous avez le message suivant (pour ma part, il apparaît à chaque reboot) : | <note>Si vous avez le message suivant (pour ma part, il apparaît à chaque reboot) : | ||
- | Terminal: | + | Terminal : |
alain@alain-desktop:~/Documents/hid_mapper_beta$ sudo ./hid_mapper --manufacturer 'MICROCHIP' --product 'USB IR DECODER' --disable-repetition --map 'rc5_thomson_rct_311.map' | alain@alain-desktop:~/Documents/hid_mapper_beta$ sudo ./hid_mapper --manufacturer 'MICROCHIP' --product 'USB IR DECODER' --disable-repetition --map 'rc5_thomson_rct_311.map' | ||
Ligne 160: | Ligne 225: | ||
Vérifiez si 'uinput' est installé. | Vérifiez si 'uinput' est installé. | ||
- | Terminal: | + | Terminal : |
alain@alain-desktop:~/Documents/hid_mapper_beta$ ls -l /dev/uinput | alain@alain-desktop:~/Documents/hid_mapper_beta$ ls -l /dev/uinput | ||
Ligne 167: | Ligne 232: | ||
Dans ce cas il faut l'installer par la commande modprobe : | Dans ce cas il faut l'installer par la commande modprobe : | ||
- | Terminal: | + | Terminal : |
alain@alain-desktop:~/Documents/hid_mapper_beta$ sudo modprobe uinput | alain@alain-desktop:~/Documents/hid_mapper_beta$ sudo modprobe uinput | ||
Ligne 174: | Ligne 239: | ||
Une vérification : | Une vérification : | ||
- | Terminal: | + | Terminal : |
alain@alain-desktop:~/Documents/hid_mapper_beta$ ls -l /dev/uinput | alain@alain-desktop:~/Documents/hid_mapper_beta$ ls -l /dev/uinput | ||
Ligne 180: | Ligne 245: | ||
- | Cette fois-ci, vous devriez obtenir un bon fonctionnement: | + | Cette fois-ci, vous devriez obtenir un bon fonctionnement : |
- | Terminal: | + | Terminal : |
alain@alain-desktop:~/Documents/hid_mapper_beta$ sudo ./hid_mapper --manufacturer 'MICROCHIP' --product 'USB IR DECODER' --map 'rc5_thomson_rct_311.map' | alain@alain-desktop:~/Documents/hid_mapper_beta$ sudo ./hid_mapper --manufacturer 'MICROCHIP' --product 'USB IR DECODER' --map 'rc5_thomson_rct_311.map' | ||
Ligne 200: | Ligne 265: | ||
Pour vous éviter d'écrire la longue ligne de commande précédente, vous pouvez utiliser ce petit script à créer avec Gedit : script_remote1.sh et à placer dans le répertoire hid_mapper_beta (à adapter en fonction de votre configuration) : | Pour vous éviter d'écrire la longue ligne de commande précédente, vous pouvez utiliser ce petit script à créer avec Gedit : script_remote1.sh et à placer dans le répertoire hid_mapper_beta (à adapter en fonction de votre configuration) : | ||
- | Gedit: | + | Gedit : |
#!/bin/bash | #!/bin/bash | ||
Ligne 208: | Ligne 273: | ||
cd /home/alain/Documents/hid_mapper_beta | cd /home/alain/Documents/hid_mapper_beta | ||
sudo ./hid_mapper --manufacturer 'MICROCHIP' --product 'USB IR DECODER' --disable-repetition --map 'rc5_thomson_rct_311.map' | sudo ./hid_mapper --manufacturer 'MICROCHIP' --product 'USB IR DECODER' --disable-repetition --map 'rc5_thomson_rct_311.map' | ||
- | exit 0 | + | exit 0 |
Ainsi pour profiter de votre télécommande : | Ainsi pour profiter de votre télécommande : | ||
- | branchez votre récepteur USB | + | * branchez votre récepteur USB |
- | lancez juste le script avec le terminal sur son emplacement | + | * lancez juste le script avec le terminal sur son emplacement |
- | Terminal: | + | Terminal : |
alain@alain-desktop:~$ cd /home/alain/Documents/hid_mapper_beta | alain@alain-desktop:~$ cd /home/alain/Documents/hid_mapper_beta | ||
Ligne 232: | Ligne 297: | ||
- | Annexe 1 : Mapping avec la télécommande Thomson RCT 311 SB1G et la clé MICROCHIP USB IR DECODER : | + | Annexe 1 : Mapping avec la télécommande Thomson RCT 311 SB1G et la clé MICROCHIP USB IR DECODER : |
Code trouvée par le 'mappeur' --> Touche de la télécommande | Code trouvée par le 'mappeur' --> Touche de la télécommande | ||
- | 02 0c 00 00 00 00 50b8 pwr on | + | 02 0c 00 00 00 00 50 b8 pwr on |
02 0c 00 00 00 00 50 fc pwr off | 02 0c 00 00 00 00 50 fc pwr off | ||
02 0c 00 00 00 00 50 20 radio | 02 0c 00 00 00 00 50 20 radio | ||
Ligne 282: | Ligne 347: | ||
- | Ce fichier est à compléter de la même façon avec avec c0 (pour tv) remplacé par 50 (pour dvd) et par 20 (pour dec) | + | Ce fichier est à compléter de la même façon avec avec c0 (pour tv) remplacé par 50 (pour dvd) et par 20 (pour dec). |
Ligne 366: | Ligne 431: | ||
//Contributeurs principaux : Alain_the_cat// | //Contributeurs principaux : Alain_the_cat// | ||
- | //Ce tutoriel est basée sur l'adaptation de deux réalisations | + | //Ce tutoriel est basée sur l'adaptation de deux réalisations |
- | * partie matérielle : | + | * partie matérielle : |
- | * **(fr)** [[ http://pagesperso-orange.fr/IR.solutions/]] | + | * **(fr)** [[ http://pagesperso-orange.fr/IR.solutions/]] |
* Partie logicielle | * Partie logicielle |