Accueil

Comment automatiser votre porte de garage avec IFTTT et Raspberry Pi

Added 2018-10-15


Les gadgets pour la maison intelligente sont cool mais peuvent coûter cher. Avec un Raspberry Pi et un composant ou deux, il est facile et peu coûteux de connecter des périphériques existants à Internet.

Rendre votre porte de garage accessible à 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 quand ils passent dans leur allée?

Ce dont vous aurez besoin

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

  • Un moteur de porte de garage pouvant supporter 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 Comment installer un système d'exploitation sur un Raspberry Pi comment installer Raspbian sur votre Raspberry Pi                                                                                                                                      Voici comment installer un système d’exploitation sur votre Raspberry Pi et comment cloner votre configuration idéale pour une récupération après sinistre rapide.                Comment installer un système d'exploitation sur un Raspberry Pi Lire la suite                         ).
  • UNE carte d'extension relais , qui peut trouver trouver sur Amazon.
  • Une alimentation 2A pour le Raspberry Pi. Un modèle moins bien noté peut avoir des difficultés à piloter la carte de relais ainsi que le Pi.
  • Quatre câbles de liaison (plus un pour chaque porte supplémentaire que vous souhaitez contrôler).
  • Suffisamment de câble à deux conducteurs pour passer entre le moteur Pi et le moteur de la porte de garage. Un câble 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 pour que les installateurs puissent connecter un simple bouton-poussoir quelque part dans la maison pour ouvrir ou fermer la porte sans utiliser la télécommande ordinaire. 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 d'arrêter.

Vous allez utiliser un relais à la place d'un bouton externe. Fermer brièvement le relais ferme le circuit, exactement comme si un bouton de déclenchement avait été enfoncé. Un script Python exécuté sur le Raspberry Pi vous permettra de contrôler le relais, et donc la porte, à partir de votre réseau domestique.

Étape 1: Connectez le Raspberry Pi au relais

Vous établissez au moins quatre connexions entre votre Raspberry Pi et la carte relais. Si vous utilisez un Pi Zero, vous devrez soit souder directement les connexions, soit souder un en-tête GPIO au Pi et utiliser des câbles de liaison pour les connexions. Cette dernière option est recommandée car si vous souhaitez un jour déconnecter la carte de relais et utiliser le Raspberry Pi pour autre chose, vous n'avez pas besoin de dissoudre vos connexions. Le plus grand modèle Pis dispose déjà de broches d’entête pour la connexion de câbles de démarrage.

Avant de tout brancher, vérifiez si votre carte relais dispose d’un cavalier reliant les broches VCC et JD-VCC. Si c'est le cas, supprimez-le, car vous devrez alimenter VCC et JD-VCC séparément.

Carte relais JD VCC à VCC cavalier

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

  • Commencez par connecter la broche 2 Pi (rail 5V) au JD-VCC de la carte de relais.
  • Connectez la broche 1 ou 17 de Pi (rail 3,3 V) à VCC sur la carte de relais.
  • Connectez la broche 6 de Pi (GND) à GND sur la carte de relais.
  • Enfin, connectez Pi Pin 7 (GPIO 4) à IN1 sur la carte de 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 de relais et d'autres broches d'entrée / sortie GPIO libres sur le Pi.

Raspberry Pi connecté à une carte relais

Étape 2: Installez 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 installe python-rpi.gpio

Créez maintenant un nouveau dossier dans votre répertoire personnel, dans lequel placer le script Python permettant de contrôler les relais:


mkdir ~ / garagedoor
cd ~ / garagedoor

Enfin, téléchargez bouteille , 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 de 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
de la route d'importation de bouteille, exécuter, modèle

# Configurer les broches GPIO
GPIO.setmode (GPIO.BOARD)
GPIO.setup (7, GPIO.OUT)
GPIO.setup (11, GPIO.OUT)
GPIO.output (7, True)
GPIO.output (11, True)

# Gérer les requêtes http à l'adresse racine
@route('/')
def index ():
 retour 'Va-t'en.'

# Traiter les requêtes http à / garagedoor
@route ('/ garagedoor /: doornum')
def garagedoor (doornum = 0):
 si Doornum == '0':
 return 'Aucun numéro de porte spécifié'

 elif doornum == '1':
 GPIO.output (7, False)
 temps.sommeil (.8)
 GPIO.output (7, True)
 retour 'La porte numéro 1 a été cyclée.'

 elif doornum == '2':
 GPIO.output (11, False)
 temps.sommeil (.8)
 GPIO.output (11, True)

 retour 'Porte numéro 2 cyclée'

run (hôte = '0.0.0.0', port = 1234)

Sur votre Raspberry Pi, créez un nouveau fichier Python avec nano:


nano door.py

Copiez et collez le script ci-dessus dans le document vide. Quitter et sauvegarder avec CTRL + X , puis Y , et Entrer confirmer.

Maintenant, testez le script en l'exécutant:


python door.py

Si tout fonctionne, vous verrez un message comme celui-ci:

Message en cours d'exécution du script Python

Si vous recevez des messages d'erreur, vérifiez que tout est bien collé dans le fichier et qu'aucun autre serveur Web tel qu'Apache ne s'exécute sur le même port (cela interfère avec le serveur créé par le script).

En supposant qu’il n’y ait aucune erreur, accédez à un navigateur Web situé sur un autre ordinateur du même réseau. 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 tapez 11.22.33.44:1234  dans votre navigateur.

Si tout fonctionne, vous verrez un message vous demandant de partir!

Maintenant, ajoutez / garagedoor / 1  après l'adresse IP et le numéro de port, comme ceci: 11.22.33.44:1234/garagedoor/1

Frappé Entrer , et vous devriez entendre le premier relais de 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ù un contrôleur externe peut être connecté. Branchez le câble à deux fils et connectez l’autre extrémité du câble aux bornes à vis de la carte à relais.

Connexions de la carte relais au moteur de la porte

Il y a trois terminaux par relais. Utilisez la paire normalement ouverte, comme indiqué dans l'image.

Connexion moteur porte de garage

Tout tester à nouveau à partir du navigateur Web (vous pouvez simplement actualiser la page). Si tout se passe bien, le relais cliquera une ou deux fois et votre porte de garage devrait commencer à s'ouvrir.

Étape 5: Configurez le script pour charger automatiquement

Si votre Raspberry Pi redémarre pour une raison quelconque, telle qu'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 et enregistrez le fichier lorsque vous avez terminé.

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

Cet exemple de script Python est dépourvu de sécurité. 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 même si personne ne sait que votre script est là, personne ne le trouvera, mais la sécurité à travers l’obscurité a été maintes fois montrée comme une mauvaise idée.

Un système d'authentification complet dépasse le cadre de ce tutoriel, mais une solution simple en matière de sécurité consiste à ne pas rendre votre Pi accessible en dehors de votre réseau domestique.

Contrôler votre porte de garage avec IFTTT ou Siri

Si vous choisissez de rendre votre Pi accessible depuis l’Internet ouvert, vous pouvez contrôler votre porte de garage à partir de services tels que Si ça alors ça  (IFTTT). Par exemple, vous pouvez combiner les services Alexa et Webhooks IFTTT pour ouvrir votre porte de garage lorsque vous dites une phrase de déclenchement à un Amazon Echo.

IFTTT Alexa et applet webhook

Si vous conduisez une voiture avec un service connecté IFTTT, vous pouvez créer un applet pour ouvrir la portière lorsque votre voiture approche de votre propriété, à la manière de Batman.

Un raccourci Siri est un autre moyen de déclencher votre porte de garage nouvellement connectée à Internet. Mettre un simple raccourci dans vos widgets signifie que vous pouvez oublier de porter des clés gênantes et ouvrez votre garage avec un glissement et appuyez sur votre iPhone.

Siri raccourci pour appeler le script de porte de garage

Au-delà du garage: plus de projets DIY Smart Home

Les cartes relais peuvent commuter la tension du secteur et peuvent donc contrôler la plupart des appareils ménagers. Ce projet peut servir de base pour l’ajout intelligent de presque tout ce qui est alimenté. Les machines à café, l'éclairage, les climatiseurs sont tous prêts à être automatisés avec un Raspberry Pi et certains relais.






Nuage de tags

Choix de L'éditeur


Thomas Becket

Je suis un écrivain indépendant qui couvre la programmation et les logiciels.
Je suis étudiant en informatique et je m'intéresse à la programmation, aux logiciels et à la technologie
Gadgets technologiques et critiques 2019