Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Sa simpleng proyektong ito gagamit kami ng isang sensor ng paggalaw upang makita kung ang isang bagay ay dumadaan sa harap ng aming Raspberry Pi. Pagkatapos ay bibilangin namin kung gaano karaming beses nangyari, at ipadala ang halagang ito sa Ubidots.
Ang mga counter ng tao ay karaniwang mga mamahaling aparato na ginagamit sa industriya ng tingi upang maunawaan kung paano kumilos ang mga mamimili. Salamat sa Raspberry Pi at Ubidots, nakakagawa kami ng isang functional counter ng tao sa loob ng ilang oras at may kaunting pera!
Sa sandaling maipadala namin sa mga tao ang pagbibilang ng data sa Ubidots, makakalikha kami ng magagandang mga graphic para sa pagtatasa, pati na rin ang mga alerto sa SMS / Email.
Hakbang 1: Pagkuha ng Tamang Mga Materyales
Upang makumpleto ang proyektong ito kakailanganin mo:
- Isang Modelong Raspberry Pi B
- Isang PIR Sensor ng Parallax
- Isang katugmang Raspberry Pi USB WiFi Dongle
- Isang USB baterya pack upang mapagana ang Raspberry Pi (opsyonal ito kung sakaling nais mong iwanan ang Pi nang ganap na wireless)
- Tatlong mga babaeng jumper na wires
- Ubidots account - o - Lisensya ng STEM
Hakbang 2: Ang Mga Bagay na Mga Kable
Ang sensor ng paggalaw ng PIR ay medyo simple upang magamit dahil mayroon lamang itong tatlong mga pin:
- V +
- GND
- Isang signal pin na naglalabas ng "1" kapag mayroong paggalaw at "0" kapag wala.
Hindi kailangang maghinang ng anuman, o upang magsulat ng kumplikadong I2C o serial function upang makita ang signal na ito; idikit lamang ang mga cable diretso sa mga GPIO pin ng iyong Raspberry Pi at gagana ito!
Hakbang 3: Casing
Dahil ang sensor ng PIR ay napaka-sensitibo sa paggalaw, ginamit ko ang switch ng lumulukso sa likuran nito upang maitakda ang pinakamababang kakayahang makaramdam. Gayundin, kumuha ako ng isang lumang kaso mula sa isang pares ng salaming pang-araw at gumawa ng isang butas dito, pagkatapos ay inilagay ang RPi at ang sensor ng PIR sa loob nito. Sa ganitong paraan, ang sensor ng paggalaw ay lubos na nakatuon sa isang punto, sa halip na maging napaka-omnidirectional.
Hakbang 4: Pag-coding ng Iyong RPi
Sa puntong ito, ipagpapalagay namin na nagawa mo ang isang pangunahing pag-set up ng iyong Raspberry Pi at tinitingnan mo ang linya ng utos ng Linux nito. Kung hindi, inirerekumenda naming dumaan muna sa gabay na ito. Maaari mo ring suriin ang post na ito tungkol sa paggamit ng Wicd upang i-setup ang WiFi ng iyong Raspberry Pi.
Magsimula tayo sa pamamagitan ng pagtiyak na mayroon tayo ng lahat ng kinakailangang aklatan:
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip install ubidots
Lumikha ng isang bagong file na tinatawag na "peoplecounter.py":
$ sudo nano peoplecounter.py
At isulat dito ang code sa ibaba. Tiyaking palitan ang mga halaga ng API key at ang variable ID sa mga nasa iyong personal na Ubidots account. (Tandaan: ang code ay hindi masyadong matikas, ngunit hey hindi ako isang developer ng Python, isang hardware guy lamang:)
Ang script ay binubuo ng isang loop na suriin ang estado ng pin # 7 (ang sensor ng paggalaw). Kung nagbabasa ito ng isang "1", nangangahulugang mayroong paggalaw, pagkatapos ay nagdaragdag ito ng variable na "peoplecount" at naghihintay ng 1.5 segundo kaya't ang sensor ng paggalaw ay bumalik sa normal. Ginagawa ito ng 10 beses, tinitiyak na mayroong hindi bababa sa 1 segundo sa pagitan ng bawat pag-ikot, pagkatapos ay nagpapadala ito ng kabuuang kabuuan ng "mga paggalaw" sa Ubidots. Kung kailangan mong i-calibrate ang People Counter, dapat mong i-play ang mga linya ng "time.s Sleep" na may iba pang mga halaga.
mula sa ubidots import ApiClient
i-import ang RPi. GPIO bilang GPIO
oras ng pag-import
GPIO.setmode (GPIO. BCM)
GPIO.setup (7, GPIO. IN)
subukan:
api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")
people = api.get_variable ("5238cec3f91b282c7357a140")
maliban sa: i-print ang "Hindi makakonekta sa API, suriin ang iyong koneksyon sa Internet"
counter = 0
peoplev = 0
habang (1):
presensya = GPIO.input (7)
kung (presensya):
peoplecount + = 1
presensya = 0
oras. tulog (1.5)
oras. tulog (1)
counter + = 1
kung (counter == 10):
i-print ang peoplecount
people.save_value ({'halaga': peoplecount})
counter = 0
peoplev = 0
Hakbang 5: Ipakita ang Iyong Data
Panghuli, pumunta sa iyong dashboard ng Ubidots at magdagdag ng isang widget ng uri na "Pahayag". Ipapakita nito ang kabuuang bilang ng mga tao na napansin sa loob ng isang time frame na iyong tinukoy
Hakbang 6: Pagbabalot
Ang proyektong ito ay nagbibigay ng isang pahiwatig ng dami ng mga taong dumadaan sa isang partikular na punto. Hindi nito ibinibigay ang eksaktong bilang ng mga tao, na binigyan ng mga limitasyon ng sensor ng paggalaw, ngunit sa ilang mga application na ito ay maaaring sapat lamang.
Ang nakolektang data ay madaling maipadala sa Ubidots Cloud, kung saan maaari itong mabigyang kahulugan sa pamamagitan ng paglikha ng mga alerto, live dashboard o kahit pagbabahagi ng data na ito sa social media, bilang embed code, o sa isang pampublikong link lamang. Maaari mo ring basahin ang data na ito mula sa isa pang application gamit ang Ubidots API.