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 | ||