Inhoudsopgave:
- Stap 1: De juiste materialen verkrijgen
- Stap 2: Dingen aansluiten
- Stap 3: Behuizing
- Stap 4: Uw RPi. coderen
- Stap 5: Toon uw gegevens
- Stap 6: afronden
Video: Een mensenteller bouwen met Raspberry Pi en Ubidots - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
In dit eenvoudige project gebruiken we een bewegingssensor om te detecteren of een object voor onze Raspberry Pi passeert. Dan tellen we hoe vaak dat gebeurt en sturen we deze waarde naar Ubidots.
Mensentellers zijn doorgaans dure apparaten die in de detailhandel worden gebruikt om te begrijpen hoe shoppers zich gedragen. Dankzij Raspberry Pi en Ubidots zijn we in staat om in een paar uur en voor een paar tientjes een functionele mensenteller te bouwen!
Zodra we de telgegevens van mensen naar Ubidots hebben gestuurd, kunnen we mooie grafieken maken voor analyse, evenals sms-/e-mailwaarschuwingen.
Stap 1: De juiste materialen verkrijgen
Om dit project te voltooien heb je nodig:
- Een Raspberry Pi-model B
- Een PIR-sensor van Parallax
- Een Raspberry Pi-compatibele USB WiFi-dongle
- Een USB-batterijpakket om de Raspberry Pi van stroom te voorzien (dit is optioneel als u de Pi volledig draadloos wilt laten)
- Drie vrouwelijke-vrouwelijke jumperdraden
- Ubidots-account - of - STEM-licentie
Stap 2: Dingen aansluiten
De PIR-bewegingssensor is vrij eenvoudig te gebruiken omdat deze slechts drie pinnen heeft:
- V+
- GND
- Een signaalpin die "1" uitvoert als er beweging is en "0" als er geen beweging is.
U hoeft niets te solderen of complexe I2C- of seriële functies te schrijven om dit signaal te detecteren; sluit de kabels gewoon rechtstreeks aan op de GPIO-pinnen van uw Raspberry Pi en het zal werken!
Stap 3: Behuizing
Omdat de PIR-sensor erg gevoelig is voor beweging, heb ik de jumperschakelaar erachter gebruikt om de laagst mogelijke gevoeligheid in te stellen. Ik nam ook een oud etui uit een zonnebril, maakte er een gat in en plaatste de RPi en de PIR-sensor erin. Op deze manier is de bewegingssensor sterk gefocust op één punt, in plaats van zo omnidirectioneel te zijn.
Stap 4: Uw RPi. coderen
Op dit punt gaan we ervan uit dat je een basisconfiguratie van je Raspberry Pi hebt gedaan en dat je naar de Linux-opdrachtregel kijkt. Zo niet, dan raden we aan eerst deze handleiding door te nemen. Je kunt ook dit bericht bekijken over het gebruik van Wicd om de wifi van je Raspberry Pi in te stellen.
Laten we beginnen met ervoor te zorgen dat we alle vereiste bibliotheken hebben:
$ sudo apt-get update$ sudo apt-get upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip install ubidots
Maak een nieuw bestand met de naam "peoplecounter.py":
$ sudo nano peoplecounter.py
En schrijf daarin de onderstaande code. Zorg ervoor dat u de waarden van de API-sleutel en de variabele ID vervangt door die in uw persoonlijke Ubidots-account. (Opmerking: de code is niet al te elegant, maar hey, ik ben geen Python-ontwikkelaar, alleen een hardwareman:)
Het script bestaat uit een lus die de status van pin #7 (de bewegingssensor) controleert. Als het een "1" aangeeft, wat betekent dat er beweging was, verhoogt het de "peoplecount" -variabele en wacht 1,5 seconde zodat de bewegingssensor weer normaal wordt. Dit wordt 10 keer gedaan, waarbij je ervoor zorgt dat er minstens 1 seconde tussen elke cyclus zit, dan stuurt het de totale som van "bewegingen" naar Ubidots. Als u de People Counter moet kalibreren, moet u met de "time.sleep"-lijnen spelen met andere waarden.
van ubidots import ApiClient
importeer RPi. GPIO als GPIO
import tijd
GPIO.setmode(GPIO. BCM)
GPIO.setup(7, GPIO. IN)
proberen:
api =ApiClient("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")
mensen = api.get_variable("5238cec3f91b282c7357a140")
behalve: print "Kan geen verbinding maken met de API, controleer uw internetverbinding"
teller = 0
mensenv = 0
terwijl(1):
aanwezigheid = GPIO.input(7)
als (aanwezigheid):
aantal mensen += 1
aanwezigheid = 0
tijd.slaap(1.5)
tijd.slaap(1)
teller += 1
if(teller==10):
aantal mensen afdrukken
mensen.save_value({'value':peoplecount})
teller = 0
mensenv = 0
Stap 5: Toon uw gegevens
Ga ten slotte naar je Ubidots-dashboard en voeg een widget van het type "Statement" toe. Hiermee wordt het totale aantal mensen weergegeven dat is gedetecteerd binnen een door u opgegeven tijdsbestek
Stap 6: afronden
Dit project geeft een indicatie van het aantal mensen dat door een bepaald punt gaat. Het geeft niet het exacte aantal mensen, gezien de beperkingen van de bewegingssensor, maar in sommige toepassingen kan dit net genoeg zijn.
De verzamelde gegevens kunnen eenvoudig worden verzonden naar de Ubidots Cloud, waar ze kunnen worden geïnterpreteerd door waarschuwingen, live dashboards te maken of deze gegevens zelfs te delen op sociale media, als insluitcode of gewoon in een openbare link. Je kunt deze gegevens ook uit een andere applicatie lezen met behulp van de Ubidots API.
Aanbevolen:
Een kluis bouwen met een Rpi: 12 stappen
Bouw een kluis met behulp van een Rpi: Wilt u leren hoe u uw Raspberry pi kunt omzetten in een volledig functionerende kluis? Volg dan deze 12 stap instructable om te leren hoe. De kluis heeft een volledig functionerend toetsenbord en een sluitsysteem, zodat je je spullen veilig kunt opbergen
Een Cubesat bouwen met een Arduino en accelerometer: 5 stappen
Hoe maak je een Cubesat bouwen met een Arduino en Accelerometer .: Onze namen zijn Brock, Eddie en Drew. Het belangrijkste doel van onze natuurkundeles is om van de aarde naar Mars te reizen terwijl we de baan rond Mars simuleren met behulp van een Cube Sat en het verzamelen van gegevens. Het doel van onze groep voor dit project is om gegevens te verzamelen met behulp van een accele
Een weerstation bouwen met XinaBox en Ubidots via HTTP: 7 stappen
Een weerstation bouwen met XinaBox en Ubidots via HTTP: leer hoe u uw eigen weerstation maakt bij Ubidots, met behulp van XinaBox xChips (IP01, CW01 en SW01) Met de ESP8266 Core en Wi-Fi-module (xChip CW01) kunnen gebruikers gegevens van XinaBox's modulaire xChips naar de cloud. Deze gegevens kunnen op afstand worden gemonitord
Een website bouwen op een Raspberry Pi, met Node.js, Express en MongoDB Deel 1: 6 stappen
Een website bouwen op een Raspberry Pi, met Node.js, Express en MongoDB… Deel 1: Welkom bij DEEL 1 van mijn node.js webapp-tutorial. Deel 1 gaat door de benodigde software die wordt gebruikt voor de ontwikkeling van node.js-apps, hoe je port forwarding gebruikt, hoe je een app bouwt met Express en hoe je je app uitvoert. Het tweede deel van dit
Een thuisstudio bouwen met een megabudget: 8 stappen (met afbeeldingen)
Een thuisstudio bouwen met een megabudget: nu het digitale tijdperk ons blijft laten zien hoe technologie de behoefte aan professionele diensten heeft verminderd, wordt het steeds gemakkelijker om goede resultaten te behalen met kunstvormen zoals audio-opname. Het is mijn doel om de meest kosteneffectieve manier van