Table des matières:

Comment construire un compteur de personnes avec Raspberry Pi et Ubidots : 6 étapes
Comment construire un compteur de personnes avec Raspberry Pi et Ubidots : 6 étapes

Vidéo: Comment construire un compteur de personnes avec Raspberry Pi et Ubidots : 6 étapes

Vidéo: Comment construire un compteur de personnes avec Raspberry Pi et Ubidots : 6 étapes
Vidéo: Home Assistant - DIY - ESPHome - NodeMCU - ESP8266 - Station Multi-Capteur - Domotique 2024, Novembre
Anonim
Comment construire un compteur de personnes avec Raspberry Pi et Ubidots
Comment construire un compteur de personnes avec Raspberry Pi et Ubidots
Comment construire un compteur de personnes avec Raspberry Pi et Ubidots
Comment construire un compteur de personnes avec Raspberry Pi et Ubidots

Dans ce projet simple, nous utiliserons un capteur de mouvement pour détecter si un objet passe devant notre Raspberry Pi. Ensuite, nous compterons combien de fois cela se produit et enverrons cette valeur à Ubidots.

Les compteurs de personnes sont généralement des appareils coûteux utilisés dans le secteur de la vente au détail pour comprendre le comportement des acheteurs. Grâce à Raspberry Pi et Ubidots, nous sommes en mesure de construire un compteur de personnes fonctionnel en quelques heures et avec quelques dollars !

Une fois que nous envoyons les données de comptage de personnes à Ubidots, nous pouvons créer de jolis graphiques pour l'analyse, ainsi que des alertes SMS/Email.

Étape 1: Obtenir les bons matériaux

Obtenir les bons matériaux
Obtenir les bons matériaux
Obtenir les bons matériaux
Obtenir les bons matériaux
Obtenir les bons matériaux
Obtenir les bons matériaux
Obtenir les bons matériaux
Obtenir les bons matériaux

Pour mener à bien ce projet, vous aurez besoin de:

  1. Un Raspberry Pi modèle B
  2. Un capteur PIR par Parallax
  3. Un dongle WiFi USB compatible Raspberry Pi
  4. Une batterie USB pour alimenter le Raspberry Pi (c'est facultatif au cas où vous voudriez laisser le Pi complètement sans fil)
  5. Trois cavaliers femelle-femelle
  6. Compte Ubidots - ou - Licence STEM

Étape 2: Câblage des choses

Câblage des choses
Câblage des choses
Câblage des choses
Câblage des choses

Le capteur de mouvement PIR est assez simple à utiliser car il n'a que trois broches:

  • V+
  • GND
  • Une broche de signal qui produit "1" lorsqu'il y a un mouvement et "0" lorsqu'il n'y en a pas.

Pas besoin de souder quoi que ce soit, ni d'écrire des fonctions I2C ou série complexes pour détecter ce signal; Branchez simplement les câbles directement sur les broches GPIO de votre Raspberry Pi et cela fonctionnera !

Étape 3: boîtier

Enveloppe
Enveloppe
Enveloppe
Enveloppe

Parce que le capteur PIR est très sensible au mouvement, j'ai utilisé le cavalier derrière lui pour régler la sensibilité la plus basse possible. De plus, j'ai pris un vieux boîtier dans une paire de lunettes de soleil et j'y ai fait un trou, puis j'ai placé le RPi et le capteur PIR à l'intérieur. De cette façon, le capteur de mouvement est très concentré en un seul point, au lieu d'être omnidirectionnel.

Étape 4: coder votre RPi

À ce stade, nous supposerons que vous avez effectué une configuration de base de votre Raspberry Pi et que vous examinez sa ligne de commande Linux. Si ce n'est pas le cas, nous vous recommandons de parcourir d'abord ce guide. Vous pouvez également consulter cet article sur l'utilisation de Wicd pour configurer le WiFi de votre Raspberry Pi.

Commençons par nous assurer que nous avons toutes les bibliothèques requises:

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

Créez un nouveau fichier appelé "peoplecounter.py":

$ sudo nano peoplecounter.py

Et écrivez dedans le code ci-dessous. Assurez-vous de remplacer les valeurs de la clé API et de l'ID de la variable par celles de votre compte personnel Ubidots. (Remarque: le code n'est pas trop élégant, mais bon je ne suis pas un développeur Python, juste un gars du matériel:)

Le script consiste en une boucle qui vérifie l'état de la broche #7 (le capteur de mouvement). S'il lit un "1", ce qui signifie qu'il y a eu un mouvement, il incrémente la variable "peoplecount" et attend 1,5 seconde pour que le capteur de mouvement revienne à la normale. Ceci est fait 10 fois, en s'assurant qu'il y a au moins 1 seconde entre chaque cycle, puis il envoie la somme totale des "mouvements" à Ubidots. Si vous avez besoin de calibrer le People Counter, vous devez alors jouer avec les lignes "time.sleep" avec d'autres valeurs.

depuis ubidots importer ApiClient

importer RPi. GPIO en tant que GPIO

heure d'importation

GPIO.setmode(GPIO. BCM)

GPIO.setup(7, GPIO. IN)

essayer:

api =ApiClient("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

personnes = api.get_variable("5238cec3f91b282c7357a140")

sauf: print "Impossible de se connecter à l'API, vérifiez votre connexion Internet"

compteur = 0

personnesv = 0

tandis que(1):

présence = GPIO.input(7)

si (présence):

nombre de personnes += 1

présence = 0

temps.sommeil (1.5)

heure.sommeil(1)

compteur += 1

si(compteur==10):

imprimer le nombre de personnes

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

compteur = 0

personnesv = 0

Étape 5: affichez vos données

Affichez vos données
Affichez vos données
Affichez vos données
Affichez vos données
Affichez vos données
Affichez vos données
Affichez vos données
Affichez vos données

Enfin, rendez-vous sur votre tableau de bord Ubidots et ajoutez un widget de type "Relevé". Cela affichera le nombre total de personnes détectées dans un délai que vous spécifiez

Étape 6: Conclusion

Emballer
Emballer

Ce projet donne une idée du nombre de personnes passant par un point particulier. Il ne fournit pas le nombre exact de personnes, étant donné les limitations du capteur de mouvement, mais dans certaines applications, cela peut suffire.

Les données collectées peuvent être facilement envoyées vers le Cloud Ubidots, où elles peuvent être interprétées en créant des alertes, des tableaux de bord en direct ou même en partageant ces données sur les réseaux sociaux, sous forme de code intégré ou simplement dans un lien public. Vous pouvez également lire ces données à partir d'une autre application en utilisant l'API Ubidots.

Conseillé: