Kazalo:
- 1. korak: Zaloge
- 2. korak: Ožičenje
- 3. korak: Nastavitev stvari
- 4. korak: Koda in zagon
- 5. korak: Testiranje
- Korak 6: Montaža
Video: Obvestilo o vratih Raspberry Pi: 6 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Ste se kdaj vprašali, ali ljudje dostopajo do vrat? Ali želite diskreten, poceni in hiter način za spremljanje premikanja vrat … in morda majhen projekt? Ne glej več! Ta poenostavljena naprava bo spremljala vibracije, ki jih oddajajo premikajoča se vrata, in uporabniku poročala po e -pošti na določen e -poštni naslov.
Ta projekt vam bo omogočil nekaj vaje s senzorji Flask, Raspberry Pis, GPIO in API -jem Mandrill! Ne samo, da je zabavno graditi, ampak ima tudi veliko uporabnosti. Vsiljivci pozor!
1. korak: Zaloge
Ali še načrtujete gradnjo te naprave? Tukaj boste potrebovali:
- Malina Pi 3
- Micro SD kartica
- 3 žice ženski na ženski
- 1 senzor vibracij
- Banka moči
- Ukazni trakovi
Če nameravate graditi ta projekt za več vrat, pomnožite vsako zalogo s številom naprav, ki jih potrebujete.
Če ste v postopku izdelave/testiranja te naprave, ni nujno, da imate naslednje … vsekakor pa bi bilo v veliko pomoč.
- Računalniški monitor
- USB tipkovnica
- Komplet za polnjenje mikro USB
2. korak: Ožičenje
Čeprav je Raspberry Pi odlična naprava, ki je opremljena z veliko različnimi senzorji in zunanjimi napravami, moramo ožičenju Pi dodati glavni senzor, da lahko izvede potrebne meritve. Glavni senzor, uporabljen v tem projektu, je prikazan na zgornji sliki - to je senzor vibracij z visoko občutljivostjo. Čeprav bi lahko uporabili ploščico ali kakšno drugo pritrdilno napravo, da bi namestili ta senzor in napeljali naše žice, smo ga preprosto povezali prek žic žensko-žensko neposredno na zatiče na napravi Raspberry Pi.
Shema ožičenja je navedena zgoraj (izvira iz https://www.piddlerintheroot.com/vibration-sensor/). Preprosto povežite vse žice, kot je prikazano na tej sliki, in vaš senzor vibracij mora biti pripravljen. Upoštevajte tudi, da boste za ta projekt sčasoma potrebovali baterijo, če pa preizkušate, je verjetno koristno, da napravo priključite v stensko vtičnico.
3. korak: Nastavitev stvari
Čestitke! Tako daleč vam je uspelo. Nadaljujmo!
Zdaj bomo začeli delati neposredno s Pi. Vse naslednje lahko na napravi naredite s tipkovnico in monitorjem (ali prek SSH, če vam je udobno).
Obstaja veliko predhodnih nastavitev, da kateri koli senzor GPIO deluje s Pi in Flask. Potrpežljivost je vrlina. Obstaja kar nekaj knjižnic Python, ki jih boste morali najprej namestiti. To lahko storite s Pipom, upraviteljem knjižnic/paketov za Python. Za uporabo vnesite `pip install` Če želite poimenovati nekatere knjižnice, ki jih potrebujete:
- zahteve
- RPi. GPIO
- bučko
- flask_restful
- flask_wtf
- wtforms
- E-naslov
- mandril
Morda boste želeli popiti kavo, medtem ko čakate, da se ti namestijo - lahko traja nekaj časa.
Zdaj, ko so vse vaše knjižnice nameščene, ste pripravljeni za začetek projekta Flask. Flask je lahek okvir, ki streže strani iz naprave, na kateri deluje. V tem primeru Raspberry Pi postane strežnik. Precej pridno, kajne? Tukaj se lahko naučite, kako nastaviti zelo preprosto aplikacijo Flask. Prosimo, da to storite, preden poskusite katero koli navodilo po tem.
4. korak: Koda in zagon
Ko to dokončate, ste pripravljeni na izdelavo projektnih datotek. Spodaj sem vključil vse datoteke, ki jih boste potrebovali - verjetno bi morali kodo prepisati, ne pa samo kopirati datotek (VEČ SE VEDETE!).
Tako bi morale izgledati imeniške organizacije:
+- iotapp | +- appFolder | +- predloge | +- index.html | +- _init_.py | +- forms.py | +- mcemail.py | +- routes.py | +- iotapp.py | +- vibes.py
Vse te datoteke razporedite v tem pravilnem vrstnem redu in takoj boste lahko začeli izvajati svoj projekt. Če želite nato zagnati strežnik Flask, se pomaknite do korenskega imenika. Nato morate vnesti:
$ export FLASK_APP = iotapp.py
$ python -m zagon bučke --host 0.0.0.0
S tem bi morali dobiti sporočilo, ki označuje, da strežnik deluje, stran pa bi morali vročiti iz naprave v drugo napravo v omrežju.
Zdaj bi bil pravi čas, da pregledate svoje datoteke in resnično poskusite razumeti, kaj koda počne. Seveda nobena koda ni v kamnu… vse je mogoče posodobiti/spremeniti tako, da ustreza potrebam projekta. Na primer, zdaj, ko naprava POST objavi, ko prejme vhod od senzorja vibracij, pošlje časovni žig, kdaj je prišlo do vnosa. Vendar strežnik teh podatkov ne shranjuje. To bi lahko storili, če bi uporabnik raje hranil zgodovinske podatke in jih želel nekje pokazati.
Ena stvar, ki jo boste verjetno opazili, je, da KODA NI POPOLNA. Ta projekt uporablja zunanji API za pošiljanje e -poštnih sporočil ob vibracijah (odpiranje vrat). Če želite to nastaviti, morate ustvariti račun Mandrill in ustvariti ključ API.
Ko potrdite svojo domeno pošiljatelja in imate ključ API, lahko svoj ključ postavite v datoteko `mcemail.py` (kjer je prisotna) in prilagodite podatke za pošiljanje (bodisi s spreminjanjem privzetega parametra v isti datoteki bodisi s prenosom v drugem e -poštnem sporočilu v datoteki `routes.py`. Če želite več dokumentacije o Mandrillu in kako ga uporabljati, ga najdete tukaj.
5. korak: Testiranje
Preden napravo namestite na njeno stalno mesto, je verjetno dobro, da preizkusite vse, kar počne. Evo, kako vodite stvari.
Naprava dejansko izvaja dva programa: `vibes.py` in strežnik Flask. Prvo je treba najprej zagnati v ozadju, nato pa strežnik Flask. `vibes.py` preprosto objavi na strežniku in strežnik razlaga zahtevo POST.
$ python vibes.py &
$ python -m zagon bučke --host 0.0.0.0
Nato bi se morali pomakniti na pravilen URI/IP in nastaviti e -poštni naslov, na katerega želite poslati vsa obvestila. Dotaknite se senzorja vibracij, da poskusite poslati nekaj testnih e -poštnih sporočil in se prepričajte, da projekt deluje.
Vse izgleda dobro? V redu, pripravljeni smo na posel!
Korak 6: Montaža
Namestitev naprave je precej samoumevna. V bistvu morate le zagotoviti, da je naprava priključena na baterijo, in z ukaznimi trakovi pritrdite napravo na vrata.
Opomba: naprava mora biti nameščena s senzorjem vibracij pravokotno na vrata, da senzor ujame gibanje vrat
Ko je to končano, bi morali imeti možnost, da v napravo vnesete SSH in zaženete programe, kot je omenjeno v prejšnjem koraku, ter počakajte na vsiljivce!
Za dodatne točke poskusite skriti žice/napravo, da vsiljivci ne bodo sumljivi v vašo pametno napravo! … ali pa je preprosto ne postavite na steklena vrata. ¯ / _ (ツ) _/¯
Priporočena:
Obvestilo klicev Bluetooth: 5 korakov (s slikami)
Obvestilo klicev Bluetooth: Uvod Pred nekaj dnevi, ko sem naletel na ta projekt, sem brskal po novicah z navodili. To je bil kul projekt. Toda pomislil sem, zakaj ga ne bi zgradili z Bluetoothom namesto zapletenih stvari wifi. Specifikacija tega obvestila o klicu Bluetooth
Obvestilo o zvonjenju pri vratih za osebe z okvaro sluha prek avtomatizacije doma (ESP-zdaj, MQTT, Openhab): 3 koraki
Obvestilo o vratnem zvoncu za slušno prizadete prek avtomatizacije doma (ESP-zdaj, MQTT, Openhab): V tem navodilu vam pokažem, kako sem svoj običajni zvonec za vrata vključil v domačo avtomatizacijo. Ta rešitev je zelo primerna za osebe z okvaro sluha.V mojem primeru jo uporabljam za obveščanje, če je soba zasedena in hrupna na rojstnodnevni zabavi otrok. JAZ
Obvestilo o nabiralniku in garažnih vratih: 5 korakov (s slikami)
Obvestilo o nabiralnikih in garažnih vratih: Ta navodila temeljijo na obvestilu o nabiralnikih Johan Moberg. V primerjavi s tem projektom sem naredil nekaj sprememb: daleč od moje hiše ni le nabiralnik, ampak tudi garaža. Nahajajo se na eni lokaciji blizu ceste, hiša pa se nahaja približno 5
Opozorilo za pralno -sušilni stroj Arduino - potisno obvestilo na telefon z Blynkom: 5 korakov (s slikami)
Opozorilo o pralno -sušilnem stroju Arduino - Potisnite obvestilo na telefon z Blynkom: Naš pralni stroj je v garaži in ne slišimo piskov, ki označujejo, da je pranje končano. Želel sem najti način za obveščanje, kjer koli smo v hiši, ko je cikel končan. Poigraval sem se z Arduinom, ESP8266 WiFi
Arduino božično obvestilo: 5 korakov (s slikami)
Arduino Christmas Notifier: Božič je tik za vogalom in sklenil sem, da tega ne bom pustil, če imam samo božične luči Arduino DIY. Kaj bi bil popoln projekt, ki vključuje božično melodijo? Ja prav! Dati ljudem vedeti, da je božič