Innehållsförteckning:

Raspberry Pi Door Notifier: 6 steg (med bilder)
Raspberry Pi Door Notifier: 6 steg (med bilder)

Video: Raspberry Pi Door Notifier: 6 steg (med bilder)

Video: Raspberry Pi Door Notifier: 6 steg (med bilder)
Video: Amazing arduino project 2024, September
Anonim
Raspberry Pi Door Notifier
Raspberry Pi Door Notifier

Har du någonsin undrat om eller när människor kommer åt dörrar? Vill du ha ett diskret, billigt och snabbt sätt att övervaka dörrrörelser … och kanske ett litet projekt? Kolla inte vidare! Denna förenklade enhet kommer att spåra vibrationer som avges från rörliga dörrar och rapportera tillbaka till användaren med ett e -postmeddelande till en viss e -postadress.

Detta projekt ger dig lite övning med Flask, Raspberry Pis, GPIO -sensorer och Mandrill API! Det är inte bara roligt att bygga, det har mycket nytta. Inkräktare se upp …

Steg 1: Tillbehör

Tillbehör
Tillbehör

Planerar du fortfarande att bygga denna utrustning? Här är vad du behöver:

  • Raspberry Pi 3
  • Micro SD -kort
  • 3 hona till hona trådar
  • 1 vibrationssensor
  • En powerbank
  • Kommandoremsor

Om du planerar att bygga detta projekt för flera dörrar, multiplicera varje tillbehör med hur många enheter du behöver.

Om du håller på att bygga/testa den här enheten är det inte nödvändigt att ha följande … men det skulle definitivt vara till stor hjälp.

  • En datorskärm
  • Ett USB -tangentbord
  • Micro USB laddningssats

Steg 2: Kabeldragning

Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning

Medan Raspberry Pi är en fin enhet som levereras med många olika sensorer och kringutrustning, måste vi lägga till huvudsensorn till ledningarna på Pi så att den kan göra de mått vi behöver. Huvudsensorn som används i detta projekt kan ses på bilden ovan –– det är en vibrationssensor med hög känslighet. Även om vi kunde använda en brödbräda eller någon annan monteringsenhet för att placera den här sensorn på och driva våra ledningar, kopplade vi den helt enkelt via hon-till-hon-trådar direkt till stiften på Raspberry Pi-enheten.

En kopplingsschema finns ovan (härrör från https://www.piddlerintheroot.com/vibration-sensor/). Anslut helt enkelt alla ledningar som visas i den här bilden och din vibrationssensor ska vara bra att gå. Observera också att du så småningom kommer att behöva ett batteri för det här projektet, men om du testar är det förmodligen bra att ha enheten ansluten till ett vägguttag.

Steg 3: Ställa in saker

grattis! Du har kommit så här långt. Låt oss fortsätta!

Vi ska nu börja arbeta direkt med Pi. Allt följande kan göras på enheten med ett tangentbord och en bildskärm (eller via SSH om du känner dig bekväm).

Det finns en hel del preliminära inställningar för att få alla GPIO -sensorer att fungera med en Pi och kolv. Tålamod är en dygd. Det finns en hel del Python -bibliotek du måste installera först. Detta kan göras med Pip, ett bibliotek/pakethanterare för Python. För att använda, skriv in 'pip install' För att namnge några av de bibliotek du behöver:

  • förfrågningar
  • RPi. GPIO
  • flaska
  • flask_restful
  • flask_wtf
  • wtforms
  • e-post
  • mandrill

Du kanske vill ta en kaffe medan du väntar på att dessa ska installeras - det kan ta lite tid.

Nu när alla dina bibliotek är installerade är du redo att starta ditt Flask -projekt. Flask är en lätt ram som serverar sidor från enheten som den körs på. I det här fallet blir Raspberry Pi en server. Ganska snyggt, va? Du kan lära dig hur du konfigurerar en mycket enkel Flask -applikation här. Gör detta innan du försöker någon av instruktionerna efter detta.

Steg 4: Kod och körning

När du har slutfört detta är du redo att börja bygga ut projektfilerna. Jag har inkluderat alla de filer du behöver nedan –– du bör förmodligen skriva om koden, men inte bara kopiera filerna (du lär dig mer!).

Så här ska katalogorganisationerna se ut:

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

Placera alla dessa filer i rätt ordning och du bör kunna få igång ditt projekt på nolltid. För att sedan köra din Flask -server bör du navigera till rotkatalogen. Du bör då skriva:

$ export FLASK_APP = iotapp.py

$ python -m kolvkörning -värd 0.0.0.0

Med detta bör du få ett meddelande som anger att din server körs och du bör kunna visa sidan från enheten till en annan enhet i nätverket.

Nu skulle det vara en bra tid att titta igenom dina filer och verkligen försöka få en uppfattning om vad koden gör. Naturligtvis är ingen av koden gjord i sten … den kan allt uppdateras/ändras för att passa projektspecifika behov. Till exempel, från och med nu när enheten postar när den tar emot inmatning från vibrationssensorn, skickar den tidsstämpeln när ingången inträffade. Servern sparar dock inte dessa data. Detta kan göras om användaren föredrar att behålla historisk information och vill visa den någonstans.

En sak du säkert kommer att märka är att KODEN INTE ÄR FULLKOMMEN. Detta projekt använder ett externt API för att skicka ut e -postmeddelanden vid vibrationer (dörröppning). För att konfigurera detta måste du skapa ett Mandrill -konto och skapa en API -nyckel.

När du har verifierat din sändande domän och har en API -nyckel kan du placera nyckeln i filen 'mcemail.py' (där den finns) och justera sändningsinformationen (antingen genom att ändra standardparametern i samma fil eller genom att skicka i ett annat e -postmeddelande i filen 'routes.py'. Om du vill ha mer dokumentation om Mandrill och hur du använder det kan du hitta det här.

Steg 5: Testning

Testning
Testning

Innan du monterar enheten på dess permanenta plats är det förmodligen en bra idé att testa allt det gör. Så här kör du grejerna.

Enheten kör faktiskt två program: 'vibes.py' och Flask -servern. Den förstnämnda bör köras först i bakgrunden och sedan kan kolvservern köras. 'vibes.py' är helt enkelt POSTing till servern och servern tolkar POST -begäran.

$ python vibes.py &

$ python -m kolvkörning -värd 0.0.0.0

Du bör då kunna navigera till rätt URI/IP och ställa in den e -postadress du vill skicka alla dina aviseringar till. Du bör trycka på vibrationssensorn för att försöka skicka några testmeddelanden och se till att projektet fungerar.

Ser allt bra ut? Okej, vi är redo för affärer!

Steg 6: Montering

Montering
Montering

Att montera enheten är ganska självförklarande. I grund och botten måste du bara se till att enheten är ansluten till batteriet och använda kommandoremsor för att fästa enheten på dörren.

Obs! Enheten måste placeras med vibrationssensorn vinkelrätt mot dörren för att sensorn ska fånga dörrens rörelse

När detta är klart bör du kunna SSH in i enheten och köra programmen som nämnts i föregående steg och vänta på inkräktare!

För extra poäng, försök att dölja trådarna/enheten så att inkräktare inte misstänker din smarta enhet! … eller placera den inte på en glasdörr. ¯ / _ (ツ) _/¯

Rekommenderad: