Taula de continguts:

Notificador de porta Raspberry Pi: 6 passos (amb imatges)
Notificador de porta Raspberry Pi: 6 passos (amb imatges)

Vídeo: Notificador de porta Raspberry Pi: 6 passos (amb imatges)

Vídeo: Notificador de porta Raspberry Pi: 6 passos (amb imatges)
Vídeo: Materiais - Escada de LEDs RGB 2024, Setembre
Anonim
Notificador de porta Raspberry Pi
Notificador de porta Raspberry Pi

Us heu preguntat mai si o quan la gent accedeix a les portes? Voleu una manera discreta, econòmica i ràpida de controlar el moviment de les portes … i potser un petit projecte? No miris més enllà! Aquest dispositiu senzill farà un seguiment de les vibracions que es desprenen de les portes en moviment i informarà de l’usuari amb un correu electrònic a una adreça de correu electrònic especificada.

Aquest projecte us proporcionarà una mica de pràctica amb Flask, Raspberry Pis, sensors GPIO i l'API Mandrill. No només és divertit de construir, sinó que té molta utilitat. Els intrusos tenen cura …

Pas 1: subministraments

Subministraments
Subministraments

Encara teniu previst construir aquest aparell? Això és el que necessiteu:

  • Raspberry Pi 3
  • Targeta micro SD
  • 3 cables de femella a femella
  • 1 sensor de vibració
  • Un banc d’energia
  • Tires de comandament

Si teniu previst construir aquest projecte per a diverses portes, multipliqueu cadascun dels subministraments per quants dispositius necessitareu.

Si esteu en procés de construir / provar aquest dispositiu, no cal que tingueu el següent … però, sens dubte seria molt útil.

  • Un monitor d’ordinador
  • Un teclat USB
  • Kit de càrrega micro USB

Pas 2: cablejat

Cablejat
Cablejat
Cablejat
Cablejat

Tot i que el Raspberry Pi és un dispositiu elegant que inclou molts sensors i perifèrics diferents, hem d’afegir el sensor principal al cablejat del Pi perquè pugui fer les mesures que necessitem. El sensor principal utilitzat en aquest projecte es pot veure a la imatge superior –– és un sensor de vibracions amb alta sensibilitat. Tot i que podríem fer servir una placa de configuració o algun altre dispositiu de muntatge per col·locar aquest sensor i fer passar els cables, simplement el vam connectar mitjançant cables femella-femella directament als pins del dispositiu Raspberry Pi.

Es pot trobar un esquema de cablejat anterior (provinent de https://www.piddlerintheroot.com/vibration-sensor/). Simplement connecteu tots els cables com es mostra en aquesta imatge i el sensor de vibració hauria de ser bo. Tingueu en compte també que finalment necessitareu un paquet de bateries per a aquest projecte, però si esteu provant, és útil que el dispositiu estigui endollat a una presa de corrent.

Pas 3: Configuració de les coses

Felicitats! Heu arribat fins aquí. Seguim endavant!

Ara començarem a treballar directament amb el Pi. Tot el següent es pot fer al dispositiu amb un teclat i un monitor (o mitjançant SSH si us sentiu còmode).

Hi ha una gran quantitat de configuracions preliminars perquè qualsevol sensor GPIO funcioni amb un Pi i un Flask. La paciència és una virtut. Hi ha força biblioteques Python que hauràs d’instal·lar primer. Això es pot fer amb Pip, una biblioteca / gestor de paquets per a Python. Per utilitzar-lo, escriviu `pip install` Per anomenar algunes de les biblioteques que necessiteu:

  • sol·licituds
  • RPi. GPIO
  • matràs
  • matràs_restant
  • flask_wtf
  • wtforms
  • correu electrònic
  • mandril

És possible que vulgueu prendre un cafè mentre espereu que s’instal·lin - pot trigar una mica de temps.

Ara que totes les biblioteques estan instal·lades, ja esteu a punt per iniciar el vostre projecte Flask. Flask és un marc lleuger que proporciona pàgines des del dispositiu en què s’executa. En aquest cas, el Raspberry Pi es converteix en un servidor. Bastant astut, eh? Aquí podeu aprendre a configurar una aplicació Flask molt senzilla. Feu-ho abans d’intentar qualsevol de les instruccions posteriors.

Pas 4: Codi i execució

Un cop ho hàgiu completat, ja podreu començar a construir els fitxers del projecte. A continuació he inclòs tots els fitxers que necessiteu: és probable que reescriviu el codi i no només copieu-ne els fitxers (APRENDREU MÉS!).

A continuació, es mostren les organitzacions del directori:

+ - iotapp | + - carpeta d'aplicacions | + - plantilles | + - index.html | + - _init_.py | + - forms.py | + - mcemail.py | + - routes.py | + - iotapp.py | + - vibes.py

Col·loqueu tots aquests fitxers en aquest ordre correcte i hauríeu de poder posar en marxa el vostre projecte en poc temps. Per executar el servidor Flask, heu de navegar al directori arrel. A continuació, haureu d'escriure:

$ export FLASK_APP = iotapp.py

$ python -m flask run --host 0.0.0.0

Amb això, hauríeu de rebre un missatge que indiqui que el vostre servidor s'està executant i que podríeu publicar la pàgina del dispositiu a un altre dispositiu de la xarxa.

Ara seria un bon moment per examinar els vostres fitxers i provar realment de comprovar què fa el codi. Per descomptat, cap codi està configurat en pedra … tot es pot actualitzar / canviar per adaptar-se a les necessitats específiques del projecte. Per exemple, ara mateix, quan el dispositiu POST quan rep l'entrada del sensor de vibració, envia la marca de temps de quan s'ha produït l'entrada. Tot i això, el servidor no desa aquestes dades. Això es podria fer si l'usuari preferia conservar la informació històrica i volgués mostrar-la en algun lloc.

Una cosa que probablement notareu és que EL CODI NO ÉS COMPLET. Aquest projecte fa servir una API externa per enviar correus electrònics de notificació en cas de vibració (obertura de la porta). Per configurar-ho, haureu de crear un compte Mandrill i crear una clau API.

Un cop hàgiu verificat el domini d’enviament i tingueu una clau API, podeu col·locar-la al fitxer `mcemail.py` (on hi hagi) i ajustar la informació d’enviament (canviant el paràmetre predeterminat al mateix fitxer o passant en un altre missatge de correu electrònic al fitxer `routes.py`. Si voleu obtenir més documentació sobre Mandrill i com utilitzar-lo, podeu trobar-lo aquí.

Pas 5: proves

Proves
Proves

Abans de muntar el dispositiu a la seva ubicació permanent, probablement sigui una bona idea provar tot el que està fent. A continuació s’explica com s’executen les coses.

En realitat, el dispositiu executa dos programes: `vibes.py` i el servidor Flask. El primer s'ha d'executar primer en segon pla i després es pot executar el servidor Flask. "vibes.py" és simplement POSTing al servidor i aquest interpreta la sol·licitud POST.

$ python vibes.py &

$ python -m flask run --host 0.0.0.0

Aleshores hauríeu de poder anar a l’URI / IP correcte i definir l’adreça de correu electrònic a la qual voleu enviar totes les notificacions. Haureu de tocar el sensor de vibració per provar d’enviar correus electrònics de prova i assegurar-vos que el projecte funciona.

Tot pinta bé? D’acord, estem preparats per al negoci.

Pas 6: muntatge

Muntatge
Muntatge

El muntatge del dispositiu s’explica per si mateix. Bàsicament, només heu d’assegurar-vos que el dispositiu està connectat a la bateria i utilitzar tires de comandament per fixar el dispositiu a la porta.

Nota: el dispositiu s’ha de col·locar amb el sensor de vibracions perpendicular a la porta perquè el sensor capti el moviment de la porta

Un cop s'hagi completat, hauríeu de ser capaç de connectar SSH al dispositiu i executar els programes tal com es va esmentar al pas anterior i esperar els intrusos.

Per obtenir punts addicionals, intenteu amagar els cables o el dispositiu perquè els intrusos no sospitin del vostre intel·ligent dispositiu … o simplement no el col·loqueu a una porta de vidre. ¯ / _ (ツ) _ / ¯

Recomanat: