Les objets connectés pour maison intelligente sont fascinants, mais souvent coûteux. Grâce à un Raspberry Pi et quelques composants abordables, connectez facilement vos appareils existants à Internet de manière économique.
Rendre votre porte de garage intelligente est un excellent projet d'initiation pour contrôler le monde physique avec un Raspberry Pi. Imaginez ouvrir votre garage automatiquement en arrivant chez vous, comme Batman !
Pour automatiser votre porte de garage, procurez-vous :
Une fois le matériel réuni, passons à l'action.
La plupart des moteurs de porte de garage acceptent un déclencheur externe, comme un bouton-poussoir. En appuyant dessus, un circuit se ferme brièvement, ordonnant au moteur de s'ouvrir ou se fermer.
Nous remplaçons ce bouton par un relais contrôlé par un script Python sur le Raspberry Pi. Ce script pilote le relais via votre réseau local.
Établissez quatre connexions minimum entre le Pi et la carte relais. Pour un Pi Zero, soudez un en-tête GPIO ou utilisez des câbles jumper (recommandé pour la réutilisabilité).
Débutants au GPIO ? Lisez notre guide complet sur les broches GPIO.
Vérifiez et retirez le cavalier VCC-JD-VCC si présent sur la carte relais.

Avec tout éteint, connectez :
Pour plusieurs portes, ajoutez des connexions sur IN2, IN3, etc., vers d'autres GPIO libres.

Raspbian inclut Python ; installez la bibliothèque GPIO :
sudo apt-get update
sudo apt-get -y install python3-rpi.gpioCréez un dossier pour le script :
mkdir ~/garagedoor
cd ~/garagedoorTéléchargez Bottle pour le serveur web léger :
wget https://bottlepy.org/bottle.pyVoici un script Python simple pour contrôler le relais via HTTP :
#!/usr/bin/env python3
# Script pour contrôler la porte de garage
import RPi.GPIO as GPIO
import time
from bottle import route, run
# Configuration GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)
GPIO.setup(11, GPIO.OUT)
GPIO.output(7, True)
GPIO.output(11, True)
@route('/')
def index():
return 'Serveur actif.'
@route('/garagedoor/<doornum>')
def garagedoor(doornum='0'):
if doornum == '0':
return 'Numéro de porte non spécifié.'
elif doornum == '1':
GPIO.output(7, False)
time.sleep(0.8)
GPIO.output(7, True)
return 'Porte 1 activée.'
elif doornum == '2':
GPIO.output(11, False)
time.sleep(0.8)
GPIO.output(11, True)
return 'Porte 2 activée.'
run(host='0.0.0.0', port=1234)Créez le fichier :
nano door.pyCollez le script, sauvegardez (Ctrl+O, Entrée, Ctrl+X).
Testez :
python3 door.pyAccédez à IP_du_Pi:1234 depuis un navigateur sur le réseau. Ajoutez /garagedoor/1 pour tester (relais clique).

Consultez le manuel du moteur pour les bornes externes. Utilisez un câble à deux conducteurs vers les bornes NO (normalement ouvertes) du relais.


Testez via navigateur : la porte devrait s'activer.
Ajoutez au fichier /etc/rc.local (avant exit 0) :
nohup python3 /home/pi/garagedoor/door.py &Ce script n'a pas d'authentification : quiconque connaît l'IP peut l'activer. Limitez l'accès au réseau local (pare-feu, pas de port forwarding).
Ajoutez un mot de passe basique ou utilisez un VPN. Voir nos conseils de sécurisation.
Exposez le serveur (sécurisé !) pour IFTTT : associez Alexa, géolocalisation auto, etc.

Téléchargez notre guide IFTTT avancé.
Pour Siri : créez un raccourci URL vers /garagedoor/1.

Les relais contrôlent tout appareil secteur : café, lumières, clim. Inspirez-vous de nos projets ventilateur et autres idées DIY.
[]