Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:11
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
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
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
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
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:
Custom Door Mat Triggered Door Bell .: 6 steg
Custom Door Mat Triggered Door Bell .: Hej! Jag heter Justin, jag är junior på gymnasiet, och denna instruktionsbok visar dig hur du gör en dörrklocka som utlöses när någon kliver på din dörrmatta och kan vara vilken låt eller låt du vill! Eftersom dörrmattan utlöser dörren
IoT Notifier med ESP-12E: 7 steg (med bilder)
IoT Notifier Använda ESP-12E: Fastnat hemma från din älskade? Under denna svåra tid kommer det här roliga lilla projektet definitivt att försöka få ett leende på läpparna. I denna instruktionsbok kommer jag att visa dig hur du visar aviseringar från din mobiltelefon i form av
YouTube Desktop Notifier: 11 steg (med bilder)
YouTube Desktop Notifier: Får du mardrömmar om att förlora dina YouTube -prenumeranter? Om du gör det är du inte den enda. Lyckligtvis har jag gjort denna " YouTube Desktop Notifier " för att hålla mig uppdaterad om mina kanaler Prenumerant och antal visningar. Detta mycket enkla DIY -projekt
Blüp: Bubble Notifier: 11 steg (med bilder)
Blüp: Bubble Notifier: Jag har letat efter ett mjukare, mindre abrupt aviseringssystem än ett vibrations-, ljud- eller ljusbaserat meddelande. Jag kunde inte hitta något som passade dessa kriterier så jag bestämde mig för att göra mitt eget. Dessutom ville jag att min lösning skulle införliva min personliga
Arduino Christmas Notifier: 5 steg (med bilder)
Arduino Christmas Notifier: Julen är precis runt hörnet nu, och jag har kommit fram till att jag inte kommer att släppa det genom att bara ha mina DIY Arduino Christmas Lights. Vad skulle vara ett perfekt projekt med en julmelodi? Ja exakt! Låt folk veta att det är jul