blog i69

pense-bête, contre la perte de données de mes sites favoris...

Raspberry Pi - Gérer les appareils électriques

Jeudi 05 février 2015 - Aucun commentaire

1) Le matériel :
Des prises télécommandées.
Un émetteur 433 Mhz.


2) Le montage :
Branchez l'émetteur RF 434Mhz au Raspberry Pi selon le schéma suivant :




3) logiciel :
Installez tout d'abord la librairie WiringPi en suivant les étapes suivantes :
- Installer Git :
sudo apt-get install git-core

- Téléchargez WiringPi avec la commande :
git clone git://git.drogon.net/wiringPi

- Puis installez WiringPi en vous plaçant dans le répertoire de WiringPi et en exécutant la commande ./build :
cd wiringPi
./build

- Installez maintenant rcswitch-pi avec la commande git : (vérifiez que vous êtes bien sorti du répertoire de WiringPi, si non, un "cd ../")
git clone https://github.com/r10r/rcswitch-pi.git

- Installez rcswitch-pi en allant dans le répertoire de rcswitch-pi et en exécutant la commande make :
cd rcswitch-pi
make


4) Comprendre le fonctionnement de rcswitch-pi et des prises :
Avec un tournevis, ouvrons une prise télécommandée.

Par exemple pour la prise télécommandée ci-dessus, pour allumer cette prise nous allons taper la commande :
(en étant dans le répertoire de rcswitch-pi bien évidemment)

./send 01111 4 1

Explication !
La première partie de la commande ( "01111" ) correspond au codage de la prise ( codage qui permet d'éviter les interférences si vous avez des voisins qui ont les mêmes... ). Pour traduire le codage que vous avez utilisez, prenez 0 quand l'interrupteur est en bas, et 1 quand il est en haut. La deuxième partie ( "4" ) est le numéro de la prise ( sachant que vous avez 4 prises fournies, la prise A correspond au code 1, la B au 2, etc... ! ). Et la troisième partie ( "1" ) correspond à l'état que nous voulons donner à la prise ( 0 pour "off" => éteindre la prise, 1 pour "on" => allumer la prise ).

5) Lancer une commande depuis une interface web
Ajouter dans le fichier sudoers ( /etc/sudoers en général ) de votre Raspberry la ligne suivante en fin de fichier :

www-data ALL=(ALL) NOPASSWD:ALL

Pour que l'utilisateur www-data ait les droits pour lancer une commande système !

Ensuite, il suffit de créer un fichier php, par exemple "prise.php", que l'on place dans le répertoire "www" du Rasp, avec le code suivant :

$status = $_GET['status'];
$numero_prise = $_GET['numero_prise'];
exec('sudo /home/pi/rcswitch-pi/./send 01111 '.$numero_prise.' '.$status);
Puis il suffit de faire une requête à l'URL suivante : ( en étant sur le même réseau que le rasp évidemment )

http://IP_RASP/prise.php?status=1&numero_prise=4

Ce qui aura pour effet d'allumer la prise n°4 ! ( la prise D)

Tags de l'article : , ,