INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
In hierdie eenvoudige projek gebruik ons 'n bewegingsensor om vas te stel of 'n voorwerp voor ons Raspberry Pi verbygaan. Dan tel ons hoeveel keer dit gebeur en stuur hierdie waarde na Ubidots.
Mense se toonbanke is gewoonlik duur toestelle wat in die kleinhandelbedryf gebruik word om te verstaan hoe kopers optree. Danksy Raspberry Pi en Ubidots kan ons binne 'n paar uur en met 'n paar dollar 'n funksionele mense -toonbank bou!
Sodra ons die mense wat data tel, na Ubidots stuur, kan ons goeie grafieke vir ontleding, sowel as SMS/e -pos waarskuwings, skep.
Stap 1: Kry die regte materiaal
Om hierdie projek te voltooi, benodig u:
- 'N Framboos Pi -model B.
- 'N PIR -sensor van Parallax
- 'N Raspberry Pi -versoenbare USB WiFi -Dongle
- 'N USB -battery om die Raspberry Pi aan te dryf (dit is opsioneel as u die Pi heeltemal draadloos wil laat)
- Drie vroulike-vroulike springdrade
- Ubidots -rekening - of - STEM -lisensie
Stap 2: Maak dinge op
Die PIR -bewegingsensor is redelik eenvoudig om te gebruik omdat dit slegs drie penne het:
- V+
- GND
- 'N Seinpen wat "1" uitvoer as daar beweging is en "0" as daar nie is nie.
U hoef niks te soldeer nie, en ook nie om komplekse I2C- of reeksfunksies te skryf om hierdie sein op te spoor nie; Koppel die kabels reguit aan die GPIO -penne van u Raspberry Pi, en dit sal werk!
Stap 3: Omhulsel
Omdat die PIR -sensor baie sensitief is vir beweging, het ek die trui -skakelaar agter dit gebruik om die laagste moontlike gevoeligheid in te stel. Ek het ook 'n ou omhulsel van 'n sonbril gehaal en 'n gaatjie daarin gemaak en die RPi en die PIR -sensor daarin geplaas. Op hierdie manier was die bewegingsensor baie gefokus op een punt, in plaas daarvan om so omnidireksioneel te wees.
Stap 4: Kodering van u RPi
Op hierdie punt neem ons aan dat u 'n basiese opstelling van u Raspberry Pi gedoen het en u kyk na die Linux -opdragreël. Indien nie, raai ons u aan om eers hierdie gids te lees. U kan hierdie pos ook raadpleeg oor die gebruik van Wicd om die WiFi van u Raspberry Pi op te stel.
Kom ons begin deur seker te maak dat ons al die vereiste biblioteke het:
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip install ubidots
Skep 'n nuwe lêer genaamd "peoplecounter.py":
$ sudo nano peoplecounter.py
En skryf die onderstaande kode daarin. Maak seker dat u die waardes van die API -sleutel en die veranderlike ID vervang met die waardes in u persoonlike Ubidots -rekening. (Let wel: die kode is nie te elegant nie, maar ek is nie 'n Python -ontwikkelaar nie, net 'n hardeware -ou:)
Die skrif bestaan uit 'n lus wat die toestand van die pen #7 (die bewegingsensor) kontroleer. As dit '1' lees, wat beteken dat daar beweging was, verhoog dit die 'peoplecount' veranderlike en wag 1,5 sekondes sodat die bewegingsensor weer normaal word. Dit word tien keer gedoen, om seker te maak dat daar ten minste 1 sekonde tussen elke siklus is, en dan stuur dit die totale som van "bewegings" na Ubidots. As u die People Counter moet kalibreer, moet u speel met die "time.sleep" -reëls met ander waardes.
vanaf ubidots, voer ApiClient in
voer RPi. GPIO in as GPIO
invoer tyd
GPIO.setmode (GPIO. BCM)
GPIO.setup (7, GPIO. IN)
probeer:
api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")
mense = api.get_variable ("5238cec3f91b282c7357a140")
behalwe: druk "Kon nie aan die API koppel nie, kyk na u internetverbinding"
teller = 0
mense v = 0
terwyl (1):
teenwoordigheid = GPIO.input (7)
as (teenwoordigheid):
mense + +1
teenwoordigheid = 0
tyd. slaap (1.5)
tyd. slaap (1)
teller += 1
as (teller == 10):
druk mense
people.save_value ({'waarde': peoplecount})
teller = 0
mense v = 0
Stap 5: Vertoon u data
Gaan ten slotte na u Ubidots -dashboard en voeg 'n widget van die tipe "Statement" by. Dit sal die totale aantal mense wat binne 'n bepaalde tydperk opgespoor is, vertoon
Stap 6: Inpak
Hierdie projek gee 'n aanduiding van die hoeveelheid mense wat deur 'n spesifieke punt gaan. Gegewe die beperkings van die bewegingsensor, bied dit nie die presiese aantal mense nie, maar in sommige toepassings kan dit net genoeg wees.
Die versamelde data kan maklik na die Ubidots -wolk gestuur word, waar dit geïnterpreteer kan word deur waarskuwings, lewendige dashboards te skep of selfs hierdie data in sosiale media te deel, as 'n inbedkode, of net in 'n openbare skakel. U kan ook hierdie data van 'n ander toepassing lees met behulp van die Ubidots API.