Turinys:

„Raspberry Pi“durų pranešėjas: 6 žingsniai (su nuotraukomis)
„Raspberry Pi“durų pranešėjas: 6 žingsniai (su nuotraukomis)

Video: „Raspberry Pi“durų pranešėjas: 6 žingsniai (su nuotraukomis)

Video: „Raspberry Pi“durų pranešėjas: 6 žingsniai (su nuotraukomis)
Video: Mano darbas – stebėti mišką ir čia vyksta kažkas keisto. 2024, Rugsėjis
Anonim
„Raspberry Pi“durų pranešėjas
„Raspberry Pi“durų pranešėjas

Ar kada susimąstėte, ar ir kada žmonės prieina prie durų? Ar norite diskretiško, pigaus ir greito durų judėjimo stebėjimo būdo … ir galbūt nedidelio projekto? Neziurek i prieki! Šis supaprastintas įrenginys stebės vibracijas, sklindančias iš judančių durų, ir praneš apie tai vartotojui el. Paštu nurodytu el. Pašto adresu.

Šis projektas suteiks jums šiek tiek praktikos naudojant „Flask“, „Raspberry Pis“, GPIO jutiklius ir „Mandrill“API! Tai ne tik smagu statyti, bet ir labai naudinga. Įsibrovėliai saugokitės…

1 žingsnis: reikmenys

Prekės
Prekės

Vis dar planuojate statyti šį įrenginį? Štai ko jums reikės:

  • Raspberry Pi 3
  • Micro SD kortelė
  • 3 laidai tarp moterų ir moterų
  • 1 vibracijos jutiklis
  • Galios bankas
  • Komandų juostelės

Jei planuojate statyti šį projektą kelioms durims, padauginkite kiekvieną iš reikiamų įrenginių.

Jei kuriate/bandote šį įrenginį, nebūtina turėti šių dalykų … tačiau tai tikrai būtų labai naudinga.

  • Kompiuterio monitorius
  • USB klaviatūra
  • „Micro USB“įkrovimo rinkinys

2 žingsnis: laidų prijungimas

Laidai
Laidai
Laidai
Laidai

Nors „Raspberry Pi“yra puikus įrenginys, pateikiamas kartu su daugybe įvairių jutiklių ir išorinių įrenginių, prie „Pi“laidų turime pridėti pagrindinį jutiklį, kad jis galėtų atlikti reikiamus matavimus. Pagrindinis šiame projekte naudojamas jutiklis matomas aukščiau esančioje nuotraukoje - tai didelio jautrumo vibracijos jutiklis. Nors mes galėjome naudoti duonos lentą ar kitą tvirtinimo įtaisą, kad galėtume įdėti šį jutiklį ir pravesti laidus, mes tiesiog prijungėme jį per laidus iš moterų tiesiai į „Raspberry Pi“įrenginio kaiščius.

Elektros instaliacijos schemą rasite aukščiau (kilusi iš https://www.piddlerintheroot.com/vibration-sensor/). Tiesiog prijunkite visus laidus, kaip parodyta šiame paveikslėlyje, ir jūsų vibracijos jutiklis turėtų būti tinkamas. Taip pat atkreipkite dėmesį, kad šiam projektui ilgainiui prireiks akumuliatoriaus, tačiau jei bandysite, tikriausiai pravartu įrenginį prijungti prie sieninio lizdo.

3 žingsnis: Daiktų nustatymas

Sveikinimai! Jums pavyko taip toli. Tęskime!

Dabar pradėsime dirbti tiesiogiai su „Pi“. Visa tai galima padaryti įrenginyje su klaviatūra ir monitoriumi (arba per SSH, jei jums patogu).

Yra daug preliminarių nustatymų, kad bet koks GPIO jutiklis veiktų su „Pi“ir kolba. Kantrybė yra dorybė. Pirmiausia turite įdiegti nemažai „Python“bibliotekų. Tai galima padaryti naudojant „Pip“, „Python“bibliotekos/paketų tvarkyklę. Jei norite naudoti, įveskite „pip install“. Kai kurių bibliotekų pavadinimui jums reikės:

  • prašymus
  • RPi. GPIO
  • kolba
  • kolba_ramiausia
  • kolba_wtf
  • wtforms
  • paštą
  • mandrilis

Galbūt norėsite išgerti kavos laukdami, kol jie bus įdiegti - tai gali užtrukti šiek tiek laiko.

Dabar, kai visos jūsų bibliotekos yra įdiegtos, esate pasiruošę pradėti savo kolbos projektą. Kolba yra lengva struktūra, kuri pateikia puslapius iš įrenginio, kuriame jis veikia. Tokiu atveju „Raspberry Pi“tampa serveriu. Gana šaunu, ane? Čia galite sužinoti, kaip nustatyti labai paprastą „Flask“programą. Atlikite tai prieš bandydami bet kurią instrukciją po to.

4 žingsnis: kodas ir vykdymas

Baigę tai, esate pasirengę pradėti kurti projekto failus. Toliau įtraukiau visus jums reikalingus failus - vis dėlto tikriausiai turėtumėte perrašyti kodą, o ne tik nukopijuoti failus (DAUGIAU SUŽINOSITE!).

Štai kaip turėtų atrodyti katalogų organizacijos:

+- iotapp | +- appFolder | +- šablonai | +- index.html | +- _init_.py | +- formos.py | +- mcemail.py | +- maršrutai.py | +- iotapp.py | +- vibes.py

Įdėkite visus šiuos failus tokia teisinga tvarka, kad galėtumėte greitai pradėti savo projektą. Norėdami paleisti „Flask“serverį, turėtumėte pereiti prie šakninio katalogo. Tada turėtumėte įvesti:

$ export FLASK_APP = iotapp.py

$ python -m kolba paleisti -host 0.0.0.0

Tokiu būdu turėtumėte gauti pranešimą, rodantį, kad jūsų serveris veikia, ir jūs turėtumėte galėti pateikti puslapį iš įrenginio į kitą tinklo įrenginį.

Dabar būtų tinkamas laikas peržiūrėti failus ir tikrai pabandyti išsiaiškinti, ką daro kodas. Žinoma, nė vienas kodas nėra iškaltas akmenyje … visa tai galima atnaujinti/pakeisti, kad atitiktų konkretaus projekto poreikius. Pavyzdžiui, dabar, kai įrenginys POST, gavęs įvestį iš vibracijos jutiklio, jis siunčia įvesties laiko žymą. Tačiau serveris šių duomenų neišsaugo. Tai būtų galima padaryti, jei vartotojas norėtų išsaugoti istorinę informaciją ir norėtų ją kažkur parodyti.

Tikriausiai pastebėsite, kad KODAS NĖRA PILNAS. Šiame projekte naudojama išorinė API, skirta siųsti pranešimus apie vibraciją (durų atidarymas). Norėdami tai nustatyti, turėsite sukurti „Mandrill“paskyrą ir sukurti API raktą.

Patvirtinę siuntimo domeną ir turėdami API raktą, galite įdėti raktą į failą „mcemail.py“(kur jis yra) ir koreguoti siuntimo informaciją (pakeisdami numatytąjį parametrą tame pačiame faile arba perduodami kitame el. laiške „route.py“faile. Jei norite gauti daugiau informacijos apie „Mandrill“ir kaip ją naudoti, rasite čia.

5 žingsnis: bandymas

Testavimas
Testavimas

Prieš montuodami įrenginį jo nuolatinėje vietoje, tikriausiai verta išbandyti viską, ką jis daro. Štai kaip jūs tvarkote dalykus.

Įrenginyje iš tikrųjų veikia dvi programos: „vibes.py“ir „Flask“serveris. Pirmasis turėtų būti paleistas pirmiausia fone, o tada galima paleisti „Flask“serverį. „vibes.py“tiesiog siunčia POST į serverį, o serveris interpretuoja POST užklausą.

$ python vibes.py &

$ python -m kolba paleisti -host 0.0.0.0

Tada turėtumėte turėti galimybę pereiti prie tinkamo URI/IP ir nustatyti el. Pašto adresą, į kurį norite siųsti visus pranešimus. Turėtumėte paliesti vibracijos jutiklį, kad pabandytumėte išsiųsti keletą bandomųjų el. Laiškų ir įsitikinti, kad projektas veikia.

Viskas gerai atrodo? Gerai, mes pasiruošę verslui!

6 žingsnis: montavimas

Montavimas
Montavimas

Įrenginio montavimas yra gana savaime suprantamas. Iš esmės jūs tiesiog turite įsitikinti, kad prietaisas prijungtas prie akumuliatoriaus, ir naudoti komandų juostas, kad pritvirtintumėte prietaisą prie durų.

Pastaba: prietaisas turi būti pastatytas taip, kad vibracijos jutiklis būtų statmenas durims, kad jutiklis galėtų sugauti durų judesį

Kai tai bus baigta, turėtumėte turėti galimybę prisijungti prie įrenginio ir paleisti programas, kaip nurodyta ankstesniame žingsnyje, ir laukti įsibrovėlių!

Norėdami gauti papildomų taškų, pabandykite paslėpti laidus/įrenginį, kad įsibrovėliai neįtartų jūsų protingo įrenginio!… Arba tiesiog nedėkite jo ant stiklinių durų. ¯ / _ (ツ) _/¯

Rekomenduojamas: