Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
telecommande_avec_recepteur_usb_hid [Le 23/03/2011, 13:18] – Alain_the_cat | telecommande_avec_recepteur_usb_hid [Le 24/03/2011, 11:14] (Version actuelle) – Alain_the_cat | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | |||
+ | Karmic, matériel, télécommande, | ||
+ | |||
+ | ===== Objet ===== | ||
+ | |||
+ | |||
+ | Grâce à la réalisation proposée, l' | ||
+ | |||
+ | La télécommande utilisée pour ce tutoriel est une Thomson RCT 311 SB1G mais l' | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | |||
+ | |||
+ | Les pré-requis sont nécessaires pour la suite des opérations sont : | ||
+ | |||
+ | * Disposer des droits d' | ||
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
+ | |||
+ | |||
+ | ===== Réalisation matérielle ===== | ||
+ | |||
+ | |||
+ | |||
+ | La réalisation matérielle du récepteur USB HID à base d'un microcontrôleur PIC Microchip est décrite sur le site : | ||
+ | http:// | ||
+ | |||
+ | 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 : | ||
+ | * La base USB branchée sur un port USB, la Led verte doit s' | ||
+ | * le récepteur doit être identifié par Linux. | ||
+ | |||
+ | Pour vérifier la prise compte de ce matériel par Linux, utilisez la commande lsusb . | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | Bus 002 Device 015: ID 1234: | ||
+ | |||
+ | Le matériel est ici reconnu : ID 1234:2009. | ||
+ | |||
+ | < | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | |||
+ | l' | ||
+ | |||
+ | Gedit : | ||
+ | |||
+ | 1234 Personnal Remote | ||
+ | USB IR DECODER | ||
+ | |||
+ | Enregistrez ce fichier usb.ids . | ||
+ | |||
+ | Vérifiez de nouveau la présence de votre télécommande : | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | Bus 002 Device 015: ID 1234:2009 Personal Remote USB IR DECODER | ||
+ | |||
+ | Parfait, le récepteur est identifié par Linux. | ||
+ | </ | ||
+ | |||
+ | ===== Installation logicielle ===== | ||
+ | |||
+ | |||
+ | |||
+ | Ce récepteur est un récepteur HID qui n'est pas supporté en natif par LIRC. | ||
+ | |||
+ | Un ' | ||
+ | |||
+ | Le mode opératoire détaillé ci-dessous est repris de cet auteur et adapté ici à ce matériel. | ||
+ | |||
+ | Plusieurs étapes sont nécessaires : | ||
+ | * | ||
+ | * | ||
+ | * | ||
+ | * | ||
+ | |||
+ | ==== Téléchargement | ||
+ | |||
+ | |||
+ | Téléchargez le logiciel hid_mapper_beta.tar.gz sur le répertoire de votre choix à l' | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | Attention de bien télécharger la dernière version. | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | alain@alain-desktop: | ||
+ | --2011-03-24 10: | ||
+ | Résolution de www.coldsource.net... 91.121.16.105 | ||
+ | Connexion vers www.coldsource.net|91.121.16.105|: | ||
+ | requête HTTP transmise, en attente de la réponse... 200 OK | ||
+ | Longueur: 26735 (26K) [application/ | ||
+ | Enregistrement vers: `hid_mapper_beta.tar.gz' | ||
+ | | ||
+ | 100%[======================================> | ||
+ | | ||
+ | 2011-03-24 10:29:11 (123 KB/s) - « hid_mapper_beta.tar.gz » sauvegardé [26735/ | ||
+ | |||
+ | ==== Installation ==== | ||
+ | |||
+ | |||
+ | Ensuite, installez le hid_mapper. Pour cela, placez l' | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | hid_mapper_beta/ | ||
+ | |||
+ | |||
+ | Ensuite allez au répertoire hid_mapper, par exemple : cd / | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | alain@alain-desktop: | ||
+ | [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 ./ | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | Found HID device at / | ||
+ | Manufacturer : Padix Co. Ltd. | ||
+ | Product name : Manette de jeu | ||
+ | |||
+ | Found HID device at / | ||
+ | Manufacturer : MICROCHIP | ||
+ | Product name : USB IR DECODER | ||
+ | |||
+ | |||
+ | ==== | ||
+ | |||
+ | |||
+ | Ensuite, vous devez utiliser hid_mapper en mode apprentissage pour capturer les événements HID : | ||
+ | ./ | ||
+ | |||
+ | |||
+ | Si vous appuyez sur la touche " | ||
+ | |||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | Found HID device at / | ||
+ | 02 0c 00 00 00 00 c0 30 | ||
+ | |||
+ | Tapez CTRL C pour terminer. | ||
+ | |||
+ | A ce premier événement « touche OK enfoncée" | ||
+ | |||
+ | Pour une autre télécommande ou pour une autre utilisation, | ||
+ | |||
+ | ==== Vérification du bon fonctionnement | ||
+ | |||
+ | |||
+ | La dernière étape consiste à exécuter le ' | ||
+ | |||
+ | Nota : l' | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | Loaded map file rc5_thomson_rct_311.map | ||
+ | Found HID device | ||
+ | Opened HID interface on / | ||
+ | Generic USB mapper driver setup | ||
+ | |||
+ | À ce stade, la télécommande devrait fonctionner : appuyez sur la touche 1 de votre télécommande, | ||
+ | |||
+ | < | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | Loaded map file rc5_thomson_rct_311.map | ||
+ | Found HID device | ||
+ | Unable to setup event device | ||
+ | |||
+ | Vérifiez si ' | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | ls: ne peut accéder / | ||
+ | |||
+ | Dans ce cas il faut l' | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | |||
+ | |||
+ | Une vérification : | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | crw-r----- 1 root root 10, 223 2011-03-15 10:30 /dev/uinput | ||
+ | |||
+ | |||
+ | Cette fois-ci, vous devriez obtenir un bon fonctionnement : | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | Loaded map file rc5_thomson_rct_311.map | ||
+ | Found HID device | ||
+ | Opened HID interface on / | ||
+ | Generic USB mapper driver setup | ||
+ | |||
+ | C'est OK</ | ||
+ | |||
+ | |||
+ | <note tip> | ||
+ | |||
+ | ===== Script de lancement ===== | ||
+ | |||
+ | |||
+ | Pour vous éviter d' | ||
+ | |||
+ | Gedit : | ||
+ | |||
+ | # | ||
+ | # script_remote version 1 | ||
+ | # 18/ | ||
+ | sudo modprobe uinput | ||
+ | cd / | ||
+ | sudo ./ | ||
+ | exit 0 | ||
+ | |||
+ | Ainsi pour profiter de votre télécommande : | ||
+ | * branchez votre récepteur USB | ||
+ | * lancez juste le script avec le terminal sur son emplacement | ||
+ | |||
+ | Terminal : | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | |||
+ | alain@alain-desktop: | ||
+ | [sudo] password for alain: | ||
+ | Loaded map file rc5_thomson_rct_311.map | ||
+ | Found HID device | ||
+ | Opened HID interface on / | ||
+ | Generic USB mapper driver setup | ||
+ | |||
+ | Pour arrêter , faites simplement CRTL C dans le terminal. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Annexes ===== | ||
+ | |||
+ | |||
+ | Annexe 1 : Mapping avec la télécommande Thomson RCT 311 SB1G et la clé MICROCHIP USB IR DECODER : | ||
+ | |||
+ | Code trouvée par le ' | ||
+ | |||
+ | 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 20 radio | ||
+ | 02 0c 00 00 00 00 50 f2 dec | ||
+ | 02 0c 00 00 00 00 20 f2 dvd | ||
+ | 02 0c 00 00 00 00 c0 f4 tv | ||
+ | 02 0c 00 00 00 00 c0 94 vol_up | ||
+ | 02 0c 00 00 00 00 c0 54 vol_down | ||
+ | 02 0c 00 00 00 00 c0 a4 ch_up | ||
+ | 02 0c 00 00 00 00 c0 e4 ch_down | ||
+ | 02 0c 00 00 00 00 c0 a0 mute | ||
+ | 02 0c 00 00 00 00 c0 14 back | ||
+ | 02 0c 00 00 00 00 c0 7c exit | ||
+ | 02 0c 00 00 00 00 c0 8c menu | ||
+ | 02 0c 00 00 00 00 c0 d0 up | ||
+ | 02 0c 00 00 00 00 c0 b0 down | ||
+ | 02 0c 00 00 00 00 c0 6c left | ||
+ | 02 0c 00 00 00 00 c0 ec right | ||
+ | 02 0c 00 00 00 00 c0 30 ok | ||
+ | 02 0c 00 00 00 00 c0 9c red/ | ||
+ | 02 0c 00 00 00 00 c0 dc green/ | ||
+ | 02 0c 00 00 00 00 c0 1c yellow/ | ||
+ | 02 0c 00 00 00 00 c0 a8 blue/ | ||
+ | 02 0c 00 00 00 00 c0 78 purple/ | ||
+ | 02 0c 00 00 00 00 c0 00 1 | ||
+ | 02 0c 00 00 00 00 c0 10 2 | ||
+ | 02 0c 00 00 00 00 c0 08 3 | ||
+ | 02 0c 00 00 00 00 c0 80 4 | ||
+ | 02 0c 00 00 00 00 c0 90 5 | ||
+ | 02 0c 00 00 00 00 c0 88 6 | ||
+ | 02 0c 00 00 00 00 c0 40 7 | ||
+ | 02 0c 00 00 00 00 c0 50 8 | ||
+ | 02 0c 00 00 00 00 c0 48 9 | ||
+ | 02 0c 00 00 00 00 c0 70 0 | ||
+ | 02 0c 00 00 00 00 c0 18 av | ||
+ | 02 0c 00 00 00 00 c0 04 rev | ||
+ | 02 0c 00 00 00 00 c0 84 play | ||
+ | 02 0c 00 00 00 00 c0 c4 fwd | ||
+ | 02 0c 00 00 00 00 c0 34 rec | ||
+ | 02 0c 00 00 00 00 c0 b4 stop | ||
+ | 02 0c 00 00 00 00 c0 74 pause | ||
+ | 02 0c 00 00 00 00 c0 c0 again | ||
+ | 02 0c 00 00 00 00 c0 68 live | ||
+ | 02 0c 00 00 00 00 c0 60 advance | ||
+ | |||
+ | |||
+ | 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). | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | Annexe 2 Fichier rc5_thomson_rct_311.map à éditer avec Gedit | ||
+ | 020c000000002094: | ||
+ | 020c000000002054: | ||
+ | 020c0000000020a0: | ||
+ | 020c0000000020d0: | ||
+ | 020c0000000020b0: | ||
+ | 020c00000000206c: | ||
+ | 020c0000000020ec: | ||
+ | 020c000000002030: | ||
+ | 020c000000002000: | ||
+ | 020c000000002010: | ||
+ | 020c000000002008: | ||
+ | 020c000000002080: | ||
+ | 020c000000002090: | ||
+ | 020c000000002088: | ||
+ | 020c000000002040: | ||
+ | 020c000000002050: | ||
+ | 020c000000002048: | ||
+ | 020c000000002070: | ||
+ | 020c000000002004: | ||
+ | 020c000000002084: | ||
+ | 020c0000000020c4: | ||
+ | 020c000000002034: | ||
+ | 020c0000000020b4: | ||
+ | 020c000000002074: | ||
+ | 020c000000005094: | ||
+ | 020c000000005054: | ||
+ | 020c0000000050a0: | ||
+ | 020c0000000050d0: | ||
+ | 020c0000000050b0: | ||
+ | 020c00000000506c: | ||
+ | 020c0000000050ec: | ||
+ | 020c000000005030: | ||
+ | 020c000000005000: | ||
+ | 020c000000005010: | ||
+ | 020c000000005008: | ||
+ | 020c000000005080: | ||
+ | 020c000000005090: | ||
+ | 020c000000005088: | ||
+ | 020c000000005040: | ||
+ | 020c000000005050: | ||
+ | 020c000000005048: | ||
+ | 020c000000005070: | ||
+ | 020c000000005004: | ||
+ | 020c000000005084: | ||
+ | 020c0000000050c4: | ||
+ | 020c000000005034: | ||
+ | 020c0000000050b4: | ||
+ | 020c000000005074: | ||
+ | 020c00000000c094: | ||
+ | 020c00000000c054: | ||
+ | 020c00000000c0a0: | ||
+ | 020c00000000c0d0: | ||
+ | 020c00000000c0b0: | ||
+ | 020c00000000c06c: | ||
+ | 020c00000000c0ec: | ||
+ | 020c00000000c030: | ||
+ | 020c00000000c000: | ||
+ | 020c00000000c010: | ||
+ | 020c00000000c008: | ||
+ | 020c00000000c080: | ||
+ | 020c00000000c090: | ||
+ | 020c00000000c088: | ||
+ | 020c00000000c040: | ||
+ | 020c00000000c050: | ||
+ | 020c00000000c048: | ||
+ | 020c00000000c070: | ||
+ | 020c00000000c004: | ||
+ | 020c00000000c084: | ||
+ | 020c00000000c0c4: | ||
+ | 020c00000000c034: | ||
+ | 020c00000000c0b4: | ||
+ | 020c00000000c074: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | // | ||
+ | |||
+ | //Ce tutoriel est basée sur l' | ||
+ | * partie matérielle : | ||
+ | * **(fr)** [[ http:// | ||
+ | |||
+ | * Partie logicielle | ||
+ | * **(en)** [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||