Indholdsfortegnelse:

Sådan opbygges en folketæller med Raspberry Pi og Ubidots: 6 trin
Sådan opbygges en folketæller med Raspberry Pi og Ubidots: 6 trin

Video: Sådan opbygges en folketæller med Raspberry Pi og Ubidots: 6 trin

Video: Sådan opbygges en folketæller med Raspberry Pi og Ubidots: 6 trin
Video: Se oversigt af de forskellige navne på en folketælling 2024, November
Anonim
Sådan bygger du en folketæller med Raspberry Pi og Ubidots
Sådan bygger du en folketæller med Raspberry Pi og Ubidots
Sådan opbygges en folketæller med Raspberry Pi og Ubidots
Sådan opbygges en folketæller med Raspberry Pi og Ubidots

I dette enkle projekt bruger vi en bevægelsessensor til at registrere, om et objekt passerer foran vores Raspberry Pi. Derefter tæller vi, hvor mange gange det sker, og sender denne værdi til Ubidots.

Persontællere er typisk dyre enheder, der bruges i detailbranchen til at forstå, hvordan kunderne opfører sig. Takket være Raspberry Pi og Ubidots er vi i stand til at bygge en funktionel folkedisk på få timer og med et par penge!

Når vi sender folk, der tæller data til Ubidots, kan vi oprette flotte grafer til analyse samt sms/e -mail -advarsler.

Trin 1: Få de rigtige materialer

Få de rigtige materialer
Få de rigtige materialer
Få de rigtige materialer
Få de rigtige materialer
Få de rigtige materialer
Få de rigtige materialer
Få de rigtige materialer
Få de rigtige materialer

For at fuldføre dette projekt skal du:

  1. En Raspberry Pi Model B
  2. En PIR -sensor fra Parallax
  3. En Raspberry Pi kompatibel USB WiFi Dongle
  4. En USB -batteripakke til at drive Raspberry Pi (dette er valgfrit, hvis du vil forlade Pi helt trådløst)
  5. Tre hun-hun jumper-ledninger
  6. Ubidots -konto - eller - STEM -licens

Trin 2: Tilslut tingene

Tilslut tingene
Tilslut tingene
Tilslut tingene
Tilslut tingene

PIR -bevægelsessensoren er ganske enkel at bruge, fordi den kun har tre ben:

  • V+
  • GND
  • En signalpind, der udsender "1", når der er bevægelse og "0", når der ikke er det.

Ingen grund til at lodde noget, ej heller at skrive komplekse I2C eller serielle funktioner for at detektere dette signal; bare tilslut kablerne lige til GPIO -benene på din Raspberry Pi, og det vil fungere!

Trin 3: Kabinet

Kabinet
Kabinet
Kabinet
Kabinet

Fordi PIR -sensoren er meget følsom over for bevægelser, brugte jeg jumperkontakten bagved den til at indstille den lavest mulige følsomhed. Jeg tog også en gammel sag fra et par solbriller og lavede et hul i den, og placerede derefter RPi og PIR -sensoren inde i den. På denne måde var bevægelsessensoren stærkt fokuseret på et punkt, i stedet for at være så omnidirektionel.

Trin 4: Kodning af din RPi

På dette tidspunkt antager vi, at du har foretaget en grundlæggende opsætning af din Raspberry Pi, og du ser på dens Linux -kommandolinje. Hvis ikke, anbefaler vi først at gennemgå denne vejledning. Du kan også tjekke dette indlæg om at bruge Wicd til at konfigurere WiFi på din Raspberry Pi.

Lad os begynde med at sikre, at vi har alle de nødvendige biblioteker:

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

Opret en ny fil kaldet "peoplecounter.py":

$ sudo nano peoplecounter.py

Og skriv koden herunder. Sørg for at udskifte værdierne for API -nøglen og variabel -id'et med værdierne på din personlige Ubidots -konto. (Bemærk: koden er ikke for elegant, men hey, jeg er ikke en Python -udvikler, bare en hardware -fyr:)

Scriptet består af en loop, der kontrollerer tilstanden af pin #7 (bevægelsessensoren). Hvis den læser et "1", hvilket betyder, at der var bevægelse, øger den variablen "peoplecount" og venter 1,5 sekunder, så bevægelsessensoren går tilbage til det normale. Dette udføres 10 gange, og sørg for, at der er mindst 1 sekund mellem hver cyklus, så sender den den samlede sum af "bevægelser" til Ubidots. Hvis du har brug for at kalibrere People Counter, skal du derefter lege med "time.sleep" -linjerne med andre værdier.

fra ubidots importere ApiClient

importer RPi. GPIO som GPIO

importtid

GPIO.setmode (GPIO. BCM)

GPIO.setup (7, GPIO. IN)

prøve:

api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

mennesker = api.get_variable ("5238cec3f91b282c7357a140")

undtagen: print "Kunne ikke oprette forbindelse til API'et, tjek din internetforbindelse"

tæller = 0

peoplev = 0

mens (1):

tilstedeværelse = GPIO.input (7)

hvis (tilstedeværelse):

folketælling += 1

tilstedeværelse = 0

time.sleep (1,5)

time.sleep (1)

tæller += 1

hvis (tæller == 10):

udskrive folketælling

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

tæller = 0

peoplev = 0

Trin 5: Vis dine data

Vis dine data
Vis dine data
Vis dine data
Vis dine data
Vis dine data
Vis dine data
Vis dine data
Vis dine data

Gå til sidst til dit Ubidots dashboard og tilføj en widget af typen "Statement". Dette viser det samlede antal personer, der er registreret inden for en tidsramme, du angiver

Trin 6: Indpakning

Afslutter
Afslutter

Dette projekt giver et fingerpeg om mængden af mennesker, der passerer et bestemt punkt. Det giver ikke det nøjagtige antal mennesker i betragtning af bevægelsessensorens begrænsninger, men i nogle applikationer kan dette være lige nok.

De indsamlede data kan let sendes til Ubidots Cloud, hvor de kan tolkes ved at oprette advarsler, live dashboards eller endda dele disse data i sociale medier, som integreret kode eller bare i et offentligt link. Du kan også læse disse data fra en anden applikation ved hjælp af Ubidots API.

Anbefalede: