PROJET AUTOBLOG


ThomasInTheSky

Archivé

source: ThomasInTheSky

⇐ retour index

Contrôlez votre ordinateur à distance grâce à PCRemote !

mercredi 18 juin 2014 à 13:50

Bon, je vous préviens tout de suite, cet article risque d’être long. Très long. Et peut-être pas forcément évident pour tout le monde. Alors je vais introduire rapidement ce de quoi il va être question.

Récemment, j’ai acheté un Arduino Uno sur Sparkfun, avec un écran classique (monochrome 16×2) et une diode infrarouge. Au début j’avais pas vraiment d’idées mais il y a quelques jours une grande envie – et un grand besoin – me sont venus : contrôler mon ordinateur à distance grâce, non pas à mon téléphone, mais à la télécommande de ma télé. Je vais donc vous expliquer comment je m’y suis pris et comment refaire la même chose, avec chaque fois plusieurs niveaux de complexité : si vous êtes intéressé, si vous voulez refaire pareil, et si vous voulez vraiment tout savoir sur ce que j’ai fait.

Entrons vite dans le vif du sujet avec les prérequis !

Commençons avec le montage électronique. Il s’agit de quelque chose de très, très simple. Je vous fournis un schéma Fritzing :

J'ai pensé à mettre des fils de différentes couleurs, moi.

J’ai pensé à mettre des fils de différentes couleurs, moi.

Difficile de faire plus simple… Pour les branchements, l’écran devrait être pareil, mais vous devriez vérifier en ce qui concerne la diode, parce que je sais d’expérience que leur schéma n’est pas le même que pour la mienne… N’hésitez pas à aller voir les datasheets ou regarder si les gens ne proposent pas des exemples !

Bon… Une fois ceci fait, on va s’occuper de mettre le programme de l’Arduino en route. Que faire ? Tout d’abord, téléchargez les fichiers ci-dessous :

La librairie est à placer dans le dossier libraries de votre carnet de sketchs !

Une fois ceci fait, ouvrez le fichier extrait avec l’IDE Arduino et envoyez le à votre microcontrôleur. Pensez tout de même à modifier cette ligne :

int IRpin = A0;

Si jamais vous n’avez pas relié la patte des données de la diode à A0 mais à un autre pin !

Bref, si le code est compilé sans problème et que l’Arduino a bien reçu on peut maintenant vérifier que ça fonctionne. Attrapez votre télécommande préférée et ouvrez le moniteur série ! Normalement, vous devriez voir apparaître des nombres lorsque vous appuyez sur différentes touches de la télécommande. Vous remarquerez que sur certaines télécommandes, un même bouton a plusieurs nombres associés (jusqu’à des dizaines parfois). Cela peut venir de deux choses : soit la réception de la diode est mauvaise (si vous êtes loin ou que vous orientez mal la télécommande) et des infos se perdent, soit la télécommande est “intelligente” : au lieu d’envoyer “Volume + ; Volume + ; Volume + ; Volume +”, elle enverra “Volume + prolongé”. Ça peut paraître con mais ça permet de faciliter le programme de la télé. Si vous recevez bien des nombres, vous pouvez passer à la suite, autrement, vérifiez que tous les branchements sont bien effectués et que vous ne vous êtes pas trompé de pins / patte.

Si vous avez un écran : essayez de mettre en commentaire toute la partie contenue dans loop() et ajoutez :

void loop() {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Hello !");
}

Si ça ne fonctionne pas, vérifiez encore une fois que vos branchements sont bons.

Passons à la véritable partie intéressante : la partie traitement des données par notre programme pour Windows (qui est nettement plus conséquent que celui de l’Arduino évidemment).

Si vous êtes uniquement utilisateur

Si vous êtes uniquement utilisateur, je vais vous expliquer comment mettre tout ce petit monde en route. Tout d’abord vous devrez télécharger le programme de contrôle ci-dessous :

Ceci fait, vous n’avez qu’à lancer le programme contenu dans l’archive (vous pouvez l’extraire où vous voulez puisque le programme stocke ses fichiers ailleurs sur l’ordinateur). Vous devriez voir une fenêtre de ce type apparaître :

Fenêtre principale.

Fenêtre principale.

La première chose que vous devrez faire est d’essayer de vous connecter à l’Arduino. Pour ce faire, choisissez un port (le même que celui utilisé par Arduino IDE pour envoyer les sketchs) et cliquez sur connecter. Normalement, s’il arrive à se connecter, il vous le dira dans le log. Autrement, vérifiez que le moniteur série d’Arduino IDE n’est pas ouvert ou que ce dernier n’est pas en train de communiquer avec le microcontrôleur. Dans le pire des cas, redémarrez votre ordinateur. Si vous avez un écran, il devrait afficher Connecte / [le nom de votre ordinateur]. Pour continuer, cliquez sur le bouton ajouter en haut à droite.

Fenêtre d'ajout de contrôle.

Fenêtre d’ajout de contrôle.

  1. Cliquez sur le bouton Capturer. S’il est grisé, c’est que vous n’êtes pas connecté à l’Arduino.
  2. Appuyez sur la ou les touches de votre télécommande que vous voulez utiliser pour cette action. Je vous recommande d’appuyer plusieurs fois sur la même et également de manière prolongée, pour capturer tous les signaux que peut envoyer une touche, et ainsi réduire la marge d’erreur.
  3. Cliquez sur Arrêter la capture.
  4. Sélectionnez une action dans la liste de gauche.
  5. (Si vous avez sélectionné une action qui demande un paramètre spécial, comme Terminer processus ou Lancer une application personnalisée, entrez le nom de l’application ou son chemin dans le champ en bas).
  6. Cliquez sur Valider.
  7. Dans la fenêtre principale, cliquez sur Enregistrer.
  8. Essayez de faire l’action : ça devrait fonctionner.

Que peut-on faire ensuite ?

Bah c’est à peu près tout… vous pouvez configurer autant de contrôles que vous le souhaitez bien entendu, sachant qu’une touche ne peut faire qu’une action (si une touche est présente deux fois dans la configuration, seule la première ligne sera prise en compte). Ensuite, pour avoir une plus grande visibilité, vous pouvez fermer la fenêtre de configuration / connexion. Vous aurez alors un panneau de visualisation sur le bureau ainsi qu’une icône dans la barre de notification qui vous permettra d’afficher la fenêtre principale. Pour terminer, vous pouvez cliquer sur le bouton Paramètres pour accéder… aux paramètres. Il n’y en a pas énormément :

Paramètres

Paramètres

Normalement, je crois que j’ai tout dit ! Bien entendu, le logiciel est encore amené à beaucoup évoluer et à devenir plus stable (notamment au niveau de la réception qui est un peu gérée avec les pieds…) mais je pense que j’ai déjà fait quelque chose de largement utilisable (puisque je l’utilise au quotidien)… Si vous avez une quelconque question, n’hésitez pas !

Si vous voulez savoir comment ça marche :

Afin de gagner en lisibilité, j’ai préféré mettre cette partie sur une page à part.