Kazalo:

Obvestilo o vratih Raspberry Pi: 6 korakov (s slikami)
Obvestilo o vratih Raspberry Pi: 6 korakov (s slikami)

Video: Obvestilo o vratih Raspberry Pi: 6 korakov (s slikami)

Video: Obvestilo o vratih Raspberry Pi: 6 korakov (s slikami)
Video: CS50 2013 - Week 9 2024, September
Anonim
Obvestilo o vratih Raspberry Pi
Obvestilo o vratih Raspberry Pi

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

Zaloge
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

Ožičenje
Ožičenje
Ožičenje
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

Testiranje
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

Montaža
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: