Cuprins:

Notificator de ușă Raspberry Pi: 6 pași (cu imagini)
Notificator de ușă Raspberry Pi: 6 pași (cu imagini)

Video: Notificator de ușă Raspberry Pi: 6 pași (cu imagini)

Video: Notificator de ușă Raspberry Pi: 6 pași (cu imagini)
Video: The Pi Cast (6/13) Raspberry Pi and Ethical Hacking with FC (Freakyclown) 2024, Noiembrie
Anonim
Notificator de ușă Raspberry Pi
Notificator de ușă Raspberry Pi

V-ați întrebat vreodată dacă sau când oamenii accesează ușile? Vrei un mod discret, ieftin și rapid de a monitoriza mișcarea ușii … și poate un mic proiect? Nu mai căuta! Acest dispozitiv simplist va urmări vibrațiile emise de ușile în mișcare și va raporta utilizatorului cu un e-mail la o adresă de e-mail specificată.

Acest proiect vă va oferi o anumită practică cu Flask, Raspberry Pis, senzori GPIO și API-ul Mandrill! Nu numai că este distractiv să construiești, dar are multă utilitate. Intrușii ferește-te …

Pasul 1: consumabile

Provizii
Provizii

Încă intenționați să construiți acest dispozitiv? Iată de ce veți avea nevoie:

  • Raspberry Pi 3
  • Card micro SD
  • 3 fire de la o femeie la alta
  • 1 senzor de vibrații
  • O bancă de putere
  • Benzi de comandă

Dacă intenționați să construiți acest proiect pentru mai multe uși, înmulțiți fiecare dintre consumabile cu câte dispozitive veți avea nevoie.

Dacă sunteți în procesul de construire / testare a acestui dispozitiv, nu este necesar să aveți următoarele … cu toate acestea, ar fi cu siguranță foarte util.

  • Un monitor de computer
  • O tastatură USB
  • Set de încărcare micro USB

Pasul 2: Cablare

Cablare
Cablare
Cablare
Cablare

În timp ce Raspberry Pi este un dispozitiv inteligent care este inclus cu o mulțime de senzori și periferice diferite, trebuie să adăugăm senzorul principal la cablajul Pi, astfel încât să poată face măsurătorile de care avem nevoie. Senzorul principal utilizat în acest proiect poate fi văzut în imaginea de mai sus - este un senzor de vibrații cu sensibilitate ridicată. În timp ce am putea folosi o placă de măsurare sau un alt dispozitiv de montare pentru a plasa acest senzor și pentru a ne rula firele, l-am conectat pur și simplu prin fire de la mamă la mamă direct la pinii de pe dispozitivul Raspberry Pi.

O schemă de cablare poate fi găsită mai sus (provenind de la https://www.piddlerintheroot.com/vibration-sensor/). Pur și simplu conectați toate firele așa cum se arată în această imagine, iar senzorul de vibrații ar trebui să fie bun. Rețineți, de asemenea, că veți avea nevoie în cele din urmă de un acumulator pentru acest proiect, dar dacă testați, este probabil util ca dispozitivul să fie conectat la o priză de perete.

Pasul 3: Setarea lucrurilor

Felicitări! Ai ajuns până aici. Sa continuam!

Acum vom începe să lucrăm direct cu Pi. Toate următoarele lucruri pot fi realizate pe dispozitiv cu tastatură și monitor (sau prin SSH dacă vă simțiți confortabil).

Există o mulțime de seturi preliminare pentru ca orice senzor GPIO să funcționeze cu un Pi și un Flask. Răbdarea este o virtute. Există destul de multe biblioteci Python pe care va trebui să le instalați mai întâi. Acest lucru se poate face cu Pip, un manager de bibliotecă / pachet pentru Python. Pentru utilizare, tastați `pip install` Pentru a denumi unele biblioteci de care aveți nevoie:

  • solicitări
  • RPi. GPIO
  • balon
  • balon_restful
  • flask_wtf
  • wtforms
  • e-mail
  • mandril

Poate doriți să luați o cafea în timp ce așteptați instalarea acestora - poate dura puțin.

Acum, că toate bibliotecile dvs. sunt instalate, sunteți gata să începeți proiectul Flask. Flask este un cadru ușor care servește pagini de pe dispozitivul pe care rulează. În acest caz, Raspberry Pi devine un server. Destul de ingenios, nu? Puteți afla cum să configurați o aplicație Flask foarte simplă aici. Vă rugăm să faceți acest lucru înainte de a încerca oricare dintre instrucțiuni după aceasta.

Pasul 4: Cod și rulare

După ce ați finalizat acest lucru, sunteți gata să începeți să construiți fișierele proiectului. Am inclus mai jos toate fișierele de care aveți nevoie - probabil ar trebui să rescrieți codul, însă nu doar să copiați fișierele peste (VĂ AFLAȚI MAI MULT!).

Iată cum ar trebui să arate organizațiile din director:

+ - iotapp | + - appFolder | + - șabloane | + - index.html | + - _init_.py | + - forms.py | + - mcemail.py | + - routes.py | + - iotapp.py | + - vibes.py

Plasați toate aceste fișiere în această ordine corectă și ar trebui să puteți lansa proiectul în curând. Pentru a rula apoi serverul Flask ar trebui să navigați la directorul rădăcină. Apoi ar trebui să tastați:

$ export FLASK_APP = iotapp.py

$ python -m balonul rulează --host 0.0.0.0

Cu aceasta, ar trebui să primiți un mesaj care să indice că serverul dvs. rulează și că ar trebui să puteți difuza pagina de pe dispozitiv pe alt dispozitiv din rețea.

Acum ar fi un moment bun să vă uitați prin fișiere și să încercați cu adevărat să aflați ce face codul. Desigur, niciunul dintre coduri nu este setat în piatră … toate pot fi actualizate / modificate pentru a se potrivi nevoilor specifice proiectului. De exemplu, încă din momentul în care dispozitivul POST la recepționarea intrării de la senzorul de vibrații, acesta trimite ora de timp când a avut loc intrarea. Cu toate acestea, serverul nu salvează aceste date. Acest lucru s-ar putea face dacă utilizatorul ar prefera să păstreze informațiile istorice și ar dori să le arate undeva.

Un lucru pe care probabil îl veți observa este că CODUL NU ESTE COMPLET. Acest proiect folosește un API extern pentru trimiterea e-mailurilor de notificare la vibrații (deschiderea ușii). Pentru a configura acest lucru, va trebui să creați un cont Mandrill și să creați o cheie API.

După ce v-ați verificat domeniul de trimitere și aveți o cheie API, puteți plasa cheia în fișierul `mcemail.py` (acolo unde este prezent) și puteți ajusta informațiile de trimitere (fie schimbând parametrul implicit din același fișier, fie trecând într-un e-mail diferit din fișierul `routes.py`. Dacă doriți mai multe documente despre Mandrill și cum să o utilizați, o puteți găsi aici.

Pasul 5: Testare

Testarea
Testarea

Înainte de a monta dispozitivul în locația sa permanentă, este probabil o idee bună să testați tot ceea ce face. Iată cum conduceți lucrurile.

Dispozitivul rulează de fapt două programe: `vibes.py` și serverul Flask. Primul ar trebui să fie rulat mai întâi în fundal și apoi poate fi rulat serverul Flask. „vibes.py” este pur și simplu POSTing către server, iar acesta interpretează cererea POST.

$ python vibes.py &

$ python -m balonul rulează --host 0.0.0.0

Apoi, ar trebui să puteți naviga la URI / IP corect și să setați adresa de e-mail la care doriți să trimiteți toate notificările. Ar trebui să atingeți senzorul de vibrații pentru a încerca să trimiteți câteva e-mailuri de testare și să vă asigurați că proiectul funcționează.

Totul arată bine? Bine, suntem pregătiți pentru afaceri!

Pasul 6: Montare

Montare
Montare

Montarea dispozitivului se explică de la sine. Practic, trebuie doar să vă asigurați că dispozitivul este conectat la acumulator și să utilizați benzi de comandă pentru a fixa dispozitivul pe ușă.

Notă: dispozitivul trebuie poziționat cu senzorul de vibrații perpendicular pe ușă pentru ca senzorul să capteze mișcarea ușii

Odată ce acest lucru este finalizat, ar trebui să puteți înregistra SSH pe dispozitiv și să rulați programele așa cum s-a menționat în pasul anterior și să așteptați intrușii!

Pentru puncte suplimentare, încercați să ascundeți firele / dispozitivul, astfel încât intrușii să nu fie suspecți cu privire la dispozitivul dvs. inteligent! … sau pur și simplu nu îl așezați pe o ușă de sticlă. ¯ / _ (ツ) _ / ¯

Recomandat: