Cet article est le premier d’une longue série sur la mise en place d’une centrale domotique pour piloter des périphériques de ma maison (volets roulants, détecteurs de mouvements, lumière, …). Je commencerais par quelques expérimentations autour de la technologie RF avec le Raspberry Pi ou l’Arduino puis par la mise en place d’une interface Web de contrôle. Mais ça, ce n’est pas pour demain
Je possède des volets électriques Somfy à mon domicile. Seulement, ces volets ne sont pas pilotables sans fils mais uniquement via les interrupteurs muraux filaires. J’ai donc installé des micro-récepteurs sans fils afin de pouvoir les piloter à distance. Les micro-récepteurs que j’ai sélectionné ont l’avantage de ne pas modifier l’installation existante et de pouvoir être masqués derrière les interrupteurs existants. J’ai donc choisi les récepteurs de la marque OTIO disponibles sur Internet ou dans les GSB pour moins de 100€ le pack. Au niveau des caractéristiques, c’est du classique RF 433 Mhz avec une portée de 70 mètres. Ce n’est certes pas ce qui se fait de mieux mais le rapport qualité/prix est intéressant. L’autre avantage c’est que les récepteurs sont pilotables à l’aide d’un simple module RF connecté sur un Raspberry ou un Arduino.
Du côté Hardware
Pour ce premier tutorial, je vais vous présenter comment récupérer, à l’aide d’un récepteur RF, les codes des commandes haut/bas de la télécommande permettant respectivement d’ouvrir et fermer les volets roulants et comment les envoyer aux différents récepteurs à l’aide d’un transmetteur RF connecté à un Raspberry Pi. Pour cela, j’ai utilisé :
- Un Raspberry Pi (Modèle B rev. 1 – RAM 256 Mb),
- Des modules émetteurs/récepteurs RF 433 Mhz (Amazon) :
- Récepteur référencé XY-MK-5V
- Emetteur référencé XY-FST
- 2 pins fournissant du 5v,
- 2 pins fournissant du 3,3v,
- 5 pins pour la terre (Ground)
- et 17 pins pour les entrées et sorties (GPIO).
- La broche 13 (GPIO 21/27 suivant la version du Raspberry) pour l’entrée du récepteur,
- La broche 11 (GPIO 17) pour l’entrée de l’émetteur.
Pins Raspberry Pi Pins Récepteur 433 Mhz
GND GND
5V VCC
GPIO 21/27 Data
Pins Raspberry Pi Pins Emetteur 433 Mhz
GND GND
5V VCC
GPIO 13 Data
Il est également préférable, pour gagner en portée, d’ajouter un petit bout de fil sur le connecteur ANT des modules. La taille idéale étant de 17,3cm ou de 33cm en spirales. A noter que si vous utilisez déjà ces broches pour d’autres montages, il est possible d’en choisir d’autres, vous n’aurez qu’à le spécifier au niveau du code. Une photo du montage une fois terminé (à noter, l’ajout de la LED permettant de savoir si le montage est sous tension). Du côté software Une fois votre montage réalisé, il ne reste plus qu’à installer les logiciels permettant d’envoyer et recevoir des signaux RF en manipulant les états des ports GPIO. Pour cela, nous allons installer :- La librairie WiringPi permettant de manipuler les GPIO en ligne de commande,
- La librairie 433Utils regroupant des outils pour s’interfacer avec les modules RF,
- Exécuter RFSniffer afin d’obtenir les codes de la télécommande actuelle,
- Puis exécuter le code permettant d’envoyer les ordres RF vers les récepteurs OTIO.
- 959542784 pour la fermeture,
- 892433920 pour l’ouverture.
- Piloter ses prises et éclairages Otio avec l’arduino
- Decode 433 Mhz signal with Raspberry Pi and a 433 Mhz receiver
- 433 Mhz RF communication between Arduino & Raspberry Pi
- Optimiser la portée du signal RF
- Librairie WiringPi
- Librairie 433Utils