Turinys:
- 1 žingsnis: reikmenys
- 2 žingsnis: laidų prijungimas
- 3 žingsnis: Daiktų nustatymas
- 4 žingsnis: kodas ir vykdymas
- 5 žingsnis: bandymas
- 6 žingsnis: montavimas
Video: „Raspberry Pi“durų pranešėjas: 6 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
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
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
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
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
Į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:
Individualizuotas durų kilimėlis, įjungtas durų varpas: 6 žingsniai
Individualizuotas durų kilimėlis, įjungtas durų varpas: Sveiki! Mano vardas Justinas, aš esu jaunesnysis vidurinėje mokykloje, ir ši instrukcija parodys, kaip padaryti skambutį, kuris suveikia, kai kas nors užlipa ant jūsų durų kilimėlio, ir gali būti bet kokia melodija ar daina! Kadangi durų kilimėlis paleidžia duris
Pasukite laidinį durų skambutį į išmanųjį durų skambutį naudodami IFTTT: 8 žingsniai
Paverskite laidinį durų skambutį į išmanųjį durų skambutį naudodami IFTTT: „WiFi“durų skambutis paverčia esamą laidinį skambutį į išmanųjį durų skambutį. https://www.fireflyelectronix.com/product/wifidoor
Pašto dėžutė ir garažo durų pranešėjas: 5 žingsniai (su paveikslėliais)
Pašto dėžutės ir garažo durų pranešėjas: ši instrukcija pagrįsta Johano Mobergo pašto dėžutės pranešėju. Palyginti su šiuo projektu, padariau keletą pakeitimų: toli nuo mano namų yra ne tik pašto dėžutė, bet ir garažas. Jie yra vienoje vietoje netoli kelio, o namas yra apie 5
Automatiniai žibintai, prijungti prie durų ir durų stebėjimo: 5 žingsniai
Automatiniai žibintai, prijungti prie durų ir durų stebėjimo: atrodo, kad tamsoje labai sunku rasti jungiklių plokštę, tačiau šis projektas tikrai padeda išspręsti šią problemą. Atlikite toliau nurodytus veiksmus, kad sužinotumėte šios problemos sprendimą
„Arduino“Kalėdų pranešėjas: 5 žingsniai (su nuotraukomis)
„Arduino“Kalėdų pranešėjas: Kalėdos jau visai šalia, ir aš padariau išvadą, kad neleisiu jų praeiti, tiesiog turėdamas „pasidaryk pats“„Arduino“kalėdines lemputes. Koks būtų tobulas projektas, apimantis Kalėdų melodiją? Taip teisingai! Pranešti žmonėms, kad Kalėdos