Petit montage un peu rustique mais relativement simple pour piloter des prises 220V depuis le raspberry pi.
Avantage : pas cher et pas d'alimentation externe.
Inconvénient : utilise 6 GPIO (rô, c'est abusé..., ok je ferai mieux la prochaine fois)

Bien sur, Il y a des solutions beaucoup plus classe en utilisant un émetteur / récepteur RF 433 MHz mais bon je suis tombé sur ces trois prises + télécommande pour 13,60 € au magasin de bricolage du coin. Quand j'ai vu que la télécommande était alimentée en 3v par une pile au lithium je me suis dit que le GPIO pourrait supporter ça.

Prises

Teleco1

Après démontage le circuit de la télécommande se présente comme ceci :

Circuit

Comment câbler ça ?

L'alimentation :

Circuit2

Les boutons :

Pour simuler la pression sur un bouton, il faut établir le contact entre le point central et la partie périphérique, pendant une petite seconde. Un bouton pour allumer, un bouton pour éteindre, x3 prises. Des transistors PNP devraient faire l'affaire :

- en alimentant la base avec le GPIO
- en soudant le collecteur sur la partie centrale
- en soudant l'émetteur sur la partie périphérique
- la résistance est là pour limiter le courant dans le GPIO

transistor PNP

Pour les transistors, je n'ai pas la référence, j'ai fait les fonds de tiroir.

Voilà le résultat, oui, je sais ça fait peur, faut voir ça en 3D, les fils ne se touchent pas.

Circuit3

Le programme :

J'ai utilisé WiringPi parce que je connaissait déjà, un petit script comme celui-ci et le tour est joué :

#!/bin/bash
# GPIO2 (broche 13) = PRISE 3 ON
# GPIO3 (broche 15) = PRISE 3 OFF
# GPIO4 (broche 16) = PRISE 2 ON
# GPIO5 (broche 17) = PRISE 2 OFF
# GPIO6 (broche 22) = PRISE 1 ON
# GPIO13 (broche 21) = PRISE 1 OFF

#echo $1

case $1 in
3_ON)
# prise 3 on
sudo /home/pi/wiringPi/gpio/gpio mode 2 out
sudo /home/pi/wiringPi/gpio/gpio write 2 1
sleep 1
sudo /home/pi/wiringPi/gpio/gpio write 2 0
;;
3_OFF)
# prise 3 off
sudo /home/pi/wiringPi/gpio/gpio mode 3 out
sudo /home/pi/wiringPi/gpio/gpio write 3 1
sleep 1
sudo /home/pi/wiringPi/gpio/gpio write 3 0
;;
2_ON)
# prise 2 on
sudo /home/pi/wiringPi/gpio/gpio mode 4 out
sudo /home/pi/wiringPi/gpio/gpio write 4 1
sleep 1
sudo /home/pi/wiringPi/gpio/gpio write 4 0
;;
2_OFF)
# prise 2 off
sudo /home/pi/wiringPi/gpio/gpio mode 5 out
sudo /home/pi/wiringPi/gpio/gpio write 5 1
sleep 1
sudo /home/pi/wiringPi/gpio/gpio write 5 0
;;
1_ON)
# prise 1 on
sudo /home/pi/wiringPi/gpio/gpio mode 6 out
sudo /home/pi/wiringPi/gpio/gpio write 6 1
sleep 1
sudo /home/pi/wiringPi/gpio/gpio write 6 0
;;
1_OFF)
# prise 1 off
sudo /home/pi/wiringPi/gpio/gpio mode 13 out
sudo /home/pi/wiringPi/gpio/gpio write 13 1
sleep 1
sudo /home/pi/wiringPi/gpio/gpio write 13 0
;;
*)
echo $1 ": parametre inconnu"
;;
esac

Je l'ai nommé telecommande.sh

Exécution :
Pour allumer la prise 1 : ./telecommande.sh 1_ON
Pour l'éteindre : ./telecommande.sh 1_OFF

Voilà, il n'y a plus qu'à faire une petite interface web, ou à utiliser le script dans le cron du "pi".

Pour info j'ai essayé de lancer le script avec JASPER (reconnaissance vocale), mais ce n'est pas satisfaisant, pour résumé JASPER ne comprend pas grand chose (ou c'est mon accent anglais ?) par exemple si je lui dis "JASPER, light on" il comprend "white on", même avec un bon micro. Bref, j'encourage ces auteurs à faire progresser le système.

Remarque : Veillez à utiliser les prises dans les conditions décrites dans la notice. Vu le prix mieux vaut y aller doucement sur l'intensité.