FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Comment automatiser votre porte de garage avec IFTTT et Raspberry Pi

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 ?

 ce dont vous aurez besoin

Pour automatiser votre porte de garage, vous aurez besoin de :

  • Un moteur de porte de garage qui peut prendre un déclencheur externe.
  • Un Raspberry Pi (tout modèle) connecté à Internet. Ce tutoriel suppose que votre Pi exécute le système d'exploitation Raspbian (si ce n'est pas le cas, consultez notre article sur l'installation de Raspbian sur votre Raspberry Pi).
  • Une carte d'extension de relais, que vous pouvez trouver sur Amazon.
  • Une alimentation 2A pour le Raspberry Pi. Un modèle moins bien noté peut avoir des difficultés à piloter la carte relais ainsi que le Pi.
  • Quatre câbles de démarrage (plus un de plus pour chaque porte supplémentaire que vous souhaitez contrôler).
  • Suffisamment de câble à deux conducteurs pour atteindre entre le Pi et le moteur de la porte de garage. Un câble de haut-parleur bon marché est idéal, mais un câble téléphonique ou Ethernet peut également fonctionner.

Une fois que vous avez rassemblé ces composants, il est temps de commencer.

Comment fonctionne cette porte de garage automatisée

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.

Étape 1 :Connectez le Raspberry Pi au relais

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.

Comment automatiser votre porte de garage avec IFTTT et Raspberry Pi

Lorsque tout est éteint, connectez la carte relais à votre Pi comme suit :

  • Commencez par connecter Pi Pin 2 (rail 5V) au JD-VCC sur la carte relais.
  • Connectez Pi Pin 1 ou Pin 17 (rail 3.3V) à VCC sur la carte relais.
  • Connectez Pi Pin 6 (GND) à GND sur la carte relais.
  • Enfin, connectez Pi Pin 7 (GPIO 4) à IN1 sur la carte relais. C'est la connexion qui commute le relais.

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.

Comment automatiser votre porte de garage avec IFTTT et Raspberry Pi

Étape 2 :Installer les dépendances sur le Raspberry 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 

Étape 3 :Créer le script de contrôle

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 :

Comment automatiser votre porte de garage avec IFTTT et Raspberry Pi

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.

Étape 4 :Connectez le relais au moteur de la porte

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.

Comment automatiser votre porte de garage avec IFTTT et Raspberry Pi

Il y a trois bornes par relais --- utilisez la paire normalement ouverte comme indiqué sur l'image.

Comment automatiser votre porte de garage avec IFTTT et Raspberry Pi

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.

Étape 5 :Définissez le script sur Autoload

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é.

Considérations de sécurité à garder à l'esprit

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.

Contrôler votre porte de garage avec IFTTT ou Siri

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.

Comment automatiser votre porte de garage avec IFTTT et Raspberry Pi

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.

Comment automatiser votre porte de garage avec IFTTT et Raspberry Pi

Au-delà du garage :plus de projets de maison intelligente DIY

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.


[]