Innehållsförteckning:

Hur man bygger en People Counter med Raspberry Pi och Ubidots: 6 steg
Hur man bygger en People Counter med Raspberry Pi och Ubidots: 6 steg

Video: Hur man bygger en People Counter med Raspberry Pi och Ubidots: 6 steg

Video: Hur man bygger en People Counter med Raspberry Pi och Ubidots: 6 steg
Video: I expected more from ROBOTS & FIRE - Gog (1954) 2024, December
Anonim
Hur man bygger en People Counter med Raspberry Pi och Ubidots
Hur man bygger en People Counter med Raspberry Pi och Ubidots
Hur man bygger en People Counter med Raspberry Pi och Ubidots
Hur man bygger en People Counter med Raspberry Pi och Ubidots

I detta enkla projekt använder vi en rörelsesensor för att upptäcka om ett objekt passerar framför vår Raspberry Pi. Sedan räknar vi hur många gånger det händer och skickar detta värde till Ubidots.

Folkräknare är vanligtvis dyra enheter som används i detaljhandeln för att förstå hur shoppare beter sig. Tack vare Raspberry Pi och Ubidots kan vi bygga en funktionell folkräknare på några timmar och med några dollar!

När vi väl skickat personer som räknar data till Ubidots kan vi skapa fina grafer för analys samt SMS/e -postvarningar.

Steg 1: Skaffa rätt material

Skaffa rätt material
Skaffa rätt material
Skaffa rätt material
Skaffa rätt material
Skaffa rätt material
Skaffa rätt material
Skaffa rätt material
Skaffa rätt material

För att slutföra projektet behöver du:

  1. En Raspberry Pi modell B
  2. En PIR -sensor från Parallax
  3. En Raspberry Pi -kompatibel USB WiFi -dongel
  4. Ett USB -batteri för att driva Raspberry Pi (detta är valfritt om du vill lämna Pi helt trådlöst)
  5. Tre hona-kvinnliga bygelkablar
  6. Ubidots konto - eller - STEM -licens

Steg 2: Koppla upp saker

Koppla upp saker
Koppla upp saker
Koppla upp saker
Koppla upp saker

PIR -rörelsesensorn är ganska enkel att använda eftersom den bara har tre stift:

  • V+
  • GND
  • En signalstift som matar ut "1" när det finns rörelse och "0" när det inte finns det.

Inget behov av att lödda något, inte heller att skriva komplexa I2C eller seriella funktioner för att upptäcka denna signal; Anslut bara kablarna direkt till GPIO -stiften på din Raspberry Pi så fungerar det!

Steg 3: Hölje

Hölje
Hölje
Hölje
Hölje

Eftersom PIR -sensorn är mycket känslig för rörelse använde jag bygelbrytaren bakom den för att ställa in lägsta möjliga känslighet. Jag tog också ett gammalt fodral från ett par solglasögon och gjorde ett hål i det och placerade sedan RPi och PIR -sensorn inuti det. På detta sätt fokuserade rörelsessensorn mycket på en punkt, istället för att vara så omnidirektionell.

Steg 4: Kodning av din RPi

Vid denna tidpunkt antar vi att du har gjort en grundläggande installation av din Raspberry Pi och du tittar på dess Linux -kommandorad. Om inte, rekommenderar vi att du går igenom den här guiden först. Du kan också kolla det här inlägget om hur du använder Wicd för att konfigurera WiFi på din Raspberry Pi.

Låt oss börja med att se till att vi har alla nödvändiga bibliotek:

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

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

$ sudo nano peoplecounter.py

Och skriv in koden nedan. Se till att ersätta värdena för API -nyckeln och variabel -ID med värdena i ditt personliga Ubidots -konto. (Obs: koden är inte för elegant, men hej jag är inte en Python -utvecklare, bara en hårdvarukille:)

Skriptet består av en slinga som kontrollerar tillståndet för stift #7 (rörelsesensorn). Om den läser "1", vilket betyder att det var rörelse, ökar den variabeln "folkantal" och väntar 1,5 sekunder så att rörelsesensorn återgår till det normala. Detta görs 10 gånger, se till att det är minst 1 sekund mellan varje cykel, sedan skickar den totala summan av "rörelser" till Ubidots. Om du behöver kalibrera People Counter bör du sedan spela med "time.sleep" -raderna med andra värden.

från ubidots importera ApiClient

importera RPi. GPIO som GPIO

importtid

GPIO.setmode (GPIO. BCM)

GPIO.setup (7, GPIO. IN)

Prova:

api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

människor = api.get_variable ("5238cec3f91b282c7357a140")

utom: print "Det gick inte att ansluta till API: et, kontrollera din internetanslutning"

räknare = 0

folkv = 0

medan (1):

närvaro = GPIO.input (7)

om (närvaro):

folkantal += 1

närvaro = 0

tid. sover (1,5)

tid. sover (1)

räknare += 1

if (räknare == 10):

skriva ut folkantal

people.save_value ({'värde': peoplecount})

räknare = 0

folkv = 0

Steg 5: Visa dina data

Visa dina data
Visa dina data
Visa dina data
Visa dina data
Visa dina data
Visa dina data
Visa dina data
Visa dina data

Slutligen, gå till din Ubidots instrumentpanel och lägg till en widget av typen "Statement". Detta visar det totala antalet personer som identifierats inom en tidsram du anger

Steg 6: Förpackning

Avslutar
Avslutar

Detta projekt ger en antydan om mängden människor som passerar genom en viss punkt. Det ger inte det exakta antalet personer, med tanke på rörelsessensorns begränsningar, men i vissa applikationer kan det vara tillräckligt.

Den insamlade informationen kan enkelt skickas till Ubidots Cloud, där den kan tolkas genom att skapa varningar, live -instrumentpaneler eller till och med dela denna data i sociala medier, som inbäddningskod, eller bara i en offentlig länk. Du kan också läsa denna data från en annan applikation med Ubidots API.

Rekommenderad: