Raspberry PI ~ 12 : Allumer des prises à distance
lundi 24 décembre 2012 à 15:12Ce post est le douzième d’une liste de tutoriels sur le raspberry PI dont voici le sommaire :
- Raspberry PI ~ 01 : Présentation
- Raspberry PI ~ 02 : Exploration technique
- Raspberry PI ~ 03 : Brancher et installer le Raspberry PI
- Raspberry PI ~ 04 : Configurer en serveur
- Raspberry PI ~ 05 : Protéger notre précieux
- Raspberry PI ~ 06 : Utiliser le GPIO et Interagir avec le monde réel
- Raspberry PI ~ 07 : Allumer/éteindre une vraie lampe OU comment faire de la domotique low cost.
- Raspberry PI ~ 08 : Jouer avec les ondes radio
- Raspberry PI ~ 09 : Créer une interface vocale
- Raspberry PI ~ 10 : Commander le raspberry Pi par radio
- Raspberry PI ~ 11 : Relier à un écran et afficher du texte
- Raspberry PI ~ 12 : Allumer des prises à distance
- Raspberry PI ~ 13 : Détecter l’ouverture des portes et fenêtres
Avant que la fin du monde (un peu tardive), ou une trop grosse cuite du nouvel an ne nous sépare, je tenais à vous offrir ce petit tuto sur le « télécommandage » (ça se dit ça?) de prises électriques depuis le raspberry PI.
Nous allons donc reproduire notre tuto 7 « éteindre/allumer une lampe avec le raspberry PI » mais cette fois ci, sans utiliser de fils.
Démonstration
Voila la traditionnelle petite vidéo de démonstration de ce que nous allons faire :
(Un grand merci à Maxime Raynal (dont on peux reconnaître le petit accent chantant dans la vidéo pour son fabuleux montage , ça change de mes précédentes vidéos filmées à la Blairwitch)
Quelques screenshots de l’application web évoquée dans la vidéo :
Accueil des périphériques, par pièces
Espace de configuration sans utilisation de base de données
Interface adaptables tablettes/smartphone
Points forts / Points faibles
(de l’utilisation des ondes radio)
Ce montage est similaire au montage filaire que nous avons déjà vu, mais il a pour différences les points suivants.
FORCES :
- Intégrable à votre appartement/maison sans avoir à démonter les murs ou à abîmer quoique ce soit
- Ne prend qu’un seul PIN GPIO sur le rpi au lieu d’un par relais, il est donc possible de gérer une quantité infinie de périphérique (enfin 2^30 soit 1073741824 périphériques en fait :p) en n’utilisant qu’un seul pin
- Le circuit de commande est dynamique, vous pouvez ajouter, déplacer, supprimer vos périphérique sans aucune modification à faire en terme d’électrique/électronique
- Il est plus simple de permuter la commande classique (interrupteur simple) et la commande via le Raspberry PI afin d’utiliser simultanément les deux, ainsi si vôtre rpi grille, vous pourrez encore vous servir de votre système électrique de manière classique
- Niveau esthétique, c’est plus discret qu’une 30 aine de fils qui se baladent
- Le système est « portable » d’une habitation à une autre , vous pouvez donc déménager facilement sans démonter les murs
- Le système peux traverser la plupart des murs/obstacles/matières il vous est donc possible de gérer des périphériques dans des endroits peux accessibles
FAIBLESSES :
- La portée de l’émetteur que l’on a acheté est d’environ 30M, peut être plus avec une bonne antenne, il vous faudra donc peut être plusieurs émetteur ou une bonne antenne ou encore un émetteur de meilleure qualité si vous avez une grande maison
- Le système radio est au système filaire ce que le wifi est aux câbles Ethernet, donc moins sécurisé, bien que le signal soit sur 32 bits (auquel j’enlève les 2 bits d’état et de groupe) ce qui fait 1 073 741 824 combinaisons possibles par périphérique, dans le doute, faites mois plaisir : ne raccordez quand même pas des trucs qui craignent genre votre robinet à gaz :p
- Avec ce montage, vous êtes sujet aux parasites radio, si il y en a beaucoup dans votre environnement, le signal peut être parfois mal capté (même si il est envoyé 5 fois et qu’on utilise le codage de Manchester ce qui réduit fortement le risque)
Le matériel requis
Si vous avez suivis le précédent tuto sur la radio, vous devriez déjà tout avoir :
- Un raspberry PI modèle A ou B ~30€
- Un set de 3 prises chacon + télécommande (~30€, vous pouvez acheter une prise seule mais ça coûte super cher (~20€ la prise), autant grouper)
- Un émetteur RF 433Mhz (j’ai acheté le mien 15€ mais je me suis fait arnaquer, vous pouvez en trouver à beaucoup moins cher, par exemple à 3€ ici ou sur ebay)
Ce qui nous fait un coût domotique entre 30€ et 65€ par la, en fonction du nombre de machines que vous voulez commander et des prix que vous trouvez sur le net.
Notez que par la suite si vous souhaitez équiper d’autres pièces vous n’aurez pas à racheter de Raspberry PI ni d’émetteur (à moins d’habiter un palace auquel cas le prix ne vous posera pas problème) du coup vous paierez entre 15€ et 30€ pour équiper une pièce supplémentaire (en fonction du nombre de prises, des réductions, des frais de ports etc…).
Le montage
Le montage rpi + émetteur 433 mhz a déjà été expliqué dans notre premier tuto sur RPI+radio, mais comme je suis un chic type et que j’adore faire des gribouillis, je répète le schéma ici :
nb : Une antenne de 17.3 cm serait la taille optimale (merci à Ju pour la précision)
Le code
Le code de l’interface web+programme C qui émet les signaux radio est téléchargeable ici :
http://projet.idleman.fr/domopi/data/hcc/hcc.zip
- Dé-zippez le code dans un répertoire var/www/hcc
- Faites un chmod 777 -R sur tous le dossier hcc (important sinon rien ne fonctionnera)
- Faites un chmod 7777 sur l’exécutable nommé radioEmission (important sinon l’interface web ne fonctionnera pas)
- Le script est installé !!
L’utilisation
Vous pouvez envoyer un signal de deux façon différentes :
En ligne de commande linux :
./var/www/hcc/radioEmission 0 12325261 1 on
0 = le numéro WiringPi du PIN du Raspberry relié a la carte émetteur 433mhz (ici zéro, qui correspond au pin physique 11 du rpi)
12325261 = Un code de télécommande que nous attribuons arbitrairement au raspberry PI, ca permet aux prises de n’obeir qu’a ce code et donc qu’a votre raspberry.
1 = code du recepteur (choisis arbitrairement, c’est ce qui permettra au recepteur de savoir si c’ets a lui qu’on donne l’ordre ou a un autre)
on = état de la prise souhaité on ou off
nb : Le ./ est obligatoire devant quand vous executez le programme depuis le repertoire courant, si vous ne le faite pas vous fisquez de tomber sur un « commande not found »
Depuis l’interface web :
qui en réalité se contente d’exécuter la commande précédente (pourquoi faire compliqué) lorsque vous cliquez sur un item.
Pour vous connecter, les logins et mot de passe par défaut sont :
login : admin
mdp : admin
Ces identifiants peuvent être changé en éditant le fichier constant.php situé dans le répertoire hcc
Notez bien que vous ne pourrez rien piloter tant que les prises n’auront pas fait l’apprentissage du signal que vous envoyez (expliqué un peu plus ci dessous).
La liaison émetteur/récepteur
Les prises électriques Chacon ont un module d’apprentissage de signaux intégré, ce qui veux dire que lorsque vous les brancherez, elles « écouteront » pendant 5 secondes les signaux envoyés et reconnaîtrons ces signaux pas la suite.
Il vous faut donc pour chaque prise, la brancher et émettre le signal avec le Raspberry PI (via l’interface web disponible sur http://wotre.raspberry.pi/hcc ou par ligne de commande) avant 5 secondes pour qu’elle soit par la suite liée au signal.
Vous reconnaîtrez des clic clac successifs vous avertissant que la télécommande a bien reçu votre signal et l’a mémorisé.
En résumé
Il y a donc trois façons de piloter l’installation :
pilotage classique : je passe par les interrupteurs Chacon (télécommande ou télécommande sous forme d’interrupteur) pour allumer/éteindre mes lampes
pilotage par interface web : j’allume/éteint mes lampes via une interface web sur navigateur internet de tablettes/pc/smartphone
pilotage par reconnaissance vocale :Lorsque je prononce une phrase définie, mon pc envoie directement une requête au Raspberry PI qui allume ou éteint les lampes
Pour ce dernier, je me suis contenté de mélanger mon tuto sur la reconnaissance vocale (raspberry pi 09). Je vous invite à faire la même chose, le résultat est plutôt propre.
Pour configurer yuri selon votre interface :
- Créez vos périphériques sur l’interface
- Allez dans configuration, puis onglet divers
- Cliquez sur télécharger le xml
- Le XML est à placer dans le repertoire \macros\ de votre YURI
le mot clé de reconnaissance vocale, sera le nom que vous avez donné au périphérique