Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
V tem preprostem projektu bomo s senzorjem gibanja zaznali, če predmet teče pred našo Raspberry Pi. Nato bomo prešteli, kolikokrat se to zgodi, in to vrednost poslali na Ubidots.
Pulti za ljudi so običajno drage naprave, ki se v maloprodaji uporabljajo za razumevanje vedenja kupcev. Zahvaljujoč Raspberry Pi in Ubidots lahko v nekaj urah in za nekaj dolarjev zgradimo funkcionalen števec ljudi!
Ko pošljemo podatke o štetju ljudi na Ubidots, lahko ustvarimo lepe grafike za analizo, pa tudi opozorila SMS/e -pošto.
1. korak: Pridobite prave materiale
Za dokončanje tega projekta boste potrebovali:
- Model Raspberry Pi B
- Senzor PIR podjetja Parallax
- USB WiFi ključ, združljiv z Raspberry Pi
- Baterijski paket USB za napajanje Raspberry Pi (to ni obvezno, če želite pustiti Pi popolnoma brezžičnega)
- Tri žice za ženske in ženske
- Ubidots račun - ali - licenca STEM
2. korak: ožičenje stvari
Senzor gibanja PIR je zelo preprost za uporabo, saj ima samo tri zatiče:
- V+
- GND
- Signalni zatič, ki oddaja "1", ko je gibanje, in "0", ko ni.
Ni treba spajkati ničesar, niti pisati kompleksnih I2C ali serijskih funkcij za zaznavanje tega signala; samo priključite kable naravnost na zatiče GPIO vašega Raspberry Pi in delovalo bo!
3. korak: Ohišje
Ker je senzor PIR zelo občutljiv na gibanje, sem s pomočjo skakalnega stikala za njim nastavil najnižjo možno občutljivost. Prav tako sem iz sončnih očal vzel staro torbico in vanjo naredil luknjo, nato pa vanjo postavil RPi in senzor PIR. Na ta način je senzor gibanja zelo osredotočen v eni točki, namesto da bi bil tako vsesmerno.
4. korak: Kodiranje RPi
Na tej točki bomo domnevali, da ste naredili osnovno nastavitev vašega Raspberry Pi in gledate njegovo ukazno vrstico Linux. Če ne, priporočamo, da najprej preberete ta priročnik. V tem prispevku lahko preverite tudi uporabo Wicda za nastavitev WiFi vašega Raspberry Pi.
Začnimo s preverjanjem, ali imamo vse potrebne knjižnice:
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip install ubidots
Ustvarite novo datoteko z imenom "peoplecounter.py":
$ sudo nano peoplecounter.py
In vanj vpiši spodnjo kodo. Vrednosti ključa API in spremenljivke zamenjajte z vrednostmi v svojem osebnem računu Ubidots. (Opomba: koda ni preveč elegantna, ampak hej, nisem razvijalec Pythona, ampak samo strojni tip:)
Skript je sestavljen iz zanke, ki preverja stanje nožice #7 (senzor gibanja). Če se glasi "1", kar pomeni, da je prišlo do premika, potem poveča spremenljivko "število ljudi" in počaka 1,5 sekunde, da se senzor gibanja vrne v normalno stanje. To se naredi 10 -krat, pri čemer mora biti med vsakim ciklom vsaj 1 sekunda, nato pa pošlje celotno vsoto "gibov" Ubidotom. Če morate umeriti števec ljudi, se poigrajte z vrsticami "time.sleep" z drugimi vrednostmi.
iz ubidots uvozite ApiClient
uvozite RPi. GPIO kot GPIO
čas uvoza
Način GPIO.set (GPIO. BCM)
GPIO.setup (7, GPIO. IN)
poskusi:
api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")
people = api.get_variable ("5238cec3f91b282c7357a140")
razen: print "Povezava z API -jem ni uspela, preverite internetno povezavo"
števec = 0
ljudjev = 0
medtem ko (1):
prisotnost = GPIO.vhod (7)
če (prisotnost):
število ljudi += 1
prisotnost = 0
time.sleep (1.5)
time.sleep (1)
števec += 1
če (števec == 10):
natisni število ljudi
people.save_value ({'vrednost': peoplecount})
števec = 0
ljudjev = 0
5. korak: Prikažite svoje podatke
Nazadnje pojdite na nadzorno ploščo Ubidots in dodajte pripomoček vrste "Izjava". To bo prikazalo skupno število ljudi, odkritih v določenem časovnem okviru
6. korak: Zaključek
Ta projekt namiguje na število ljudi, ki gredo skozi določeno točko. Glede na omejitve senzorja gibanja ne zagotavlja natančnega števila ljudi, vendar je v nekaterih aplikacijah to morda dovolj.
Zbrane podatke je mogoče enostavno poslati v oblak Ubidots, kjer jih je mogoče razlagati z ustvarjanjem opozoril, nadzornimi ploščami v živo ali celo delitvijo teh podatkov v družabnih medijih, kot vdelano kodo ali samo na javni povezavi. Te podatke lahko iz API -ja Ubidots preberete tudi iz druge aplikacije.