Allumer des prises à distance
Nous allons donc reproduire notre tuto “éteindre/allumer une lampe avec le raspberry PI” mais cette fois ci, sans utiliser de fils.
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 peut traverser la plupart des murs/obstacles/matières il vous est donc possible de gérer des périphériques dans des endroits peu accessibles
FAIBLESSES :
- La portée de l’émetteur que l’on a acheté est d’environ 30M (edit: si vous prenez celle d’ebay et une bonne alimentaiotn externe et que vous fixez un fil d’antenne, vous pouvez atteindre 200m de portée), 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
- 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
- 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
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 :
- Dé-zippez le code dans un répertoire var/www/hcc
- Faites un sudo chown -R www-data:www-data /var/www/hcc
sur tous le dossier hcc (changez /var/www/hcc si votre chemin est différent, important sinon rien ne fonctionnera)
- Faites
sudo chown root:www-data /var/www/hcc/radioEmission
puis un
sudo chmod 4777 radioEmission
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’obéir qu’a ce code et donc qu’a votre raspberry.
1 = code du récepteur (choisis arbitrairement, c’est ce qui permettra au récepteur de savoir si c’est à 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 exécutez le programme depuis le répertoire courant, si vous ne le faite pas vous risquez 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 répertoire \macros\ de votre YURI
le mot clé de reconnaissance vocale, sera le nom que vous avez donné au périphérique
Si vous avez des problèmes de portées, de gros parasites, ou de mauvaise communication, pensez a faire ces deux choses :
- Prendre une alim externe pour les cartes radio et les l’alimenter au maximum de ce qu’elles sont capables de faire (cf la clause “voltage max” de fiche technique, souvent c’est entre 5 et 12V)
- Souder un fil conducteur de 17.3 cm a l’émetteur et au récepteur pour servir d’antennes.
Avec ces deux points, vous pouvez passer de quelques centimètres à plusieurs centaines de mètres de portée, la différence est vraiment flagrante.