Table des matières:

Ouvre-porte de garage Raspberry Pi 3: 15 étapes (avec photos)
Ouvre-porte de garage Raspberry Pi 3: 15 étapes (avec photos)

Vidéo: Ouvre-porte de garage Raspberry Pi 3: 15 étapes (avec photos)

Vidéo: Ouvre-porte de garage Raspberry Pi 3: 15 étapes (avec photos)
Vidéo: Гаражные ворота и датчик, управляемые Raspberry Pi (полные инструкции) 2024, Juillet
Anonim
Ouvre-porte de garage Raspberry Pi 3
Ouvre-porte de garage Raspberry Pi 3

J'ai créé cette instructable en 2014. Beaucoup de choses ont changé depuis lors. En 2021, j'ai mis à jour l'ouvre-porte de garage intelligent ici.

Utilisez un Raspberry Pi et un smartphone pour ouvrir, fermer et surveiller une porte de garage. L'ouverture et la fermeture de la porte sont sécurisées à l'aide de certificats auto-signés installés sur les téléphones portables de la famille. Si la porte du garage est ouverte alors qu'elle ne devrait pas l'être, envoyez un message texte (SMS) à un téléphone portable.

La porte de garage est utilisée en continu depuis la fin de 2014. Au fil des ans, j'ai essayé de maintenir les changements à jour. Il y a une annexe décrivant les modifications apportées à l'instructable.

Les objectifs de ce projet sont de:

  • Faire mon premier instructable - je n'avais pas l'intention de publier cela, mais j'ai reçu de nombreuses demandes
  • Ouvrir une porte de garage avec une télécommande standard
  • Ouvrez une porte de garage avec l'ouvre-porte de garage mural
  • Ouvrir une porte de garage avec un SmartPhone
  • Surveillez l'état de la porte de garage à distance via un téléphone portable ou un ordinateur portable (est-elle ouverte ou fermée ?)
  • Envoyer un message texte à mon téléphone portable si la porte est ouverte alors qu'elle devrait être fermée
  • Gardez la porte de garage sécurisée (par exemple, en cas de panne de courant, la porte ne doit pas s'ouvrir)
  • Ne permettez à personne d'autre sur le net d'ouvrir la porte (certificat SSL auto-signé bidirectionnel)
  • Utiliser le WiFi au lieu d'une connexion filaire
  • Utiliser un Raspberry Pi 3

La base de cette implémentation d'ouvre-porte de garage est dérivée de l'Instructable: Ouvre-porte de garage Raspberry Pi par quartarian. À l'origine, j'utilisais un modèle B+ Raspberry Pi, puis je suis passé à un Raspberry Pi 2 modèle B, et maintenant il utilise un Raspberry Pi 3.

J'ai utilisé un MacBook pour communiquer avec le Raspberry Pi, mais n'importe quel ordinateur peut être utilisé.

Il n'y a aucune raison impérieuse de construire cet appareil, mais c'était amusant. Il est plus rentable d'en acheter un. Un appareil similaire peut être acheté pour environ 130 USD.

  • Maître d'ascenseur 828LM
  • Chamberlain MyQ 129 $
  • Porte GoGo 179 $
  • Artisan 100 $

Remarques:

  • Le texte entre les piques, comme celui-ci ♣replace-this♣ doit être remplacé par une valeur réelle
  • Le texte bleu souligné par Arduino est un lien. Dans ce cas, il s'agit d'un lien vers une version arduino d'un ouvre-porte de garage.
  • J'ai essayé de créditer chaque source utilisée. Mes excuses pour toute omission. La plupart de ce document est basé sur le travail d'autres personnes.
  • $ indique une commande exécutée dans une fenêtre de terminal sur le MacBook et est généralement exécutée sur le Raspberry Pi

Étape 1: Rassemblez les pièces

Achetez ou rassemblez des pièces et des outils (prix en USD).

  • Raspberry Pi 3 Modèle B Newark Element14 35 $
  • Adaptateur secteur USB 5,2 V 2,5 A d'Amazon 9,99 $
  • Câble micro USB vers USB 6 pieds d'Amazon 7,99 $
  • Étui d'Amazon 6,99 $
  • SanDisk Ultra 16 Go microSDHC classe 10 avec adaptateur (SDSQUAN-016G-G4A) d'Amazon 8,99 $
  • Module de protection de relais SunFounder 2 canaux 5V pour Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - $6.79
  • 3x fils de connexion femelle-femelle. Acheté chez Fry pour 4,95 $.
  • DNS dynamique 40 $ par an pour 30 noms (dyn.com)
  • 1-Gang 18 cu. po. Old Work Heavy Work interrupteur mural et boîte de sortie, 3,12 $
  • Plaque murale blanche à brosse unique Ultra Pro, 7,88 $
  • SECO-LARM SM 226L, capteur de porte de garage, le prix varie considérablement, 9,99 $ sur Amazon avec livraison gratuite
  • 50 pieds de fil de thermostat solide, Home Depot ou Lowe's, ~ 20 $

Mon total: ~ 172,00 $

J'ai eu les pièces, outils et services suivants:

  • Câble Ethernet CAT5
  • Fil de petit calibre, 6 pi de long
  • Tournevis cruciforme
  • Pince à bec effilé
  • Coupe-boîtes
  • Tournevis à tête plate de bijoutier, nécessaire pour desserrer les vis sur le relais
  • MacBook (un PC peut être utilisé)
  • AT&T GigaPower (n'importe quel fournisseur d'accès Internet peut être utilisé)

Étape 2: Configurer Raspberry Pi sans moniteur ni clavier

Configurer Raspberry Pi sans moniteur ni clavier
Configurer Raspberry Pi sans moniteur ni clavier

Tous les projets Raspberry Pi nécessitent un certain type de configuration. J'aime utiliser le même ensemble d'instructions et, si nécessaire, avoir un endroit pour mettre à jour ces instructions.

Configurez Raspberry Pi à l'aide de l'instruction suivante:

Configurer Raspberry Pi sans moniteur ni clavier

L'instructable ci-dessus comprend des étapes facultatives dans l'annexe. Assurez-vous de faire l'étape:

Ajouter des certificats côté client aux serveurs Web

Arrêter Raspberry Pi

$ sudo shutdown -h 0

Une fois l'arrêt, supprimez

  • câble Ethernet
  • Câble série USB

Ceux-ci ne seront plus nécessaires. Utilisez le wifi, ssh et une fenêtre de terminal sur le Mac Book pour exécuter des commandes sur le Raspberry Pi.

Débranchez l'alimentation et rebranchez l'alimentation, et Raspberry Pi devrait redémarrer.

Étape 3: Installer Wiring Pi, Apache et PHP

Installer le câblage Pi

Ouvrez une fenêtre de terminal sur le Mac Book. Connectez-vous à Raspberry Pi, puis téléchargez, compilez et installez Wiring Pi. Ce logiciel permet de contrôler les broches GPIO. Voici un guide étape par étape:

wiringpi.com/download-and-install/

Voici une version condensée des instructions:

$ ssh pi@♣raspberry-pi-ip♣

mot de passe: ♣mot de passe♣ $ sudo apt-get install git-core $ git clone git://git.drogon.net/wiringPi $ cd câblagePi $ git pull origin $./build

Exécutez la commande gpio pour vérifier l'installation:

$ gpio -v

Version gpio: 2.29 Copyright (c) 2012-2015 Gordon Henderson Ceci est un logiciel gratuit avec ABSOLUMENT AUCUNE GARANTIE. Pour plus de détails, tapez: gpio -warranty Raspberry Pi Détails: Type: Modèle 2, Révision: 1.1, Mémoire: 1024 Mo, Fabricant: Sony [OV] L'arborescence des périphériques est activée. Ce Raspberry Pi prend en charge l'accès GPIO au niveau utilisateur. -> Voir la page de manuel pour plus de détails $ gpio readall +-----+-----+---------+------+---+--- Pi 2---+---+------+---------+-----+-----+ | BCM | wpi | Nom | Mode | V | Physique | V | Mode | Nom | wpi | BCM | +-----+-----+---------+------+---+----++----+---+- -----+---------+-----+-----+ | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | EN | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | EN | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | OUT | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | EN | 0 | 11 || 12 | 0 | EN | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | EN | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | EN | 0 | 15 || 16 | 1 | EN | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 0 | EN | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | EN | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | EN | 0 | 21 || 22 | 0 | EN | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | EN | 0 | 23 || 24 | 1 | EN | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | EN | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | EN | 1 | 27 || 28 | 1 | EN | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | EN | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | EN | 1 | 31 || 32 | 0 | EN | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | EN | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | EN | 0 | 35 || 36 | 0 | EN | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | EN | 0 | 37 || 38 | 0 | EN | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | EN | GPIO.29 | 29 | 21 | +-----+-----+---------+------+---+----++----+---+- -----+---------+-----+-----+ | BCM | wpi | Nom | Mode | V | Physique | V | Mode | Nom | wpi | BCM | +-----+-----+---------+------+---+---Pi 2---+---+--- ---+---------+-----+-----+

Les commandes ci-dessus devraient vous donner l'assurance que le câblage Pi fonctionne correctement.

Installer Apache et PHP

Exécutez les commandes suivantes:

$ cd..

$ sudo apt-get update $ sudo apt-get install apache2 php5 libapache2-mod-php5

Pour vérifier que le serveur Web fonctionne, ouvrez un navigateur et dans la zone URL, saisissez:

♣framboise-pi-ip♣

Le site Web par défaut d'Apache répond par "It Works!"

Étape 4: Site Web

Ouvrez une fenêtre de terminal sur le Mac Book. Connectez-vous à Raspberry Pi, puis supprimez le fichier index.html par défaut, modifiez les autorisations sur le répertoire du site Web et modifiez un fichier appelé index.php.

$ ssh pi@♣raspberry-pi-ip♣

mot de passe: ♣mot de passe♣ $ sudo rm /var/www/index.html $ sudo chown pi:root /var/www $ sudo nano /var/www/index.php

Et entrez le code suivant:

Ouvre-garage

Automatisation de la maison

<?php if ($switch == 1) { echo"

"; } else { echo"

"; } ?>

Porte de garage Manuel d'ouvre-porte de garage fermé 1 ouvrir 0
<?php if ($trigger == 0) { echo " <td colspan=\"4\" } else { echo"

var13 -->

CTRL-o et ENTER pour écrire le fichier, et CTRL-x pour quitter l'éditeur.

Modifier les autorisations sur le fichier

$ sudo chmod 664 /var/www/index.php

Étape 5: Image du site Web

Image du site Web
Image du site Web
Image du site Web
Image du site Web

Prenez un ouvre-porte de garage à distance haute résolution sur le Web. Modifiez l'image comme vous le souhaitez à l'aide du pinceau Mac. Dans l'image ci-dessus, un ouvre-porte de garage Genie haute résolution a été utilisé, un logo Raspberry Pi a été ajouté et la led a été supprimée.

Une image est l'arrière-plan (remote-background.jpg), et l'autre est l'image active (remote-press.jpg).

Le plan était qu'en appuyant sur un bouton, au lieu de faire clignoter la LED, la framboise clignoterait. J'ai simplifié le site.

Copiez les images dans le raspberry pi:

$ scp *-j.webp

mot de passe: ♣mot de passe♣

Le site Web a un seul bouton poussoir. Pour vérifier, ouvrez un navigateur et entrez ♣raspberry-pi-ip♣. Au lieu du site Web par défaut d'Apache, qui dit "Ça marche !", le bouton devrait apparaître. Appuie.

Étape 6: Contrôler à distance le serveur Web

Pour faciliter l'accès à l'ouvre-porte de garage à distance, j'utilise un nom DNS dynamique. Parce que je n'aime pas me souvenir des adresses IP.

Avec cette fonctionnalité, j'entre ♣dynamic-hostname♣.getmyip.com dans le champ URL d'un navigateur. Remarque: l'adresse IP des routeurs domestiques peut changer sans préavis, mais cela arrive rarement. J'ai choisi d'utiliser DynDNS. Vous aurez besoin de connaître l'adresse IP publique de votre routeur.

IP du routeur U-Verse: uverse-public-ip♣

Vous pouvez afficher vos noms d'hôte et les détails de votre compte DynDNS Pro. Voici quelques conseils pour commencer:

  • Créez votre nom d'hôte DNS dynamique (1 sur 30):

    • ♣dynamic-hostname♣
    • Clé de mise à jour: ♣dynamic-ip-updater-key♣
  • Installez un client de mise à jour pour vous assurer que votre nom d'hôte pointe toujours vers la bonne adresse IP.

    • Télécharger et installer sur MacBook
    • Les adresses IP AT&T U-verse changent rarement, donc le programme de mise à jour ci-dessus peut être exécuté chaque fois qu'il change
    • Suivez les instructions:

      • Ajouter un compte
      • Entrez le nom d'utilisateur et le mot de passe: ♣dynamic-ip-username♣ ♣dynamic-ip-password♣
      • Sélectionnez le nom d'hôte
      • Cliquez sur Configurer les hôtes sélectionnés
      • L'hôte devrait devenir actif
    • Configurez votre réseau pour autoriser l'accès à votre appareil depuis Internet. Vous pouvez utiliser notre assistant Dyn pour obtenir des instructions générales sur la façon de procéder, utiliser des ressources telles que PortForward.com ou contacter le fabricant de l'appareil pour obtenir de l'aide.

      • AT&T U-verse
      • Redirection de port pour 2-Wire 3801HGV - c'est le routeur AT&T U-Verse que j'ai. Voir Mises à jour dans une annexe pour savoir comment transférer le port sur le routeur AT&T U-verse 5268ac.
      • Ouvrez le navigateur et accédez à ♣raspberry-pi-ip♣
      • Mot de passe: mot de passe♣
      • Paramètres
      • Pare-feu

        • Choisissez ♣raspberry-pi-hostname♣
        • Les serveurs

          • Serveur Web port 80
          • Serveur HTTPS - port 443
        • Ajouter
      • sauvegarder

Une fois cela fait, le serveur Web fonctionnera à partir d'Internet. Pour vérifier, entrez ♣dynamic-hostname♣ et vous devriez voir le bouton de l'ouvre-porte de garage.

Étape 7: Câblez le circuit au Raspberry Pi

Câblez le circuit au Raspberry Pi
Câblez le circuit au Raspberry Pi

Pour le code fourni (étapes 4 et 6), j'ai utilisé la broche GPIO 7. C'est une coïncidence si GPIO 7 est identique à la broche 7 de câblagePi. Dans le code PHP, les numéros de broche Pi de câblage sont utilisés et NON les numéros de broche GPIO. Vous pouvez utiliser celui que vous voulez, mais assurez-vous de changer le code.

J'ai essayé d'utiliser du fil torsadé, mais le relais ne tient pas bien sur le fil torsadé. Le fil solide est meilleur.

Lors de ma première tentative, j'ai créé trois câbles de connexion (femelle à mâle).

  • Utilisez trois câbles de démarrage femelle à femelle
  • Coupez trois morceaux de fil solide à environ 1 po.

    Dénudez 1/4 po aux deux extrémités du fil solide

  • Insérez un fil solide dans un câble de démarrage femelle.

Voici une meilleure façon de créer des câbles de connexion (femelle à mâle):

  • Utiliser uniquement du fil solide
  • Coupez trois morceaux de fil solide de 4 pouces
  • Dénudez 1/4 po aux deux extrémités du fil solide
  • Utiliser des broches de connexion femelles

    • Faites glisser une broche de connexion femelle sur une extrémité du fil solide et sertissez

      La broche femelle ne doit pas se desserrer, souder si nécessaire

    • Faites glisser la décharge de traction sur la broche de connexion femelle ou la broche de couverture avec du ruban d'électricien

Câblez le relais au pi comme indiqué sur le schéma:

  • Connectez l'extrémité femelle du câble à la broche Raspberry Pi.
  • Insérez le fil solide dans le relais.

Étape 8: Créer un service de démarrage

La plupart des relais, y compris celui acheté, fonctionnent comme ceci:

  • Lorsque le signal est activé, le circuit reste éteint.
  • Lorsque le signal est désactivé, le circuit est activé.

Si le Raspberry Pi perd de l'alimentation, le relais dispose d'un mécanisme de sécurité qui maintient le circuit éteint.

Un problème peut survenir lorsque le Rapberry Pi et le relais sont rétablis, mais avant que le Raspberry Pi n'ait fini de démarrer pour activer le signal, ce qui est nécessaire pour maintenir le circuit éteint. Vous pourriez vous réveiller le matin avec votre garage ouvert et potentiellement quelques nouveaux amis !

Cependant, le relais ne s'initialise pas tant que le mode de broche GPIO n'est pas défini via cette commande: gpio mode 7 out. De plus, si la broche GPIO est sur ON (gpio write 7 1) avant de définir le mode GPIO, le relais restera éteint une fois initialisé.

Pour que cette initialisation s'exécute au démarrage et ne vous réveille pas avec de nouveaux amis, utilisez le script de démarrage suivant.

$ ssh pi@♣raspberry-pi-ip♣

$ sudo nano /etc/init.d/garagerelay

Collez ensuite ce script:

# ! /bin/bash

# /etc/init.d/garagerelay # Exécuter des fonctions spécifiques lorsque le système le demande (case "$1" dans start) echo "Starting Relay" # Activer 7 qui maintient le relais éteint /usr/local/bin/gpio write 7 1 #Démarrer Gpio /usr/local/bin/gpio mode 7 out;; stop) echo "Arrêter gpio";; *) echo "Utilisation: /etc/init.d/garagerelay {start|stop}" exit 1;; esac sortie 0

Pour enregistrer: CTRL-o, ENTER

Pour quitter nano, CTRL-x

Rendez le fichier exécutable:

$ sudo chmod +x /etc/init.d/garagerelay

Maintenant, dites à votre pi d'exécuter ce script au démarrage:

$ sudo update-rc.d -f garagerelay start 4

(Remarque: vous pouvez ignorer en toute sécurité l'avertissement « balises LSB manquantes ».)

Assurez-vous que le script de démarrage est en cours d'exécution

$ sudo redémarrer

Ouvrez un navigateur et cliquez sur l'ouvreur. Le relais doit cliquer.

Étape 9: Fixez Raspberry Pi au garage

Attachez Raspberry Pi au garage
Attachez Raspberry Pi au garage

Lorsque vous déplacez le Raspberry Pi, assurez-vous d'exécuter:

$ arrêt -h 0

Vous voudrez peut-être couper l'alimentation du garage. Donc, l'ouvre-porte ne vous électrocute pas:). La vraie raison est que chaque fois que vous court-circuitez les fils, la porte monte et descend.

Dévissez les vis murales de l'ouvre-porte de type sonnette, qui fixe la sonnette au mur.

Percez un trou à travers le garage derrière l'ouvre-porte jusqu'à l'intérieur de la maison. Au Texas, le Raspberry Pi ne doit pas être dans le garage, la variation de température dans le garage est en dehors des spécifications de fonctionnement du Raspberry Pi.

Faites passer les fils du relais dans le trou (utilisez un cintre).

Desserrez les deux vis à l'arrière de l'ouvre-porte.

Dénudez les deux extrémités des fils de relais: 1) environ 1/8" de pouce du côté du relais et environ ½" de pouce du côté de la sonnette. Pliez le côté sonnette du fil dans une demi-boucle assez grande pour s'adapter autour de la vis arrière.

Connectez un fil de relais à chaque vis à l'arrière de la sonnette et serrez la vis. Les connexions sont comme indiqué dans l'image. Étant donné que le relais isole le circuit, la direction n'a même pas d'importance quel relais est attaché à quelle vis.

Étape 10: Fixer Raspberry Pi à SECO-LARM

Fixer le Raspberry Pi au SECO-LARM
Fixer le Raspberry Pi au SECO-LARM
Fixer le Raspberry Pi au SECO-LARM
Fixer le Raspberry Pi au SECO-LARM

Avant d'avoir terminé le code, ma famille et moi étions en vacances et j'ai ouvert mon navigateur. La dernière vue de mon navigateur était celle de l'ouvre-porte de garage - la page s'est rafraîchie et la porte de garage s'est ouverte. Quelques jours plus tard, un voisin a appelé et a demandé si la porte du garage devait être ouverte ? Heureusement, j'ai pu le fermer à 500 milles de distance.

Ce snafu m'a obligé à changer le code pour que cela n'arrive pas, et à ajouter un capteur et l'état de la porte de garage sur le site.

Il s'agit d'un lien vers l'original instructable pour ajouter un capteur. Cependant, étant donné tout ce qui a déjà été terminé, l'installation du capteur peut être grandement simplifiée et au lieu d'utiliser python, ajoutez quelques lignes de code à index.php.

closed

L'aimant est fixé sur le côté intérieur supérieur gauche de la porte de garage et le capteur est fixé au mur du garage. J'ai donc dû faire passer un fil de thermostat solide du capteur au raspberry pi. Cela nécessitait un trou du garage dans le grenier et du grenier dans le mur contenant l'ouvre-porte de garage (interrupteur de sonnette).

J'ai inséré une boîte de jonction bleue entre le capteur SECO-LARM et les fils solides.

Dans ma maison, il y a un écart de 18 pouces entre le plafond du premier étage et le bas du deuxième étage. Je suppose que c'est là que passent les conduits de chauffage et de refroidissement. J'avais besoin d'une rallonge de foret suffisamment longue pour traverser le deuxième étage et les 2x4 supérieurs (plaque supérieure) contenant la sonnette.

La partie la plus importante est de ne PAS percer l'électricité lorsque vous percez du grenier dans la zone où les fils iront à l'ouvre-porte de garage. Réparer ce n'était pas amusant. Voir les étincelles et voir les lumières s'éteindre était assez excitant !

Le capteur nécessite deux fils de thermostat solides ou un fil de clôture invisible pour chien.

Le Raspberry Pi a plusieurs descriptions de broches (BCM, wPi, physique). Le code utilise les numéros de broche de câblage pi. Pour voir toutes les broches, les mappages de broches et les valeurs de broche, saisissez:

$ gpio readall

Pour un manuel gpio, saisissez:

$ gpio homme

Dans les instructions d'origine, la broche physique 9 est mise à la terre et se connecte à l'un des fils SECO-LARM. Cependant, cela ne fonctionne pas pour moi. Au lieu de cela, connectez les fils aux broches physiques 15 et 17

La broche physique 15 (wPi broche 3) passe à 3,3 V lorsque le capteur SECO-LARM est fermé. La broche physique 17 est de 3,3 v. Si cela ne fonctionne pas, inversez les connexions sur le SECO-LARM.

Fixez SECO-LARM à la porte de garage et au mur. Faites passer les fils et connectez-vous au Raspberry Pi.

Étape 11: Envoyer une alerte si la porte est ouverte alors qu'elle doit être fermée

Si la porte du garage est ouverte alors qu'elle ne devrait pas l'être, envoyez un message texte à un téléphone portable.

Installez et configurez SMTP simple.

J'ai le cellulaire AT&T et j'utilise ♣cell-phone-number♣@txt.att.net pour les messages texte. J'ai également un compte gmail, et l'exemple ci-dessous utilise ♣gmail-account♣@gmail.com. Si vous utilisez des services différents, apportez les modifications appropriées.

Pour les commandes $ ci-dessous, ouvrez une fenêtre de terminal sur le MacBook et connectez-vous à votre Raspberry Pi.

Assurez-vous que les référentiels sont à jour:

$ sudo apt-get mise à jour

Installez des utilitaires SSMTP et de messagerie simples:

$ sudo apt-get install ssmtp

$ sudo apt-get install mailutils

Modifiez le fichier de configuration SSMTP:

$ sudo nano /etc/ssmtp/ssmtp.conf

comme suit:

mailhub=smtp.gmail.com:587 hostname=♣your-hostname♣ AuthUser=♣gmail-account♣@gmail.com AuthPass=♣gmail-password♣ UseSTARTTLS=YES

Modifiez le fichier d'alias SSMTP:

$ sudo nano /etc/ssmtp/revaliases

Créez une ligne pour chaque utilisateur qui pourra envoyer des e-mails. Par exemple:

Définissez les autorisations du fichier de configuration SSMTP:

$ sudo chmod 664 /etc/ssmtp/ssmtp.conf

Les permissions du fichier /etc/ssmtp/ssmtp.conf déterminent qui pourra envoyer des emails depuis le Raspberry Pi. Par défaut, ce fichier appartient à l'utilisateur root et le groupe du fichier est également root.

Modifiez le fichier d'alias SSMTP, qui contient des données sur les comptes de messagerie:

$ sudo nano /etc/ssmtp/ssmtp.conf

Une fois le processus d'installation et de configuration ci-dessus terminé, testez-le en envoyant un e-mail à partir de la ligne de commande.

$ echo "ferme la porte du garage" | mail -s "Porte de garage ouverte" ♣cell-phone-number♣@txt.att.net

Créez un script pour vérifier si la porte du garage est ouverte alors qu'elle ne devrait pas l'être, puis envoyez un SMS.

$ sudo nano /usr/local/bin/garage.sh

et ajoutez ce qui suit:

#!/bin/bash

# vérifier si la porte du garage est ouverte. # Si ouvert, envoyez une alerte et écrivez dans syslog up=0; door=$(/home/pi/wiringPi/gpio/gpio read 3) if ["$door" -eq "$up"] then logger ♣your-hostname♣: Garage Door Open echo "close the garage door" | mail -s "Porte de garage ouverte" ♣cell-phone-number♣@txt.att.net fi exit 0

Ajoutez ensuite une crontab à exécuter pendant les heures requises:

$ sudo crontab –e

et ajouter:

# La nuit, vérifiez toutes les heures si la porte du garage est ouverte

0 22-23/1 * * * sudo /usr/local/bin/garage.sh 0 0-5/1 * * * sudo /usr/local/bin/garage.sh

Si tout fonctionne, passez à l'étape suivante.

Étape 12: Mettez Raspberry Pi dans le livre secret

Mettez Raspberry Pi dans le livre secret
Mettez Raspberry Pi dans le livre secret
Mettez Raspberry Pi dans le livre secret
Mettez Raspberry Pi dans le livre secret

Mettez le Raspberry Pi dans un livre secret. J'ai eu celui-ci chez Michael pour environ 7 $. J'ai coupé quelques petits trous pour les fils et le cordon d'alimentation.

Étape 13: Annexe: Références

Module de protection de relais SunFounder 2 canaux 5 V pour Arduino UNO 2560 1280 ARM PIC AVR STM32

  • Carte d'interface de relais 5V 2 canaux, et chacune a besoin de 15-20mA
  • Courant du pilote Équipé d'un relais à courant élevé, AC250V 10A; DC30V 10A
  • Interface standard pouvant être contrôlée directement par microcontrôleur (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, logique TTL)
  • LED d'indication pour l'état de la sortie relais Lien pour télécharger le document:

Étape 14: Annexe: Mises à jour

21FEB2016

  • Dans les instructions d'origine, il y avait des problèmes de correction automatique, de formatage et de clarté des instructions.

    • Un exemple de problème est lorsque les guillemets doubles dans le code sont remplacés par quelque chose qui ressemble à des guillemets doubles en italique. Cependant, si vous le coupez-collez dans un script, cela ne fonctionnera pas.
    • L'éditeur instructable aime corriger automatiquement, donc wlan se tourne vers le plan et la suppression automatique se transforme en suppression automatique. Ces changements sont difficiles à repérer.
    • Certaines de mes instructions n'étaient peut-être pas assez claires.
    • Normalement, j'utilise des crochets angulaires comme indicateur de quelque chose qui doit être remplacé. L'éditeur les convertit en html. Donc, je suis passé aux crochets, mais ceux-ci peuvent causer des problèmes car ils ressemblent à du code. J'ai donc finalement opté pour ♣s comme indicateur de remplacement par une valeur réelle.
  • Au fil du temps, j'ai également amélioré certains des scripts.
  • Étapes modifiées 21-26

03AVR2016

  • Création d'une annexe avec dépannage, références et mises à jour (étapes 27-29)
  • Dépannage déplacé vers l'annexe à partir de l'ancienne étape 2
  • Mise à jour et ordre alphabétique de la page de dépannage
  • Changement du nom du fichier de test2wifi.sh en garage.sh - juste plus descriptif.
  • Cron mis à jour pour utiliser garage.sh
  • Edité 1, 20-26 (Créer un service de démarrage à l'étape avant l'annexe)

04AVR2016

  • Les étapes 2-11 et 16-20 remplacées par ma norme consistaient à configurer un Raspberry Pi
  • Liste de pièces mise à jour, étape 1
  • Photos ajoutées/fusionnées

05AVR2016

Site et image simplifiés (étapes 4 et 5)

01MAI2016

Ajout du dépannage pour le capteur Seco-larm/raspberry Pi

01MAI2016

Les modifications précédentes ne sont pas enregistrées correctement ?

11NOV2016

  • Mise à jour vers AT&T GigaPower et changement du routeur en 5268ac
  • 5268ac ne prend pas en charge le bouclage, donc le serveur Garage Opener n'est pas accessible à partir des ordinateurs du réseau local. Pour qu'un MacBook accède au serveur Web de l'ouvre-garage, procédez comme suit:

$ sudo nano /etc/hosts

et ajouter la ligne

192.168.1.64 ♣nom-de-domaine-externe-du-serveur♣

Enregistrer et quitter, CTRL-o, CTRL-x

$ sudo killall -HUP mDNSResponder

  • Les règles de transfert de port intégrées du 5268ac, telles que le serveur HTTPS, le serveur HTTP et le serveur Web, ne fonctionnent pas. Pour que la redirection de port fonctionne:

    • Ouvrez un navigateur et accédez à 192.168.1.254
    • Connexion
    • Sélectionnez Paramètres, Pare-feu, Applications, trous d'épingle et DMZ.
    • Sélectionnez le serveur Web de l'ouvre-garage
    • Sélectionnez Défini par l'utilisateur
    • Cliquez sur une nouvelle application définie par l'utilisateur

      • Dans Nom du profil de l'application, saisissez: Redirection de port
      • Dans Créer une définition d'application, ajoutez chacun des éléments suivants et cliquez sur Ajouter à la liste:

        • TCP de 80 à 80, mappage vers le port hôte 443
        • TCP de 443 à 443 mappé au port hôte 443
        • UDP de 443 à 443, mappage au port hôte 443
        • UDP de 80 à 80, mappage vers le port hôte 443
    • Cliquez en arrière
    • Resélectionnez votre serveur Web
    • Sélectionnez Défini par l'utilisateur
    • Ajouter la redirection de port
    • Cliquez sur Enregistrer

21JAN2018

  • Mise à jour vers Raspberry Pi 3
  • Plusieurs modifications aux étapes
  • Mise à jour de certaines pièces et prix

Étape 15: Annexe: Dépannage

Espace disque utilisé

La dernière ligne indique l'espace disque total utilisé. La carte SD a 8 Go.

$ cd../..

$ sudo du –hx –c

e-mail

Si vous rencontrez des problèmes, essayez ceci:

$ echo "test" | sendmail -v votre-compte-gmail♣@gmail.com

Si la messagerie est correctement configurée, vous devriez recevoir un e-mail dans votre compte gmail.

Si vous obtenez un échec d'authentification:

Vous devrez peut-être réduire la sécurité de votre compte. Cependant, il n'est PAS recommandé de baisser la sécurité. Google enverra un e-mail avec un lien vers un paramètre de sécurité inférieur.

Vous pouvez passer de votre lecteur de messagerie actuel à utiliser www.gmail.com pour accéder à votre compte (recommandé) ou modifier vos paramètres sur https://www.google.com/settings/security/lesssecu… afin que votre compte ne soit plus protégés par des normes de sécurité modernes.

Je ne recommande pas d'abaisser vos normes de sécurité.

Si vous obtenez un échec d'autorisation:

La cause la plus probable est que vous avez spécifié un nom d'utilisateur ou un mot de passe incorrect pour votre compte gmail dans le fichier /etc/ssmtp/ssmtp.conf. Vérifiez les valeurs des champs AuthUser et AuthPass.

Si vous perdez la connexion au milieu du traitement:

Il y a de fortes chances que vous ayez spécifié le mauvais port pour le smtp de Google quelque part dans /etc/ssmtp/ssmtp.conf ou dans /etc/ssmtp/revaliases.

Vérifiez les dernières lignes de vos journaux. Il devrait y avoir des messages d'erreur pertinents:

$ tail /var/log/mail.log

$ tail /var/log/syslog

La porte du garage ne s'ouvre pas

Si tout fonctionnait et que cela s'arrête, essayez de redémarrer. Si cela ne fonctionne pas, débranchez le cordon d'alimentation du Raspberry Pi, puis rétablissez l'alimentation. Le Raspberry Pi devrait redémarrer en moins de 2 minutes et tout devrait fonctionner correctement. Ceci est généralement causé par une panne d'alimentation de la passerelle résidentielle.

GPIO

Si quelque chose ne va pas, le meilleur moyen de voir ce qui se passe est d'utiliser la commande suivante:

$ gpio readall

Connectez-vous à raspberry pi depuis MacBook

terminal est un utilitaire MacBook: disk/applications/utilities/terminal. Je garde l'application du terminal dans le dock.

Sur MacBook, ouvrez le terminal

$ ssh pi@♣raspberry-pi-ip♣

mot de passe♣

Connectez-vous à la passerelle résidentielle

Sur MacBook, ouvrez le navigateur

URL = ♣raspberry-pi-ip♣

Connexion: ♣passerelle-mot de passe♣

Journaux

Si quelque chose ne va pas, vérifiez ces journaux pour les erreurs, les avertissements ou d'autres problèmes.

$ cat /var/log/messages

$ cat /var/log/syslog $ cat /var/log/dmesg

Répertoire MAC

Répertoire sur MacBook où sont stockés les fichiers du site Web

Répertoire MAC = /Users/♣mon macbook♣/Desktop/wi-fi activé home/wifi activé ouvre-porte de garage/site Web

Mot de passe

Mot de passe = ♣raspberry-pi-password♣

RAM et CPU utilisés

$ haut

CTRL-c pour quitter

Répertoire de base de Raspberry Pi

$ pwd

/accueil/pi

Nom d'hôte Raspberry Pi

$nom d'hôte

nom d'hôte = ♣nom d'hôte♣

IP du Raspberry Pi

♣framboise-pi-ip♣ = 192.168.1.93

Annuaire de sites Web Raspberry Pi

/var/www

Seco-larm ne fonctionne plus

Le 01MAI2016, le Seco-larm a cessé de fonctionner. C'est la troisième fois que le capteur cesse de fonctionner. Pour le dire correctement, la broche physique 15 du Raspberry Pi a cessé de détecter l'entrée 3.3v. J'ai essayé les broches physiques 3,3v 1 et 17, et les deux produisaient toujours 3,3v. Je suis passé de la broche physique 15 à un autre GPIO, la broche physique 16 (GPIO 4) et cela a recommencé à fonctionner. Donc, il n'y a rien de mal avec le Seco-larm. Le problème semble venir du GPIO Raspberry Pi.

GPIO 3, la broche physique 15 est morte. C'est un très bon article sur la façon de tester les broches GPIO.

Je suis passé de GPIO 3 à GPIO 4 et j'ai modifié le code en conséquence. Je ne sais pas pourquoi la broche GPIO a cessé de fonctionner. Voici deux raisons possibles:

  • J'ai monté le capteur Seco-larm, donc lorsque la porte est fermée, il émet 3,3 V. La porte du garage est fermée plus souvent qu'elle n'est ouverte. Peut-être que la broche GPIO ne peut pas prendre une entrée plus ou moins constante de 3,3v.
  • La panne a coïncidé avec une panne de courant, il y a peut-être eu un pic de courant.

Passerelle résidentielle U-verse

J'ai AT&T U-verse avec une passerelle résidentielle, mais n'importe quel service devrait fonctionner.

Si la passerelle U-verse est redémarrée ou perd de l'alimentation, le Raspberry Pi devra peut-être être redémarré.

Passerelle résidentielle U-verse IP publique = ♣router's-public-ip♣

L'adresse IP publique d'une passerelle résidentielle U-verse peut changer, mais le fait très rarement

Page d'accueil de la passerelle résidentielle U-verse = 192.168.1.254

SSID du point d'accès sans fil du routeur U-verse = ssid♣

Le débit Wi-Fi est plus lent que prévu

Changez le routeur pour un canal moins utilisé. Par défaut, tous les fournisseurs de circuits règlent le wifi de tout le monde sur le canal 1. Passez à un canal moins utilisé, tel que 11. Essayez d'utiliser un nombre impair.

Remarque: j'ai dit à quelques voisins ce que j'avais fait pour améliorer le wi-fi et maintenant tout le monde est sur 9 ou 11, donc je suis revenu à 1. Vous devriez toujours utiliser un canal impair.

Ouvrez un navigateur.

Pour U-verse, entrez 192.168.1.254 dans la zone URL.

Cliquez sur le lien sans fil et choisissez le canal 6 ou 11.

Il existe une application pour smartphone appelée analyseur wifi. L'un des écrans affiche tous les points d'accès wifi à proximité diffusant sur un canal particulier. Dans mon quartier, tout le monde est réglé sur le canal 1.

Débranchez Raspberry Pi, puis rétablissez l'alimentation

Conseillé: