Les gadgets pour la maison intelligente sont cool mais peuvent être coûteux. Avec un Raspberry Pi et un composant ou deux, il est facile et peu coûteux de connecter des appareils existants à Internet.
Rendre votre porte de garage compatible avec Internet est une excellente introduction pour apprendre à contrôler le monde réel avec un Pi. Et soyons honnêtes, qui ne veut pas se sentir un peu comme Batman et avoir son garage ouvert tout seul lorsqu'il entre dans son allée ?
Pour automatiser votre porte de garage, vous aurez besoin de :
Une fois que vous avez rassemblé ces composants, il est temps de commencer.
La plupart des moteurs de porte de garage peuvent être déclenchés pour s'ouvrir ou se fermer via une entrée externe. Les fabricants incluent ces entrées afin que les installateurs puissent brancher un simple bouton-poussoir quelque part dans la maison pour ouvrir ou fermer la porte sans utiliser la télécommande habituelle. Lorsqu'un bouton de déclenchement est enfoncé et relâché, il ferme momentanément un circuit qui indique au moteur de démarrer ou de s'arrêter.
Vous allez utiliser un relais à la place d'un bouton externe. La fermeture brève du relais fermera le circuit, exactement comme si un bouton de déclenchement avait été enfoncé. Un script Python s'exécutant sur le Raspberry Pi vous permettra de contrôler le relais, et donc la porte, depuis votre réseau domestique.
Vous établirez au moins quatre connexions entre votre Raspberry Pi et la carte relais. Si vous utilisez un Pi Zero, vous devrez soit souder les connexions directement, soit souder un en-tête GPIO au Pi et utiliser des fils de connexion pour les connexions. Cette dernière option est recommandée car si jamais vous souhaitez déconnecter la carte relais et utiliser le Raspberry Pi pour autre chose, vous n'aurez pas à dessouder vos connexions. Le plus grand modèle Pis a déjà des broches d'en-tête pour connecter des câbles de démarrage enfichables.
Si vous débutez dans l'utilisation du GPIO, assurez-vous de lire notre article Tout ce que vous devez savoir sur les broches GPIO du Raspberry Pi.
Avant de tout brancher, vérifiez si votre carte relais a un cavalier reliant les broches VCC et JD-VCC ensemble. Si c'est le cas, retirez-le, car vous devrez alimenter VCC et JD-VCC séparément.
Lorsque tout est éteint, connectez la carte relais à votre Pi comme suit :
Si vous avez plus d'une porte de garage, ou si vous souhaitez ajouter un contrôle pour les portails électriques, vous devez ajouter des connexions supplémentaires entre IN2, IN3, etc. sur la carte relais et d'autres broches d'entrée/sortie GPIO libres sur le Pi.
Raspbian est livré avec Python pré-installé, mais vous devrez ajouter la bibliothèque GPIO. Tapez ce qui suit dans la fenêtre du terminal sur votre Pi :
sudo apt-get update
sudo apt-get -y install python-rpi.gpio
Créez maintenant un nouveau dossier dans votre répertoire personnel, où mettre le script Python qui va contrôler les relais :
mkdir ~/garagedoor
cd ~/porte de garage
Enfin, téléchargez bottle, un framework léger qui créera un serveur web simple sur votre Pi :
wget https://bottlepy.org/bottle.py
Voici un script Python très simple pour contrôler la carte relais via HTTP :
# Script Python pour contrôler la porte de garage
# Charger les bibliothèques
importer RPi.GPIO en tant que GPIO
temps d'importation
à partir de la route d'importation de la bouteille, de l'exécution, du modèle
# Configurer les broches GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)
GPIO.setup(11, GPIO.OUT)
GPIO.sortie(7, Vrai)
GPIO.sortie(11, Vrai)
# Gérer les requêtes http à l'adresse racine
@route('/')
def index() :
retour 'Partez.'
# Gérer les requêtes http vers /garagedoor
@route('/portegarage/:numporte')
def porte de garage(doornum=0):
si numporte =='0' :
return 'Aucun numéro de porte spécifié'
elif numéro de porte =='1' :
GPIO.sortie(7, Faux)
temps.sommeil (.8)
GPIO.sortie(7, Vrai)
return 'Porte numéro 1 cyclée.'
elif numéro de porte =='2' :
GPIO.sortie(11, Faux)
temps.sommeil (.8)
GPIO.sortie(11, Vrai)
return 'Porte numéro 2 cyclée'
exécuter(hôte='0.0.0.0', port=1234)
Sur votre Raspberry Pi, créez un nouveau fichier Python en utilisant nano :
porte nano.py
Copiez et collez le script ci-dessus dans le document vide. Quittez et enregistrez avec CTRL+X , puis O , et Entrez pour confirmer.
Testez maintenant le script en l'exécutant :
porte python.py
Si tout fonctionne, vous verrez un message comme celui-ci :
Si vous obtenez des messages d'erreur, vérifiez que tout a été correctement collé dans le fichier et que vous n'avez pas d'autre serveur Web comme Apache en cours d'exécution sur le même port (cela interférera avec le serveur créé par le script).
En supposant qu'il n'y a pas d'erreurs, accédez à un navigateur Web sur un autre ordinateur du même réseau et, dans la barre d'adresse, tapez l'adresse IP de votre Pi suivie de deux-points et de 1234. Par exemple, si l'adresse IP de votre Raspberry Pi était 11.22.33.44, vous taperez 11.22.33.44:1234 dans votre navigateur.
Si tout fonctionne, vous verrez un message vous invitant à vous en aller !
Ajoutez maintenant /garagedoor/1 après l'adresse IP et le numéro de port, comme ceci :11.22.33.44:1234/garagedoor/1
Appuyez sur Entrée , et vous devriez entendre le premier relais sur la carte cliquer deux fois lorsqu'il se ferme et s'ouvre à nouveau. Si vous changez le 1 en 2 et rechargez la page, vous entendrez le deuxième cycle de relais.
Reportez-vous au manuel du moteur de votre porte de garage pour savoir où connecter un contrôleur externe. Fixez-y le câble à deux conducteurs et connectez l'autre extrémité du câble aux bornes à vis de la carte relais.
Il y a trois bornes par relais --- utilisez la paire normalement ouverte comme indiqué sur l'image.
Testez à nouveau tout depuis le navigateur Web (vous pouvez simplement actualiser la page). Si tout se passe bien, le relais cliquera plusieurs fois et votre porte de garage devrait commencer à s'ouvrir.
Si votre Raspberry Pi redémarre pour une raison quelconque, comme une panne de courant, votre script Python cessera de s'exécuter. Pour le charger au démarrage, ajoutez la ligne suivante à votre /etc/sc.local fichier (si vous êtes connecté à votre Pi en tant qu'utilisateur différent, modifiez Pi à votre nom d'utilisateur):
nohup python /home/pi/garagedoor/door.py &
Pour ce faire, utilisez votre éditeur de texte habituel, en enregistrant le fichier lorsque vous avez terminé.
Il n'y a aucune sorte de sécurité sur cet exemple de script Python --- toute personne pouvant accéder à votre Raspberry Pi via son adresse IP pourra ouvrir et fermer votre porte de garage. Il est tentant de penser que, simplement parce que personne ne sait que votre script est là, personne ne le trouvera, mais la sécurité par l'obscurité s'est avérée à maintes reprises être une mauvaise idée.
Un système d'authentification complet dépasse le cadre de ce didacticiel, mais une solution simple à la sécurité consiste à ne pas rendre votre Pi accessible en dehors de votre réseau domestique.
Voici quelques conseils supplémentaires pour sécuriser votre Raspberry Pi.
Si vous choisissez de rendre votre Pi accessible à partir d'Internet ouvert, vous pouvez contrôler votre porte de garage à partir de services tels que If This Then That (IFTTT). Par exemple, vous pouvez combiner les services Alexa et Webhooks IFTTT pour ouvrir votre porte de garage lorsque vous dites une phrase déclencheur à un Amazon Echo.
Si vous conduisez une voiture avec un service connecté IFTTT, vous pouvez créer une applet pour ouvrir la porte lorsque votre voiture s'approche de votre propriété, à la manière de Batman.
Vouloir en savoir davantage? Consultez notre guide téléchargeable pour utiliser IFTTT comme un pro.
Une autre façon de déclencher votre nouvelle porte de garage connectée à Internet consiste à utiliser un raccourci Siri. Mettre un raccourci très simple dans vos widgets signifie que vous pouvez oublier de transporter des clés ennuyeuses et à la place ouvrir votre garage d'un simple glissement et appuyez sur votre iPhone.
Les cartes relais peuvent commuter la tension du secteur et ainsi contrôler la plupart des appareils électroménagers. Ce projet peut servir de base pour ajouter de l'intelligence à presque tout ce qui a une alimentation électrique. Machines à café, éclairage, climatiseurs --- tous sont prêts à être automatisés avec un Raspberry Pi et quelques relais.
Vous êtes également intéressé par les moyens d'automatiser votre ventilateur de plafond ? Et assurez-vous de consulter ces autres projets de domotique intelligente pour plus d'idées.