Ce premier article est consacré au pilotage de télécommandes RF 433 Mhz.
Ces prises ont l'avantage de ne pas être coûteuses.
Exemple: 19,90 euros chez Leroy Merlin
La code de la télécommande est composé de 5 jumpers
Les prises sont elles codées sur 4 digits (A/B/C/D) plus le code de la télécommande.
Le principe général est de fournir à SARAH une interface HTTP pour piloter ces prises.
Pour cela il suffit d'ajouter au raspberry un module émetteur/récepteur (on aura besoin que de l'émetteur)
Vous trouverez ça sur ebay pour environ 3 euros:
Pour la connectique j'ai utilisé des cables "jumper" femelle/femelle de ce type. (Bien pratique)
Pour le branchement
Emetteur RF 433 => Wiring Pi GPIO Raspberry
VCC => Pin 1 (+3,3V)
GND => Pin 6 (GND)
DATA => Pin 0 (Data)
Voila pour la partie Hardware
1] Installer la librairie pour gérer le GPIO du Raspberry (wiringPi).
sudo apt-get install git-core
sudo apt-get update
sudo apt-get upgrade
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build
2] Installer le serveur http (lighttd) + Php.
sudo apt-get install lighttpd
sudo apt-get install php5-common php5-cgi php5
sudo lighty-enable-mod fastcgi-php
sudo service lighttpd force-reload
sudo chown www-data:www-data /var/www
sudo chmod 775 /var/www
sudo usermod -a -G www-data pi
3] Installer le code permettant l’émission du signal (Téléchargement)
cd /var/www/
sudo unzip api.zip
4] Tester par ligne de commande
./var/www/api/rf/rf433/send <pin> <codeDeLaTelecommande> <codeDeLaPrise> <action>
<pin> = numéro de la pin (WiringPi) sur notre schéma c'est 0
<codeDeLaTelecommande> = le code que vous avez choisit sur la télécommande (cf jumpers de la télécommande)
<codeDeLaPrise> = le code associé à la prise A/B/C ou D (cf jumpers de la prise)
<action>0 = Eteindre / 1= Allumer
Exemple: Pour allumer la prise B
4] L'api send.php (cf Téléchargement) permettra d'utiliser la commande en http. (cf pièce_jointe)
Editer le fichier /etc/sudoers (via la commande sudo visudo) et ajouter la ligne suivante en fin de fichier
sudo ./var/www/api/rf/rf433/send 0 11111 B 1
%www-data ALL=(ALL) NOPASSWD: ALL