Table des matières:

Notification de porte Raspberry Pi : 6 étapes (avec photos)
Notification de porte Raspberry Pi : 6 étapes (avec photos)

Vidéo: Notification de porte Raspberry Pi : 6 étapes (avec photos)

Vidéo: Notification de porte Raspberry Pi : 6 étapes (avec photos)
Vidéo: Présentation et configuration de la Raspberry PI Caméra 2024, Novembre
Anonim
Notification de porte Raspberry Pi
Notification de porte Raspberry Pi

Vous êtes-vous déjà demandé si ou quand les gens accèdent aux portes ? Vous voulez un moyen discret, bon marché et rapide de surveiller le mouvement de la porte… et peut-être un petit projet ? Cherchez pas plus loin! Ce dispositif simpliste suivra les vibrations émises par les portes en mouvement et rendra compte à l'utilisateur avec un e-mail à une adresse e-mail spécifiée.

Ce projet vous donnera un peu de pratique avec Flask, Raspberry Pis, capteurs GPIO et l'API Mandrill ! Non seulement c'est amusant à construire, mais il a beaucoup d'utilité. Attention aux intrus…

Étape 1: Fournitures

Fournitures
Fournitures

Vous envisagez toujours de construire cet engin ? Voici ce dont vous aurez besoin:

  • Framboise Pi 3
  • Carte Micro SD
  • 3 fils femelle-femelle
  • 1 capteur de vibrations
  • Une banque de puissance
  • Bandes de commande

Si vous envisagez de construire ce projet pour plusieurs portes, multipliez chacune des fournitures par le nombre d'appareils dont vous aurez besoin.

Si vous êtes en train de construire/tester cet appareil, il n'est pas nécessaire d'avoir les éléments suivants… cependant, ce serait certainement très utile.

  • Un écran d'ordinateur
  • Un clavier USB
  • Kit de chargement micro USB

Étape 2: Câblage

Câblage
Câblage
Câblage
Câblage

Bien que le Raspberry Pi soit un appareil astucieux fourni avec de nombreux capteurs et périphériques différents, nous devons ajouter le capteur principal au câblage du Pi afin qu'il puisse effectuer les mesures dont nous avons besoin. Le capteur principal utilisé dans ce projet peut être vu dans l'image ci-dessus - c'est un capteur de vibration à haute sensibilité. Bien que nous puissions utiliser une planche à pain ou un autre dispositif de montage pour placer ce capteur et faire passer nos fils, nous l'avons simplement connecté via des fils femelle à femelle directement aux broches de l'appareil Raspberry Pi.

Un schéma de câblage peut être trouvé ci-dessus (provenant de https://www.piddlerintheroot.com/vibration-sensor/). Connectez simplement tous les fils comme indiqué sur cette image et votre capteur de vibrations devrait être prêt à fonctionner. Notez également que vous aurez éventuellement besoin d'une batterie pour ce projet, mais si vous testez, il est probablement utile de brancher l'appareil sur une prise murale.

Étape 3: Configuration des éléments

Félicitations! Vous êtes arrivé jusqu'ici. Continuons!

Nous allons maintenant commencer à travailler directement avec le Pi. Tout ce qui suit peut être effectué sur l'appareil avec un clavier et un moniteur (ou via SSH si vous êtes à l'aise).

Il y a beaucoup de configuration préliminaire pour faire fonctionner n'importe quel capteur GPIO avec un Pi et un flacon. La patience est une vertue. Il existe de nombreuses bibliothèques Python que vous devrez d'abord installer. Cela peut être fait avec Pip, un gestionnaire de bibliothèque/paquet pour Python. Pour l'utiliser, tapez `pip install` Pour nommer certaines des bibliothèques dont vous aurez besoin:

  • demandes
  • RPi. GPIO
  • ballon
  • flask_restful
  • fiole_wtf
  • wtforms
  • e-mail
  • mandrill

Vous voudrez peut-être prendre un café pendant que vous attendez leur installation – cela peut prendre un peu de temps.

Maintenant que toutes vos bibliothèques sont installées, vous êtes prêt à démarrer votre projet Flask. Flask est un framework léger qui sert des pages à partir de l'appareil sur lequel il s'exécute. Dans ce cas, le Raspberry Pi devient un serveur. Plutôt chouette, hein ? Vous pouvez apprendre à configurer une application Flask très simple ici. Veuillez le faire avant d'essayer l'une des instructions suivantes.

Étape 4: Coder et exécuter

Une fois que vous avez terminé, vous êtes prêt à commencer à créer les fichiers du projet. J'ai inclus tous les fichiers dont vous aurez besoin ci-dessous – vous devriez probablement réécrire le code, cependant, et pas simplement copier les fichiers (VOUS EN APPRENDREZ PLUS !).

Voici à quoi devraient ressembler les organisations d'annuaire:

+-- iotapp | +-- dossier d'application | +-- modèles | +-- index.html | +-- _init_.py | +-- form.py | +-- mcemail.py | +-- routes.py | +-- iotapp.py | +-- vibes.py

Placez tous ces fichiers dans le bon ordre et vous devriez pouvoir lancer votre projet en un rien de temps. Afin d'exécuter ensuite votre serveur Flask, vous devez accéder au répertoire racine. Vous devez alors taper:

$ export FLASK_APP=iotapp.py

$ python -m flask run --host 0.0.0.0

Avec cela, vous devriez recevoir un message indiquant que votre serveur est en cours d'exécution et que vous devriez pouvoir servir la page de l'appareil à un autre appareil sur le réseau.

Ce serait maintenant le bon moment pour parcourir vos fichiers et vraiment essayer d'avoir un aperçu de ce que fait le code. Bien sûr, aucun code n'est gravé dans le marbre… tout peut être mis à jour/modifié pour répondre aux besoins spécifiques du projet. Par exemple, dès maintenant, lorsque l'appareil effectue un POST à la réception d'une entrée du capteur de vibration, il envoie l'horodatage du moment où l'entrée s'est produite. Cependant, le serveur n'enregistre pas ces données. Cela pourrait être fait si l'utilisateur préférait conserver les informations historiques et voulait les montrer quelque part.

Une chose que vous remarquerez probablement est que LE CODE N'EST PAS COMPLET. Ce projet utilise une API externe pour envoyer des e-mails de notification en cas de vibration (ouverture de porte). Pour configurer cela, vous devrez créer un compte Mandrill et créer une clé API.

Une fois que vous avez vérifié votre domaine d'envoi et que vous avez une clé API, vous pouvez placer votre clé dans le fichier `mcemail.py` (où est présent) et ajuster les informations d'envoi (soit en changeant le paramètre par défaut dans le même fichier, soit en passant dans un autre e-mail dans le fichier `routes.py`. Si vous souhaitez plus de documentation sur Mandrill et comment l'utiliser, vous pouvez la trouver ici.

Étape 5: Tester

Essai
Essai

Avant de monter l'appareil dans son emplacement permanent, c'est probablement une bonne idée de tester tout ce qu'il fait. Voici comment vous exécutez les choses.

L'appareil exécute en fait deux programmes: `vibes.py` et le serveur Flask. Le premier doit être exécuté d'abord en arrière-plan, puis le serveur Flask peut être exécuté. `vibes.py` est simplement en train de poster sur le serveur et le serveur interprète la requête POST.

$ python vibes.py &

$ python -m flask run --host 0.0.0.0

Vous devriez alors pouvoir accéder à l'URI/IP correct et définir l'adresse e-mail à laquelle vous souhaitez envoyer toutes vos notifications. Vous devez appuyer sur le capteur de vibration pour essayer d'envoyer des e-mails de test et vous assurer que le projet fonctionne.

Tout a l'air bien? D'accord, nous sommes prêts pour les affaires !

Étape 6: Montage

Montage
Montage

Le montage de l'appareil est assez explicite. En gros, il suffit de s'assurer que l'appareil est connecté au pack batterie et d'utiliser des barrettes de commande pour fixer l'appareil à la porte.

Remarque: l'appareil doit être positionné avec le capteur de vibration perpendiculaire à la porte pour que le capteur capte le mouvement de la porte

Une fois cette opération terminée, vous devriez pouvoir vous connecter en SSH à l'appareil, exécuter les programmes mentionnés à l'étape précédente et attendre les intrus !

Pour des points supplémentaires, essayez de cacher les fils/l'appareil afin que les intrus ne se méfient pas de votre appareil intelligent !… ou ne le placez tout simplement pas sur une porte vitrée. \_(ツ)_/¯

Conseillé: