(Loading...)

mardi 7 janvier 2014

Une télécommande pour PC


Ayant essuyé de nombreux échecs, j'ai tenté hier soir, de nouveau pour la 100ième fois, au moins, depuis la sortie de Win7, d'installer ma télécommande pour PC - ATI Remote Wonder II - qui pour de sombres raisons commerciales, n'est plus prise en compte par Win7 faute de driver...
...alors qu'elle a très peu servi sous XP. 

Pour la 100ième fois, donc à nouveau je pestais et re-pestais contre le monde entier (!!)
A lire certains forums, il semblerait que quelques uns y soient parvenu, de mon coté, rien à faire.
Voilà bien longtemps également, que je lorgnais sur des articles décrivant la conception simple de récepteur Infra-Rouge (IR) utilisant le port série.




Histoire de me remonter le moral après cette énième tentative d'installation de la  Remote Wonder
je me décide enfin à sortir mon fer à souder et rassembler le peu de composants nécessaires pour mener à bien ma croisade.

Quelques recherches sur le net plus tard, je reviens de ma pêche avec quelques logiciels à tester, il en existe quelques un, Les deux logiciels faisant l'unanimités sont, Girder, en version 3.29b qui est la dernière version de ce logiciel en version gratuite, puisqu'ensuite l'auteur a décidé de commercialiser les versions ultérieures, et WinLirC une version de LirC développé pour Linux, puis porté sous Windows.
L'un et l'autre répondent parfaitement au type d'utilisation désiré, c'est à dire, commander pratiquement n'importe quelle application sous Windows, avec, pratiquement n'importe quelle télécommande.
Les essais que j'effectue se font avec la télécommande universelle, dont l'image est présentée en début d'article -rétro-éclairée bleue-.
J'ai pu tester également avec différentes télécommandes issues de toute sorte d'appareil, lecteur CD, DVD, Magnétoscope, Téléviseur, éclairage RVB, etc... et toutes répondent parfaitement.


MATÉRIEL



Un connecteur RS232 femelle (Attention bientôt il sera interdit de faire la différence entre une fiche femelle et une fiche mâle, avec leur sombre projet du "gender"), une résistance, un condensateur, une Zener et bien entendu un récepteur IR TSOP4838, composent la partie matérielle.

Le récepteur IR est reconnu par Girder -moyennant un plugin- ou WinLirC -en natif- une fois configuré au port COM adéquat.



En remplacement de la Zener, une version utilisant un régulateur 5V type 7805, en boitier TO92 de préférence pour l'encombrement.









Une autre solution consiste à utiliser une alimentation externe, le plus pratique est de prendre le 5V via l'USB.
Cette solution s'avèrera indispensable sur certains PC, notamment les portables qui bien souvent ont leur port série sous-alimenté.






Le résultat se présente sous la forme de la fiche RS232 d'un coté, dans laquelle les composants sont dissimulés dans la coque plastique, un bout de câble récupéré sur une vieille souris.
De l'autre coté, le TSOP4838 qui bien entendu doit rester accessible à la réception des commandes infra-rouge.
Pour indication, j'ai utilisé une diode Zener 5.1V.













JE N'AI PAS DE PORT SÉRIE !!



Pour ceux qui n'ont plus de port série sur leur PC, il existe une solution astucieuse qui passera par l'entrée micro de la carte sonore utilisant encore moins de composant. L'entrée micro étant de moins en moins utilisée, puisque la plupart des webcam sont équipées de micro en USB, cela rend la solution viable pour une utilisation permanente.
Seul WinLirC peut piloter ce type de plug audio.
Pour cela choisissez comme input plugin  AudioCapture.dll au lieu de SerialDevice.dll.



L'avantage de ces petits assemblages est de vous rendre moins tributaire de l'escroquerie marchande de l'obsolescence programmée, permettant d'utiliser n'importe quelle télécommande, celle que vous utilisez actuellement sur votre téléviseur ou autre appareil, ou encore une vieille télécommande mise au rebut qui retrouvera une seconde jeunesse et évitera le gaspillage inutile.
Les télécommandes, bien entendu n'auront à subir aucune modification, tout se passe dans la configuration logicielle de l'ordinateur.



CONFIGURATION LOGICIEL



WINLIRC -WLC-


Avant de lancer WLC, il est possible de vérifier que notre montage fonctionne correctement, en lançant le fichier IRGraph, qui affiche une fenêtre bleue. En appuyant sur votre télécommande en direction du TSOP, un train d'impulsion s'affiche, indiquant que votre montage fonctionne parfaitement. Vous pouvez maintenant fermer ce programme de test.
J'ai eu de la difficulté à voir WinLirC fonctionner/réagir.
La raison, comme bien souvent, est que je lisais en diagonal les instructions et passé rapidement sur un élément crucial pour mettre en action le logiciel,
le fichier conf.



Commençons par le commencement.
Dans la zone de configuration de WLC, dans la liste Input Plugin je selectionne SerialDevice.dll , en appuyant sur le bouton plugin setup il suffira de renseigner la boite de dialogue qui s'affiche comme sur la capture, en prenant soin d'indiquer le port COM qui correspond à celui de votre PC.






 
Si aucune erreur n'apparait, il n'y a plus qu'à paramétrer le fichier conf.
Deux possibilités, le fichier conf de votre télécommande existe déjà sur la liste très bien fournie du site, ou alors, comme dans mon cas il faut générer son propre fichier, procédure extrêmement simple.


L'animation ci-contre montre une configuration qui vient de s'achever, elle servira à conforter de visu les indications énoncées plus bas.
L'explication peut paraitre fastidieuse et rébarbative, il n'en est rien, cela se fait rapidement et facilement -si le module IR est correctement câblé-














Fermer WLC -Directement dans la zone de notification sur la barre des taches- Exit WinLirC.
Ouvrir un invité de commande, et aller dans le répertoire dans lequel WLC est situé.
Taper la commande suivante:

IRRecord.exe -d plugins\SerialDevice.dll ..\maconfig.conf

"maconfig.conf" : le nom de fichier que l'on désire, de préférence en rapport avec la télécommande configurée, la marque ou la référence, ou encore la_grosse_télécommande_rouge etc...
La commande laisse apparaitre quelques indications,
Appuyer sur Entrée,
Il est demandé ensuite d'appuyer au hasard sur différentes touches de la télécommande, au minimum 1 seconde sur chaque touche afin de laisser au minimum un point apparaitre (maxi 10 points par touche).
Ne pas arrêter avant d'avoir au moins  2 lignes de points complètes.
Appuyer sur Entrée,

Concrètement si l'explication n'est pas claire:

- J'appuie par exemple sur la touche Vol+ jusqu'à voir s'afficher 2 ou 3 points,
- puis sur la touche 1 jusqu'à voir s'afficher 2 ou 3 points
- puis sur la touche 2 jusqu'à voir s'afficher 2 ou 3 points etc...
  A ce niveau, les touches appuyées n'ont pas d'importance, choisissez au hasard.
- Finissez cette procédure lorsque vous aurez deux lignes complètes de points affichés à l'écran.

Note: On peut voir sur la capture animée plus haut, les lignes de points dont je parle, lors de l'enregistrement de la capture, je n'avais pas fini les deux lignes de points. 
Ayant marqué une pause à la fin de la première ligne, le logiciel le signal en demandant de continuer à appuyer sur des touches de la télécommande jusqu'à finalisation de la procédure. 
En clair, appuyez jusqu'à ce que le logiciel vous indique que c'est fini.

Le logiciel maintenant demande de donner un nom pour la touche sur laquelle vous allez appuyer.
puis valider avec la touche entrée.

Donc je veux commencer par la touche Volume +,
je tape "vol+" -sans les guillemets-
Appuyer sur Entrée,
Ce à quoi il répond,  now hold down button "vol+".
j'appuie sur la touche volume + de la télécommande.
de nouveau un nom de touche est demandé, 
je tape "vol-
now hold down button"vol-"
j'appuie sur la touche volume - de la télécommande.
...
...
...
Et ainsi de suite jusqu'à enregistrement de toutes les touches que je désire utiliser.
Il n'est pas obligatoire de le faire pour toutes les touches de la télécommande, juste celles qui seront utilisées.
Appuyer sur Entrée, pour finir cette procédure.

Pour finir l'enregistrement de ma télécommande,
le programme demande d'appuyer régulièrement sur une touche, n'importe laquelle, mais toujours la même,
il est précisé de ne pas rester appuyer mais de donner des impulsions suffisantes pour laisser apparaitre des points.
La procédure s'achève lorsque vous verrez le message final, successfully written config file.

Vous avez maintenant un fichier appelé "maconfig.conf" correspondant à votre télécommande.

Relancer WLC.
Vous pouvez maintenant renseigner  le champ remote configs dans la boite de dialogue setup de WLC en lui indiquant le fichier maconfig.conf.
Désormais, en appuyant sur une des touches de la télécommande le voyant rond gris, dans la zone de notification de la barre des taches, passe au vert, indiquant que la télécommande est reconnue, enfin (!!).


GIRDER

 


Girder présente l'avantage de donner signe de vie rapidement, sans passer par l'étape de reconnaissance de la télécommande, ce qui est réconfortant pour confirmer que l'interface confectionnée fonctionne.
Il suffit de copier la dll de Igor dans le répertoire plugin, puis dans l'interface de Girder, 
Fichier > option > onglet Modules
cocher Igor SFH-56 device, et appuyer sur le bouton Option, configurer les options comme indiqué sur la capture -indiquez le port COM selon votre configuration PC
Valider le tout, et si tout va bien, immédiatement en appuyant sur une touche de la télécommande,
Girder réagira.





WLC ou Girder?
Et bien les deux présentent avantages et inconvénients. A chacun de faire son choix, sauf ceux qui n'ont pas de port série, ce sera d’emblée WLC, pour l'utilisation de l'entrée Mic de la carte audio.
De plus WLC est open Source, Girder non.

Les deux logiciels ont une approche différente quant à la connexion de la télécommande et de l'application commandée.

- WLC, l'application commandée devra intégrer un paramètre dans ses options, le liant à ce dernier.

Par exemple, KMPlayer intègre dans son menu de configuration, une option lui permettant de communiquer avec WLC. En cochant la case idoine, la liaison est activée.
Il suffit alors de sélectionner chaque commande et de lui indiquer le nom du bouton de la télécommande que j'ai donné plus haut dans le fichier conf généré maconfig.conf.
Par exemple je choisi Volume +, puis je renseigne le champ volume de KMPlayer en lui donnant le nom que j'ai attribué au bouton de la télécommande, ici vol+.
Je procède de même pour toutes les commandes désirées.

Comment faire pour les logiciels à commander ne comportant pas ce genre de liaison native?

Nous utiliserons alors, un logiciel open source permettant de créer des macro-commandes EventGhost, qui fonctionnera en binôme avec WLC afin de piloter n'importe quelle fonction ou logiciel sous Windows -ou Linux- y compris le curseur de la souris ou le clavier.

- Girder, intègre le module de création de macro-commandes -même principe que EventGhost- ainsi n'importe quelle application, peut en théorie être pilotée.

Vous trouverez sur la toile une pléthore d'indication sur la manière de procéder pour créer les macro-commandes aussi bien sous EvenGhost que sous Girder, c'est vraiment très simple et vous serez en mesure de configurer pour votre télécommande n'importe quelle action sous Windows et/ou de bouger le curseur de la souris et de cliquer via la télécommande.



ANALYSE DE CODAGE DE TÉLÉCOMMANDES



A noter qu'associé au logiciel InfraX, vous obtenez alors un analyseur de protocole pour télécommande. Excellent pour déterminer quel type de codage - SIRC, NEC, RC5... - est utilisé par une télécommande inconnue permettant de trouver une configuration similaire, ou encore dans le monde des µControleurs indispensable pour mettre au point un code utilisant une télécommande particulière.




IR Protocole Analyzer, la version de l'analyseur utilisant le plug audio.
Si trop de signaux sont mal détectés, n'hésitez pas à régler les niveaux de volume de l'enregistrement dans le mixer Windows, et éventuellement désactiver tous les effets sonores que le logiciel de gestion de votre carte son pourrait proposer.









Finissons sur une petite note d'humour.

Win7 est sortie en 2008/2009, nous sommes en 2014. Voilà donc environ 5 ans que je tente régulièrement d'installer ma ATI Remote Wonder II. 
Après un ou deux jours d'acharnement, j'abandonne pour y revenir quelques semaines ou mois plus tard et ce depuis 5 ans (!!) - Je suis tenace -
J'ai cette fois-ci fait mon deuil, et renoncé définitivement à la faire fonctionner sous W7, d'où le présent montage.

Lorsque je suis arrivé à l'étape de EvenGhost, qui fut la dernière dans la chronologie des essais que j'effectuais, figurez-vous que EvenGhost m'indique qu'il détecte un périphérique susceptible d'être pris en charge par lui. - Vous aurez compris que le récepteur USB de la télécommande est encore connecté au PC, je n'avais pas pris la peine de le débrancher suite à ma dernière tentative. -
Il me demande de télécharger quelques éléments en ligne, 
j'accepte histoire de tenter le sort en pensant intérieurement:
"c'est là qu'il va la prendre en compte, ce serait un comble"...

Devinez quoi?
oui...
vous y êtes...
elle est reconnue par Win7 (!!)
Mon ATI Remote Wonder II est prise en compte sous Windows Seven x64, maintenant que j'ai tout fini (!!!!!!!!!).
N'est-ce pas ce que l'on appelle, l'ironie du sort? 

:D


Tous les logiciels indiqués dans l'article sont disponibles sur leur site respectifs, je garde une copie hébergée sur mon serveur pour éviter, en cas de disparition d'un site cité, de voir cet article devenir inutilisable.
Il est toutefois conseillé de télécharger les logiciels directement auprès des auteurs, vous y trouverez éventuellement des versions plus récentes, et certainement un complément d'information.

Girder 3.29
Igor Plugin -Pour Girder-
WinLirC 0.9
EventGhost 0.4.1
InfraX
IR Protocole Analyzer 1.1