Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Selles lihtsas projektis kasutame liikumisandurit, et tuvastada, kas meie Raspberry Pi ees on mõni objekt. Seejärel loendame, mitu korda seda juhtub, ja saadame selle väärtuse Ubidotidele.
Inimeste loendurid on tavaliselt kallid seadmed, mida kasutatakse jaekaubanduses, et mõista, kuidas ostjad käituvad. Tänu Raspberry Pi ja Ubidotsile suudame mõne tunni ja mõne raha eest ehitada funktsionaalse inimeste loenduri!
Kui oleme andmed loendavad inimesed Ubidotsi saatnud, saame analüüsimiseks luua toredaid graafikuid ja SMS -e/e -posti märguandeid.
Samm: õigete materjalide hankimine
Selle projekti lõpuleviimiseks vajate:
- A Raspberry Pi mudel B
- Parallaxi PIR -andur
- Raspberry Pi ühilduv USB WiFi -dongle
- USB -aku Raspberry Pi toiteks (see on valikuline juhuks, kui soovite jätta Pi täielikult traadita)
- Kolm emast-emast džemprijuhet
- Ubidotsi konto - või - STEM -litsents
2. samm: juhtmete ühendamine
PIR -liikumisandurit on üsna lihtne kasutada, kuna sellel on ainult kolm tihvti:
- V+
- GND
- Signaali tihvt, mis väljastab "1" liikumise korral ja "0", kui seda pole.
Selle signaali tuvastamiseks pole vaja midagi jootma hakata ega keerulisi I2C- või jadafunktsioone kirjutada; lihtsalt ühendage kaablid otse oma Raspberry Pi GPIO kontaktidega ja see töötab!
3. samm: ümbris
Kuna PIR -andur on liikumise suhtes väga tundlik, kasutasin selle taga olevat hüpiklülitit madalaima võimaliku tundlikkuse seadmiseks. Samuti võtsin päikeseprillide juurest vana ümbrise ja tegin sinna augu, seejärel asetasin RPi ja PIR -anduri selle sisse. Sel moel keskendus liikumisandur ühele punktile tugevalt, selle asemel, et olla nii kõikvõimalik.
Samm: RPi kodeerimine
Siinkohal eeldame, et olete oma Raspberry Pi põhiseadistuse teinud ja vaatate selle Linuxi käsurealt. Kui ei, soovitame kõigepealt selle juhendi läbi vaadata. Samuti saate vaadata seda postitust Wicdi kasutamise kohta oma Raspberry Pi WiFi seadistamiseks.
Alustuseks veenduge, et meil on olemas kõik nõutavad teegid:
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip install ubidots
Looge uus fail nimega "peoplecounter.py":
$ sudo nano peoplecounter.py
Ja kirjutage sinna allolev kood. Asendage kindlasti API võtme ja muutuja ID väärtused nende isikliku Ubidotsi konto väärtustega. (Märkus: kood pole liiga elegantne, aga hei, ma ei ole Pythoni arendaja, vaid riistvara tüüp:)
Skript koosneb silmusest, mis kontrollib tihvti nr 7 (liikumisanduri) olekut. Kui see näitab "1", mis tähendab liikumist, suurendab see muutujat "peoplecount" ja ootab 1,5 sekundit, nii et liikumisandur läheb normaalseks. Seda tehakse 10 korda, jälgides, et iga tsükli vahele jääks vähemalt 1 sekund, seejärel saadab see "liigutuste" kogusumma Ubidotidele. Kui teil on vaja People Counterit kalibreerida, peaksite seejärel mängima ridadega "time.sleep" koos teiste väärtustega.
ubidotidest impordivad ApiClienti
RPi. GPIO importimine GPIO -na
impordi aeg
GPIO.setmode (GPIO. BCM)
GPIO.seadistus (7, GPIO. IN)
proovige:
api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")
inimesed = api.get_variable ("5238cec3f91b282c7357a140")
välja arvatud: print "Ei saanud ühendust API -ga, kontrollige oma Interneti -ühendust"
loendur = 0
inimesedv = 0
samas (1):
kohalolek = GPIO.input (7)
kui (kohalolek):
inimeste arv += 1
kohalolek = 0
aeg. uni (1,5)
aeg. uni (1)
loendur += 1
kui (loendur == 10):
trüki inimeste arv
people.save_value ({'value': peoplecount})
loendur = 0
inimesedv = 0
Samm: kuvage oma andmed
Lõpuks minge oma Ubidotsi juhtpaneelile ja lisage vidin tüüpi "Statement". See kuvab teie määratud aja jooksul tuvastatud inimeste koguarvu
6. samm: pakkimine
See projekt annab vihje, kui palju inimesi läbib teatud punkti. See ei anna liikumisanduri piiranguid arvestades täpset inimeste arvu, kuid mõnes rakenduses võib sellest piisata.
Kogutud andmed saab hõlpsasti saata Ubidotsi pilve, kus neid saab tõlgendada, luues hoiatusi, reaalajas armatuurlaudu või isegi jagades neid andmeid sotsiaalmeedias, manustamiskoodina või lihtsalt avalikul lingil. Neid andmeid saate lugeda ka teisest Ubidots API -d kasutavast rakendusest.