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 24/03/2011, 10:53] – 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:// | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
