Talaan ng mga Nilalaman:

Notifier ng Pinto ng Raspberry Pi: 6 na Hakbang (na may Mga Larawan)
Notifier ng Pinto ng Raspberry Pi: 6 na Hakbang (na may Mga Larawan)

Video: Notifier ng Pinto ng Raspberry Pi: 6 na Hakbang (na may Mga Larawan)

Video: Notifier ng Pinto ng Raspberry Pi: 6 na Hakbang (na may Mga Larawan)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Setyembre
Anonim
Notifier ng Pinto ng Raspberry Pi
Notifier ng Pinto ng Raspberry Pi

Naisip mo na ba kung o kailan naa-access ng mga tao ang mga pintuan? Nais mo ba ng isang mahinahon, murang, at mabilis na paraan upang masubaybayan ang paggalaw ng pinto … at marahil isang maliit na proyekto? Huwag nang tumingin sa malayo! Ang simplistic na aparato ay susubaybayan ang mga panginginig na ibinibigay mula sa paglipat ng mga pinto at iulat muli sa gumagamit gamit ang isang email sa isang tinukoy na email address.

Bibigyan ka ng proyektong ito ng ilang pagsasanay kasama ang Flask, Raspberry Pis, mga sensor ng GPIO, at ang Mandrill API! Hindi lamang ito nakakatuwang bumuo ngunit mayroon itong maraming gamit. Mag-ingat ang mga nanghihimasok…

Hakbang 1: Mga Panustos

Mga gamit
Mga gamit

Nagpaplano pa rin sa pagbuo ng salungat na ito? Narito ang kakailanganin mo:

  • Raspberry Pi 3
  • Micro SD card
  • 3 mga babaeng babaeng wires
  • 1 sensor ng panginginig ng boses
  • Isang power bank
  • Mga strip ng utos

Kung nagpaplano ka sa pagbuo ng proyektong ito para sa maraming mga pintuan, paramihin ang bawat isa sa mga supply sa kung gaano karaming mga aparato ang kakailanganin mo.

Kung nasa proseso ka ng pagbuo / pagsubok ng aparatong ito, hindi kinakailangan na magkaroon ng mga sumusunod … subalit, tiyak na magiging kapaki-pakinabang ito.

  • Isang monitor ng computer
  • Isang USB keyboard
  • Micro USB singil na kit

Hakbang 2: Mga kable

Kable
Kable
Kable
Kable

Habang ang Raspberry Pi ay isang magagandang aparato na kasama kasama ng maraming iba't ibang mga sensor at paligid, kailangan naming idagdag ang pangunahing sensor sa mga kable ng Pi upang magawa nito ang mga pagsukat na kailangan namin. Ang pangunahing sensor na ginamit sa proyektong ito ay makikita sa larawan sa itaas –– ito ay isang sensor ng panginginig ng boses na may mataas na pagiging sensitibo. Habang maaari kaming gumamit ng isang breadboard o ilang iba pang mga mounting device upang ilagay ang sensor na ito at patakbuhin ang aming mga wire, simpleng nakakonekta namin ito sa pamamagitan ng mga babaeng babaeng wires nang direkta sa mga pin sa aparato ng Raspberry Pi.

Ang isang schematic ng kable ay matatagpuan sa itaas (nagmula sa https://www.piddlerintheroot.com/vibration-sensor/). Ikonekta lamang ang lahat ng mga wires tulad ng ipinakita sa imaheng ito at ang iyong sensor ng panginginig ay dapat na mahusay na pumunta. Tandaan din na kakailanganin mo kalaunan ang isang baterya pack para sa proyektong ito, ngunit kung sinusubukan mo marahil ay kapaki-pakinabang na mai-plug ang aparato sa isang outlet ng pader.

Hakbang 3: Pagtatakda ng Bagay-bagay

Congrats! Nagawa mo ito hanggang dito. Magpatuloy tayo!

Magsisimula na kaming direktang gumana nang direkta sa Pi. Ang lahat ng mga sumusunod ay maaaring gawin sa aparato gamit ang isang keyboard at monitor (o sa pamamagitan ng SSH kung komportable ka).

Mayroong maraming paunang pag-set up upang makakuha ng anumang sensor ng GPIO na gumagana sa isang Pi at Flask. Ang pasensya ay isang kabutihan. Mayroong ilang mga library ng Python na kakailanganin mong i-install muna. Maaari itong magawa sa Pip, isang library / manager ng package para sa Python. Upang magamit, i-type ang `pip install` Upang pangalanan ang ilan sa mga aklatan na kakailanganin mo:

  • mga hiling
  • RPi. GPIO
  • prasong
  • flask_pang-abala
  • flask_wtf
  • wtforms
  • email
  • mandrill

Maaaring gusto mong kumuha ng kape habang hinihintay mo ang mga ito upang mai-install–– maaaring tumagal ng kaunting oras.

Ngayon na naka-install na ang lahat ng iyong mga aklatan handa ka na upang simulan ang iyong proyekto sa Flask. Ang Flask ay isang magaan na balangkas na nagsisilbi ng mga pahina mula sa aparato na tumatakbo ito. Sa kasong ito, ang Raspberry Pi ay naging isang server. Medyo nakakatuwa, ah? Maaari mong malaman kung paano mag-set up ng isang napaka-simpleng application ng Flask dito. Mangyaring gawin ito bago subukan ang alinman sa mga tagubilin pagkatapos nito.

Hakbang 4: Code at Pagpapatakbo

Kapag natapos mo na ito, handa ka na upang simulang buuin ang mga file ng proyekto. Isinama ko ang lahat ng mga file na kakailanganin mo sa ibaba –– marahil ay dapat mong muling isulat ang code, gayunpaman, at hindi kopyahin lamang ang mga file (MATUTO KA PA!).

Narito kung ano ang dapat magmukhang mga samahan ng direktoryo:

+ - iotapp | + - appFold | + - mga template | + - index.html | + - _init_.py | + - forms.py | + - mcemail.py | + - mga ruta.py | + - iotapp.py | + - vibes.py

Ilagay ang lahat ng mga file na ito sa wastong pagkakasunud-sunod at dapat mong maitaas ang iyong proyekto at tumakbo nang wala sa oras. Upang maipagpatakbo ang iyong Flask server dapat kang mag-navigate sa root Directory. Pagkatapos ay dapat mong i-type ang:

$ export FLASK_APP = iotapp.py

$ python -m flask run --host 0.0.0.0

Sa pamamagitan nito, dapat kang makakuha ng isang mensahe na nagpapahiwatig na tumatakbo ang iyong server at dapat mong maihatid ang pahina mula sa aparato patungo sa isa pang aparato sa network.

Ngayon ay magiging isang magandang panahon upang tumingin sa pamamagitan ng iyong mga file at talagang subukan upang makakuha ng isang jist kung ano ang ginagawa ng code. Siyempre, wala sa code ang nakatakda sa bato … lahat ay maaaring ma-update / mabago upang umangkop sa mga pangangailangan na tukoy sa proyekto. Halimbawa Gayunpaman, hindi nai-save ng server ang data na ito. Magagawa ito kung nais ng gumagamit na panatilihin ang impormasyong pangkasaysayan at nais itong ipakita sa kung saan.

Ang isang bagay na malamang na mapansin mo ay ANG CODE AY HINDI KUMPLETO. Ginagamit ng proyektong ito ang isang panlabas na API para sa pagpapadala ng mga email ng notification sa panginginig ng boses (pagbubukas ng pinto). Upang i-set up ito, kakailanganin mong lumikha ng isang Mandrill account at lumikha ng isang API key.

Kapag napatunayan mo ang iyong domain sa pagpapadala at mayroong isang key ng API maaari mong ilagay ang iyong susi sa `mcemail.py` file (kung saan naroroon) at ayusin ang impormasyon sa pagpapadala (alinman sa pamamagitan ng pagbabago ng default na parameter sa parehong file o sa pamamagitan ng pagpasa sa ibang email sa file na `ruta.py`. Kung nais mo ng higit na dokumentasyon sa Mandrill at kung paano ito gamitin, maaari mo itong makita dito.

Hakbang 5: Pagsubok

Pagsubok
Pagsubok

Bago mo mai-mount ang aparato sa permanenteng lokasyon nito, marahil isang magandang ideya na subukan ang lahat ng ginagawa nito. Narito kung paano mo tatakbo ang bagay.

Tumatakbo ang aparato ng dalawang mga programa: `vibes.py` at ang Flask server. Ang dating dapat patakbuhin muna sa background at pagkatapos ay maaaring patakbuhin ang Flask server. Ang `vibes.py` ay simpleng pag-POST sa server at binibigyang kahulugan ng server ang kahilingan ng POST.

$ python vibes.py &

$ python -m flask run --host 0.0.0.0

Dapat ay makapag-navigate ka sa tamang URI / IP at maitakda ang email address kung saan mo nais ipadala ang lahat ng iyong mga notification. Dapat mong i-tap ang panginginig ng boses sensor upang subukang magpadala ng ilang mga email sa pagsubok at matiyak na gumagana ang proyekto.

Maganda ang hitsura ng lahat? Okay, handa na kami para sa negosyo!

Hakbang 6: Pag-mount

Tumataas
Tumataas

Ang pag-mount ng aparato ay medyo nagpapaliwanag. Karaniwan, kailangan mo lamang tiyakin na ang aparato ay nakakonekta sa baterya pack at gumamit ng mga stripe ng utos upang ilakip ang aparato sa pintuan.

Tandaan: ang aparato ay dapat na nakaposisyon na may sensor ng panginginig ng boses na patayo sa pinto para maabutan ng sensor ang galaw ng pinto

Kapag nakumpleto na ito, dapat mong mag-SSH sa aparato at patakbuhin ang mga programa tulad ng nabanggit sa nakaraang hakbang at maghintay para sa mga nanghihimasok!

Para sa dagdag na puntos, subukang itago ang mga wire / aparato upang ang mga nanghihimasok ay hindi kahina-hinala sa iyong matalino na aparato!… O huwag lamang ilagay ito sa isang pintuan ng salamin. Ā / _ (ツ) _ /Ā

Inirerekumendang: