Innholdsfortegnelse:

Hvordan bygge en folketeller med bringebær Pi og Ubidots: 6 trinn
Hvordan bygge en folketeller med bringebær Pi og Ubidots: 6 trinn

Video: Hvordan bygge en folketeller med bringebær Pi og Ubidots: 6 trinn

Video: Hvordan bygge en folketeller med bringebær Pi og Ubidots: 6 trinn
Video: Собачий рынок Одесса. КОТЫ/ СОБАКИ. Пошли на БАРАХОЛКУ а купили ПОПУГАЯ. 2024, November
Anonim
Hvordan bygge en folketeller med Raspberry Pi og Ubidots
Hvordan bygge en folketeller med Raspberry Pi og Ubidots
Hvordan bygge en folketeller med Raspberry Pi og Ubidots
Hvordan bygge en folketeller med Raspberry Pi og Ubidots

I dette enkle prosjektet bruker vi en bevegelsessensor for å oppdage om et objekt passerer foran Raspberry Pi. Så teller vi hvor mange ganger det skjer, og sender denne verdien til Ubidots.

Folkedisker er vanligvis dyre enheter som brukes i detaljhandelen for å forstå hvordan kjøpere oppfører seg. Takket være Raspberry Pi og Ubidots kan vi bygge en funksjonell folkedisk på noen få timer og med noen få dollar!

Når vi sender personene som teller data til Ubidots, kan vi lage fine grafer for analyse, samt SMS/e -postvarsler.

Trinn 1: Få de riktige materialene

Få de riktige materialene
Få de riktige materialene
Få de riktige materialene
Få de riktige materialene
Få de riktige materialene
Få de riktige materialene
Få de riktige materialene
Få de riktige materialene

For å fullføre dette prosjektet trenger du:

  1. En bringebær Pi modell B
  2. En PIR -sensor fra Parallax
  3. En Raspberry Pi -kompatibel USB WiFi Dongle
  4. En USB -batteripakke for å drive Raspberry Pi (dette er valgfritt hvis du vil la Pi være helt trådløs)
  5. Tre jumper-ledninger til kvinner
  6. Ubidots konto - eller - STEM -lisens

Trinn 2: Koble ting opp

Kabling av ting
Kabling av ting
Kabling av ting
Kabling av ting

PIR bevegelsessensoren er ganske enkel å bruke fordi den bare har tre pinner:

  • V+
  • GND
  • En signalpinne som sender ut "1" når det er bevegelse og "0" når det ikke er det.

Du trenger ikke lodde noe, heller ikke å skrive komplekse I2C eller serielle funksjoner for å oppdage dette signalet; Bare koble kablene rett til GPIO -pinnene på din Raspberry Pi, så fungerer det!

Trinn 3: Hylster

Hylster
Hylster
Hylster
Hylster

Fordi PIR -sensoren er veldig følsom for bevegelser, brukte jeg hoppebryteren bak den for å stille inn den lavest mulige følelsen. Jeg tok også en gammel etui fra et par solbriller og laget et hull i den, og plasserte deretter RPi og PIR -sensoren inne i den. På denne måten fokuserte bevegelsessensoren sterkt på ett punkt, i stedet for å være så omnidireksjonell.

Trinn 4: Koding av RPi

På dette tidspunktet antar vi at du har gjort et grunnleggende oppsett av Raspberry Pi, og du ser på Linux -kommandolinjen. Hvis ikke, anbefaler vi å gå gjennom denne guiden først. Du kan også sjekke dette innlegget om hvordan du bruker Wicd til å sette opp WiFi på din Raspberry Pi.

La oss begynne med å sørge for at vi har alle nødvendige biblioteker:

$ sudo apt-get oppdatering $ sudo apt-get upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip install ubidots

Lag en ny fil som heter "peoplecounter.py":

$ sudo nano peoplecounter.py

Og skriv inn koden nedenfor. Sørg for å erstatte verdiene til API -nøkkelen og variabel -ID -en med verdiene i din personlige Ubidots -konto. (Merk: Koden er ikke for elegant, men hei, jeg er ikke en Python -utvikler, bare en maskinvarefyr:)

Skriptet består av en sløyfe som kontrollerer tilstanden til pinne #7 (bevegelsessensoren). Hvis den leser en "1", noe som betyr at det var bevegelse, øker den variabelen "peoplecount" og venter 1,5 sekunder slik at bevegelsessensoren går tilbake til det normale. Dette gjøres 10 ganger, og sørg for at det er minst 1 sekund mellom hver syklus, så sender den den totale summen av "bevegelser" til Ubidots. Hvis du trenger å kalibrere People Counter, bør du leke med "time.sleep" -linjene med andre verdier.

fra ubidots importer ApiClient

importer RPi. GPIO som GPIO

importtid

GPIO.setmode (GPIO. BCM)

GPIO.setup (7, GPIO. IN)

prøve:

api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

folk = api.get_variable ("5238cec3f91b282c7357a140")

unntatt: print "Kunne ikke koble til API, sjekk internettforbindelsen din"

teller = 0

folk v = 0

mens (1):

tilstedeværelse = GPIO.input (7)

hvis (tilstedeværelse):

folketelling += 1

tilstedeværelse = 0

time.sleep (1,5)

time.sleep (1)

teller += 1

hvis (teller == 10):

skrive ut folk

people.save_value ({'value': peoplecount})

teller = 0

folk v = 0

Trinn 5: Vis dataene dine

Vis dataene dine
Vis dataene dine
Vis dataene dine
Vis dataene dine
Vis dataene dine
Vis dataene dine
Vis dataene dine
Vis dataene dine

Til slutt, gå til Ubidots -dashbordet og legg til en widget av typen "Statement". Dette viser det totale antallet personer som er oppdaget innenfor en tidsramme du angir

Trinn 6: Innpakning

Innpakning
Innpakning

Dette prosjektet gir et snev av mengden mennesker som passerer gjennom et bestemt punkt. Det gir ikke det eksakte antallet mennesker, gitt bevegelsessensorens begrensninger, men i noen applikasjoner kan dette være akkurat nok.

De innsamlede dataene kan enkelt sendes til Ubidots Cloud, hvor de kan tolkes ved å lage varsler, live dashbord eller til og med dele disse dataene i sosiale medier, som innebygd kode, eller bare i en offentlig lenke. Du kan også lese disse dataene fra et annet program ved hjelp av Ubidots API.

Anbefalt: