Innholdsfortegnelse:
- Trinn 1: Rekvisita
- Trinn 2: Kabling
- Trinn 3: Sette opp ting
- Trinn 4: Kode og kjøring
- Trinn 5: Testing
- Trinn 6: Montering
Video: Raspberry Pi Door Notifier: 6 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Har du noen gang lurt på om eller når folk får tilgang til dører? Vil du ha en diskret, billig og rask måte å overvåke dørbevegelser på … og kanskje et lite prosjekt? Ser ikke lenger! Denne forenklede enheten vil spore vibrasjoner avgitt fra bevegelige dører og rapportere tilbake til brukeren med en e -post til en spesifisert e -postadresse.
Dette prosjektet gir deg litt øvelse med Flask, Raspberry Pis, GPIO -sensorer og Mandrill API! Ikke bare er det morsomt å bygge, men det har mye nytte. Inntrengere pass på…
Trinn 1: Rekvisita
Planlegger du fortsatt å bygge dette utstyret? Her er hva du trenger:
- Raspberry Pi 3
- Micro SD -kort
- 3 hunn-til-hunn ledninger
- 1 vibrasjonssensor
- En kraftbank
- Kommandostrimler
Hvis du planlegger å bygge dette prosjektet for flere dører, multipliserer du hver av rekvisita med hvor mange enheter du trenger.
Hvis du er i ferd med å bygge/teste denne enheten, er det ikke nødvendig å ha følgende … men det vil definitivt være veldig nyttig.
- En dataskjerm
- Et USB -tastatur
- Micro USB ladesett
Trinn 2: Kabling
Mens Raspberry Pi er en fin enhet som følger med mange forskjellige sensorer og eksterne enheter, må vi legge til hovedsensoren til ledningene til Pi, slik at den kan gjøre de målingene vi trenger. Hovedsensoren som ble brukt i dette prosjektet kan sees på bildet ovenfor - det er en vibrasjonssensor med høy følsomhet. Selv om vi kunne bruke et brødbrett eller en annen monteringsenhet for å plassere denne sensoren og kjøre ledningene våre, koblet vi den rett og slett direkte via hunn-til-hunn-ledninger til pinnene på Raspberry Pi-enheten.
Du finner en kabeldiagram over (fra https://www.piddlerintheroot.com/vibration-sensor/). Bare koble til alle ledningene som vist på dette bildet, og vibrasjonssensoren din skal være god å gå. Vær også oppmerksom på at du til slutt trenger en batteripakke til dette prosjektet, men hvis du tester, er det sannsynligvis nyttig å koble enheten til en stikkontakt.
Trinn 3: Sette opp ting
Gratulerer! Du har kommet så langt. La oss fortsette!
Vi skal nå begynne å jobbe direkte med Pi. Alt det følgende kan gjøres på enheten med et tastatur og en skjerm (eller via SSH hvis du er komfortabel).
Det er mye forhåndsoppsett for å få alle GPIO -sensorer til å fungere med en Pi og kolbe. Tålmodighet er en dyd. Det er ganske mange Python -biblioteker du må installere først. Dette kan gjøres med Pip, et bibliotek/pakkebehandler for Python. For å bruke, skriv inn 'pip install' For å nevne noen av bibliotekene du trenger:
- forespørsler
- RPi. GPIO
- kolbe
- flask_restful
- flask_wtf
- wtforms
- e -post
- mandrill
Det kan være lurt å ta en kaffe mens du venter på at disse skal installeres - det kan ta litt tid.
Nå som alle bibliotekene er installert, er du klar til å starte Flask -prosjektet. Flask er et lett rammeverk som serverer sider fra enheten den kjører på. I dette tilfellet blir Raspberry Pi en server. Ganske kjapt, ikke sant? Du kan lære hvordan du konfigurerer en veldig enkel Flask -applikasjon her. Gjør dette før du prøver noen av instruksjonene etter dette.
Trinn 4: Kode og kjøring
Når du har fullført dette, er du klar til å begynne å bygge ut prosjektfilene. Jeg har tatt med alle filene du trenger nedenfor –– du bør imidlertid skrive om koden, og ikke bare kopiere filene over (DU LER MER!).
Slik skal katalogorganisasjonene se ut:
+- iotapp | +- appFolder | +- maler | +- index.html | +- _init_.py | +- forms.py | +- mcemail.py | +- ruter.py | +- iotapp.py | +- vibes.py
Plasser alle disse filene i denne riktige rekkefølgen, og du bør være i stand til å få prosjektet i gang på kort tid. For deretter å kjøre din Flask -server, bør du navigere til rotkatalogen. Du bør da skrive:
$ eksport FLASK_APP = iotapp.py
$ python -m kolbe kjøre -vert 0.0.0.0
Med dette bør du få en melding som indikerer at serveren din kjører, og du bør kunne vise siden fra enheten til en annen enhet i nettverket.
Det ville være et godt tidspunkt å se gjennom filene dine og virkelig prøve å få en oversikt over hva koden gjør. Selvfølgelig er ingen av koden satt i stein … den kan alt oppdateres/endres for å passe til prosjektspesifikke behov. For eksempel, for øyeblikket når enheten poster etter mottak av inndata fra vibrasjonssensoren, sender den tidsstempelet da inngangen skjedde. Serveren lagrer imidlertid ikke disse dataene. Dette kan gjøres hvis brukeren foretrekker å beholde historisk informasjon og ønsker å vise den et sted.
En ting du sannsynligvis vil legge merke til er at KODEN IKKE ER FULLFØRT. Dette prosjektet bruker en ekstern API for å sende ut varselmeldinger ved vibrasjon (døråpning). For å konfigurere dette må du opprette en Mandrill -konto og opprette en API -nøkkel.
Når du har bekreftet sendende domene og har en API -nøkkel, kan du plassere nøkkelen i filen 'mcemail.py' (hvor den er til stede) og justere sendeinformasjonen (enten ved å endre standardparameteren i samme fil eller ved å sende i en annen e -post i filen 'routes.py'. Hvis du vil ha mer dokumentasjon om Mandrill og hvordan du bruker den, kan du finne det her.
Trinn 5: Testing
Før du monterer enheten på den permanente plasseringen, er det sannsynligvis en god idé å teste alt den gjør. Slik kjører du tingene.
Enheten kjører faktisk to programmer: `vibes.py` og Flask -serveren. Førstnevnte skal kjøres først i bakgrunnen, og deretter kan Flask -serveren kjøres. `vibes.py` er ganske enkelt POSTing til serveren, og serveren tolker POST -forespørselen.
$ python vibes.py &
$ python -m kolbe kjøre -vert 0.0.0.0
Du bør da kunne navigere til riktig URI/IP og angi e -postadressen du vil sende alle varslene dine til. Du bør trykke på vibrasjonssensoren for å prøve å sende noen test -e -poster og sikre at prosjektet fungerer.
Ser alt bra ut? Ok, vi er klare for virksomheten!
Trinn 6: Montering
Montering av enheten er ganske selvforklarende. I utgangspunktet må du bare sørge for at enheten er koblet til batteripakken og bruke kommandostrimler for å feste enheten på døren.
Merk: Enheten må plasseres med vibrasjonssensoren vinkelrett på døren for at sensoren skal fange dørens bevegelse
Når dette er fullført, bør du kunne SSH inn i enheten og kjøre programmene som nevnt i forrige trinn og vente på inntrengere!
For ekstra poeng, prøv å skjule ledningene/enheten, slik at inntrengere ikke mistenker din smarte enhet! … eller ikke plasser den på en glassdør. ¯ / _ (ツ) _/¯
Anbefalt:
Batteridrevet Shed Door & Lock Sensor, Solar, ESP8266, ESP-Now, MQTT: 4 trinn (med bilder)
Batteridrevet skjulte dør- og låsesensor, Solar, ESP8266, ESP-Now, MQTT: I denne instruksjonsfilen viser jeg deg hvordan jeg lagde en batteridrevet sensor for å overvåke døren og låse statusen til det eksterne sykkelskuret mitt. Jeg har ikke strøm, derfor har jeg den batteridrevet. Batteriet lades av et lite solcellepanel. Modulen er d
Hip Hop Door Bell: 9 trinn (med bilder)
Hip Hop Door Bell: En dørklokke med flere prøver og en platespiller du faktisk kan klø på! Så, et par år tilbake etter et Facebook -innlegg om en idé om en dørklokke med separate ringer for hver person i huset mitt, kameraten min kastet inn ideen om at den skulle inkludere
YouTube Desktop Notifier: 11 trinn (med bilder)
YouTube Desktop Notifier: Får du mareritt om å miste YouTube -abonnenter? Hvis du gjør det, er du ikke den eneste. Heldigvis har jeg laget denne " YouTube Desktop Notifier " for å holde meg oppdatert med kanalene mine Abonnent og visningstall. Dette veldig enkle DIY -prosjektet
Blüp: Bubble Notifier: 11 trinn (med bilder)
Blüp: Bubble Notifier: Jeg har lett etter et mykere, mindre brått varslingssystem enn et vibrasjons-, lyd- eller lysbasert varsel. Jeg fant ikke noe som passet til disse kriteriene, så jeg bestemte meg for å lage mitt eget. Videre ønsket jeg at løsningen min skulle inkludere min personlige
Arduino Christmas Notifier: 5 trinn (med bilder)
Arduino Christmas Notifier: Julen er rett rundt hjørnet nå, og jeg har konkludert med at jeg ikke vil la det gå ved å bare ha mine DIY Arduino Christmas Lights. Hva ville være et perfekt prosjekt som involverer en julemelodi? Ja, ikke sant! La folk få vite at det er jul