Hur man bygger en människor räknare med Raspberry Pi och Ubidots (4 / 6 steg)
Steg 4: Kodning din RPi
Vid denna punkt, antar vi du har gjort en grundinställning av din Raspberry Pi och du tittar på dess Linuxen befaller fodrar. Om inte, vi rekommenderar gå igenom handboken först. Du kan också kontrollera detta inlägg om att använda Wicd för att installera WiFi i 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 lämplig-få installera python-setuptools
$ sudo easy_install pip
$ pip installera ubidots
Skapa en ny fil som heter "peoplecounter.py":
$ sudo nano peoplecounter.py
Och skriv in koden nedan. Se till att byta ut API-nyckel och variabel ID värden med dem i ditt personliga Ubidots konto. (Obs: koden är inte alltför elegant, men hey jag är inte en Python utvecklare, bara en hårdvara kille :)
Manuset består av en slinga som kontrollerar status för pin #7 (rörelsesensor). Om det står "1", vilket innebär att det fanns rörelse, då det ökar variabeln "peoplecount" och väntar 1,5 sekunder så rörelsesensorn går tillbaka till det normala. Detta görs 10 gånger, att se till att det finns minst 1 sekund mellan varje cykel, då den totala summan av "rörelser" skickas till Ubidots. Om du behöver kalibrera räknaren människor, ska du sedan spela med "time.sleep" rader med andra värden.
importera ApiClient från ubidots
importera RPi.GPIO som GPIO
Importera tid
GPIO.setmode (GPIO. BCM)
GPIO.setup (7, GPIO. I)
försök:
API =ApiClient("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")
personer = api.get_variable("5238cec3f91b282c7357a140")
utom: print "kunde inte ansluta till API, kontrollera din Internet-anslutning"
räknare = 0
peoplev = 0
While(1):
närvaro = GPIO.input(7)
IF(Presence):
peoplecount + = 1
närvaro = 0
Time.Sleep(1.5)
Time.Sleep(1)
räknaren += 1
IF(Counter==10):
skriva ut peoplecount
People.save_value ({"värde": peoplecount})
räknare = 0
peoplev = 0