mardi 16 septembre 2014

Tuto#5 La télécommande intelligente!

Domaine: Systèmes Embarqués, Linux

Difficulté: Difficile

Introduction

Salut tout le monde! :)  Et voilà nous sommes dans le cinquième tuto dans lequel nous allons apprendre comment fabriquer une télécommande qui fonctionne en même temps avec votre télé, votre v-box, votre stéréo...  Vous allez jetez toutes vos télécommandes dans la poubelle tout de suite! Vous n'allez plus en avoir besoin! :D

Une fois réalisée, votre nouvelle télécommande vous permettra de commander tous vos appareils avec votre smartphone ou votre laptop. 


Matériel

Carte Arduino Yun
LED infrarouge
Récepteur infrarouge
Carte mémoire (SD Card)
Une résistance de 100Ohm
Cable usb
Des fils de connexion

Réalisation

Etape#1 Connectez vos composants!
Prenez votre carte Arduino Yun! Connectez l'anode de la LED infrarouge à la broche 13 de la carte.
Connectez la cathode de la LED avec la résistance de 100Ohm qui sera 
elle-même connectée à la deuxième patte  du récepteur infrarouge.
La patte droite du récepteur (en le regardant de la partie arrondie) sera liée à la broche 5V  de l'Arduino et la patte au milieu du récepteur sera connectée à la masse de l'Arduino et enfin  la patte gauche sera connectée à la broche 11 de la carte.
Voilà tout est bon pour la partie hard. On passe maintenant à la partie Soft! :D
Etape#2 Installer les packages nécessaires!
Insérez votre carte mémoire dans l'Arduino et connectez la carte avec le câble USB à l'adaptateur USB prise pour son alimentation.

Assurez-vous que votre carte est bien connectée à votre réseau wifi. Connectez-vous maintenant à la ligne de commande par SSH c.à.d ouvrez le terminal et tapez:
ssh root@adresse_ip_arduino
Pour mettre à jour le gestionnaire des packages tapez
Installez maintenant le PIP, le gestionnaire du package du python
Créez tout de suite un répertoire dans votre carte mémoire pour y stocker les packages du python

Installez après&nbsp Flask Python web framework&nbsp

Vous rencontrez souvent des messages d'erreur, ignorez-les! ce n'est pas très important!  
Mettez maintenant le path de ce package à jour en tapant ceci
  
Et enfin créez les répertoires dans lesquelles votre arduino va stocker les fichiers du serveur web!


Et n'oubliez pas bien sur de rafraîchir votre carte en la redémarrant pour être sur que toutes nos mises à jour ont été bien enregistrées. 

Etape#3 Charger le sketch Arduino 

Téléchargez tout d'abord la bibliothèque de l'IR. voilà le lien! 
Décompressez le fichier, renommez le fichier ainsi "Arduino_IRremote" et importez le fichier de Arduino_IRremote en tant qu'une bibliothéque pour votre IDE.
Télechargez maintenant le code source de votre projet  http://www.mediafire.com/download/evn1vc8euqghkoe/SmartRemoteControl-master.zip
Décompressez aussi le fichier et ouvrez le sketch que vous avez trouvé dedans.  
Compilez et exécutez le sketch. Assurez-vous d'avoir envoyer le sketch à la carte Arduino via wifi.

Etape#4 Configurer les codes de votre télécommande

Pour configurer toutes vos télécommandes et les remplacer par la nouvelle qui est beaucoup plus intelligente, vous devez écrire un fichier XML dans lequel vous allez mettre des codes pour chaque activité de vos anciennes télécommandes.

Ouvrez un éditeur de texte que vous allez le nommer "activites.xml"  Mais attention vous n'allez pas créer ce fichier n'importe où!!! Vous devez le faire dans le dossier des croquis de votre carte. Allez à Croquis dans le menu de l'IDE, afficher le croquis et créez votre fichier xml là bas!

Mais comment nous allons écrire tous ces codes là????
Voilà comment!

Vous voyez les lignes marquées en jaune? ça c'est bien le code à copier! en fait pour chaque bouton que vous utilisez fréquemment, vous devez y appuyer pour que le code s'affiche dans le terminal. copiez ce code et retournez à votre fichier xml et collez-le!
Mais attention vous devez respecter la syntaxe xml -_-





Faites comme c'est dans la photo ci-dessous la première ligne et la deuxième sont à garder! 

Pour chaque activité vous devez ouvrir la balise <activity> et mettre le code nécessaire qui vous permettra d'effectuer cette activité. Bien sur n'oubliez pas de nommer l'activité pour qu'après un bouton ayant ce nom apparaîtra sur l'interface de votre smartphone ou laptop.

Par exemple ici la première activité ajoutée est nommée "movies" elle sert à ouvrir la TV et le Blu-ray player d'un seul coup.

Pour chaque nouveau code ajouté vous devez ouvrir la balise <code> et tous les codes des télécommandes utilisées dans une certaine activité doivent commencer par la balise <codes>.

Regardez encore le code et concentrez vous, vous allez bien comprendre la démarche. C'est simple :)


Voilà! aprés avoir fini ça enregistrez votre travail et envoyer le sketch à l'Arduino via wifi.
Etape#5 Préparer l'interface du serveur web

Connectez l'Arduino via ssh et tapez ceci

Si tout est bon! vous devez voir ça


Ouvrez votre navigateur web et tapez ceci dans l'URL http://arduino.local:5000/
si ça n'a pas fonctionné essayez http://arduino_ip_address:5000/ 
PS: l'adresse ip se trouve sur votre IDE en haut lorsque la carte est connectée.
Si la page a été bien chargée, vous devez voir une liste des activités configurées sous forme de boutons ayant les noms que vous venez d'attribuer :D 
Etape#6  Action!
Pour mettre votre serveur capable de vous impressionner automatiquement dés que vous le lancez rajoutez ces lignes de codes dans le fichier  /etc/rc.local en utilisant vi par exemple ou n'importe quel autre éditeur.
Attention ces lignes doivent être rajoutées avant "exit 0"


Tara raraaaa!! Votre télécommande est prête a être utilisée! :D
Concernant le bouton "Speak" vous devez juste être sur google chrome et dés que vous y appuyiez chrome va vous demander l’accès à votre microphone bien sur vous allez accepter et vous devez donc prononcer convenablement le nom du bouton et voilà ça va fonctionner! :)
Bon personnellement je préfère que l'interface soit sur un smartphone! c'est beaucoup plus pratique! ;)
   
Enjoy guys you are genius! :D
J'ai pris ce tuto de Make magazine aussi! on se voit prochainement à très bientôt!! :* 

Aucun commentaire:

Enregistrer un commentaire