Une histoire rocambolesque : j’avais besoin de tester une prise antenne dans un logement, et pour cela me suis muni d’un décodeur TNT. Pour lancer une recherche de canaux télévisuels, il faut une télécommande. Je n’avais pas à ma disposition de piles adéquates pour mettre dans la télécommande, et ai donc dû improviser avec un Palm TX…

Dans cet article, nous allons donc émuler une télécommande infra-rouge à l’aide d’un Palm en se servant de codes pour télécommande Philips Pronto en hexadécimal. Dans mon cas, il proviennent de la fabuleuse base de données irdb.tk.

Il n’existe pas (à ma connaissance) de méthode permettant d’entrer directement des codes infrarouges dans une application Palm pour les émettre. Nous allons donc bidouiller avec plusieurs logiciels pour parvenir à notre objectif.

Installation d’OmniRemote

Le truc malheureux avec les PDA Palm (et plein d’autres appareils similaires) c’est qu’ils ont eu une communauté d’utilisateurs énormissime il y a une dizaine d’années, et qu’il n’en reste quasiment rien aujourd’hui, au mieux quelques topics de forums introuvables dans les moteurs de recherche.

OmniRemote est un des programmes qui permettaient sur Palm OS d’émuler une télécommande. Il était payant, mais la société a depuis mis la clef sous la porte et on peut trouver des codes d’activation pour OmniRemote en cherchant un peu sur internet.

Les fichiers d’installation, eux, sont disponibles sur Wayback Machine.

Utilisateur de Linux, j’utilise le programme J-Pilot pour installer le fichier Remote.prc. La manipulation est très simple :

  1. Menu Fichier > Installer, sélectionner le fichier .prc pour l’ajouter à la liste des fichiers à installer
  2. Lancer une synchronisation Hot Sync

OmniRemote peut se programmer à l’aide d’un logiciel spécialisé, mais il ne me convient pas car incompatible avec les codes infrarouges au format Pronto. Le plus simple est donc de créer une interface pour télécommande Pronto.

Création de l’interface de la télécommande (fichier .ccf)

Il existe plusieurs outils pour la création d’interfaces pour télécommande Philips Pronto, à commencer par le logiciel officiel de Philips (ProntoEdit Professionnal). Ayant des difficultés à le faire fonctionner dans Wine, je me suis tourné vers Tonto, un outil équivalent codé en Java. Je l’ai compilé et il est disponible ici.

L’outil contient quelques bugs empêchant le fonctionnement normal du logiciel, donc je me suis permis de le forker ; c’est hébergé sur un dépôt GitHub.

À l’ouverture de Tonto, vous aurez probablement des messages d’erreurs liés à un soucis d’initialisation de la bibliothèque assurant la liaison avec la télécommande. Cela n’est pas grave car nous n’avons pas besoin de communiquer avec une télécommande Philips.

Tonto vous ouvre automatiquement un nouveau fichier. La colonne de gauche représente la structure du fichier.

Pour créer notre interface, il faut successivement créer un Device (qui représente l’appareil à piloter), puis un Panel (une page de l’interface). Cela s’effectue par clic droit sur la section Devices > Add Devices, et clic droit sur le device fraîchement créé puis Add Panel.

Vous pouvez renommer les devices et panels à votre guise en faisant clic droit puis Properties.

On peut à présent dessiner l’interface. Ouvrez le panel que vous souhaitez dessiner, et faites un clic droit dans le canvas pour y ajouter un bouton.

En double-cliquant sur le bouton, on peut régler dans l’onglet Properties son nom. Pour définir le code infrarouge, il faut aller dans l’onglet Actions, cliquer sur le bouton IR, et coller le code infrarouge au format Pronto dans le champ Data. Un chronogramme en bas de la fenêtre permet de vérifier les données saisies.

Vous pouvez valider et fermer les multiples fenêtres volantes, et sauvegarder votre fichier .ccf.

Conversion en base de donnée OmniRemote (fichier .pdb)

OmniRemote ne lit pas les fichiers .ccf, il ne lit seulement que les fichiers .pdb. La conversion s’effectue à l’aide de l’outil nommé CCFCnvt, distribué par l’auteur de OmniRemote. Le programme se lance correctement dans Wine sans manipulation particulière.

Il faut cliquer sur Read CCF file pour charger le fichier .ccf crée par Tonto, et copier tous les panels Pronto en tant que catégorie Palm en cliquant sur la flèche située juste au dessus de Copy entire panel. Vérifier que toutes les cases à cocher sont cochées, et enfin cliquer sur Generate PDB file pour générer la base de donnée pour OmniRemote.

Installation de la base de donnée et utilisation

De retour dans J-Pilot (ou autre logiciel de synchronisation pour Palm), il faut envoyer le fichier .pdb sur le Palm. On lance OmniRemote, on sélectionne la base de donnée à utiliser, et enfin on choisit le panel que l’on vient de créer (la liste est dans le coin supérieur droit).

Vous pouvez maintenant envoyer le code infrarouge de votre choix en cliquant dessus avec votre stylet.

Conclusion

Nous avons vu au cours de cet article comment émettre des codes infrarouges Pronto à l’aide d’un Palm. La procédure est laborieuse mais fonctionnelle. Il est important de noter quand même que la portée et l’angle d’émission du Palm sont faibles, donc il est préférable de se tourner vers une solution plus sérieuse (…comme une télécommande Philips Pronto, par exemple) si vous comptez vous en servir au quotidien.

Le fin mot de l’histoire est que la prise antenne n’était reliée à rien du tout, et que ces efforts ont été vains…