Sommario:

Come Costruire un Contapersone con Raspberry Pi e Ubidots: 6 Passaggi
Come Costruire un Contapersone con Raspberry Pi e Ubidots: 6 Passaggi

Video: Come Costruire un Contapersone con Raspberry Pi e Ubidots: 6 Passaggi

Video: Come Costruire un Contapersone con Raspberry Pi e Ubidots: 6 Passaggi
Video: Raspberry Pi ⋆ controllare NodeMCU (e viceversa) via MQTT 2024, Giugno
Anonim
Come costruire un contatore di persone con Raspberry Pi e Ubidots
Come costruire un contatore di persone con Raspberry Pi e Ubidots
Come costruire un contatore di persone con Raspberry Pi e Ubidots
Come costruire un contatore di persone con Raspberry Pi e Ubidots

In questo semplice progetto utilizzeremo un sensore di movimento per rilevare se un oggetto sta passando davanti al nostro Raspberry Pi. Quindi conteremo quante volte ciò accade e invieremo questo valore a Ubidots.

I contapersone sono in genere dispositivi costosi utilizzati nel settore della vendita al dettaglio per capire come si comportano gli acquirenti. Grazie a Raspberry Pi e Ubidots, siamo in grado di costruire un contapersone funzionale in poche ore e con pochi dollari!

Una volta inviati i dati di conteggio delle persone a Ubidots, possiamo creare bei grafici per l'analisi, nonché avvisi SMS/e-mail.

Passaggio 1: ottenere i materiali giusti

Ottenere i materiali giusti
Ottenere i materiali giusti
Ottenere i materiali giusti
Ottenere i materiali giusti
Ottenere i materiali giusti
Ottenere i materiali giusti
Ottenere i materiali giusti
Ottenere i materiali giusti

Per completare questo progetto avrai bisogno di:

  1. Un Raspberry Pi Modello B
  2. Un sensore PIR di Parallax
  3. Un Dongle WiFi USB compatibile con Raspberry Pi
  4. Un pacco batteria USB per alimentare il Raspberry Pi (questo è facoltativo nel caso in cui si desideri lasciare il Pi completamente wireless)
  5. Tre ponticelli femmina-femmina
  6. Account Ubidots - o - Licenza STEM

Passaggio 2: cablaggio delle cose

Cablaggio delle cose
Cablaggio delle cose
Cablaggio delle cose
Cablaggio delle cose

Il sensore di movimento PIR è abbastanza semplice da usare perché ha solo tre pin:

  • V+
  • GND
  • Un pin di segnale che emette "1" quando c'è movimento e "0" quando non c'è.

Non è necessario saldare nulla, né scrivere complesse funzioni I2C o seriali per rilevare questo segnale; basta collegare i cavi direttamente ai pin GPIO del tuo Raspberry Pi e funzionerà!

Passaggio 3: involucro

involucro
involucro
involucro
involucro

Poiché il sensore PIR è molto sensibile al movimento, ho usato il ponticello dietro di esso per impostare la sensibilità più bassa possibile. Inoltre, ho preso una vecchia custodia da un paio di occhiali da sole e ho praticato un foro, quindi ho inserito l'RPi e il sensore PIR al suo interno. In questo modo, il sensore di movimento è altamente focalizzato in un punto, invece di essere così omnidirezionale.

Passaggio 4: codificare il tuo RPi

A questo punto, supponiamo che tu abbia eseguito una configurazione di base del tuo Raspberry Pi e che tu stia guardando la sua riga di comando Linux. In caso contrario, ti consigliamo di consultare prima questa guida. Puoi anche controllare questo post sull'utilizzo di Wicd per configurare il WiFi del tuo Raspberry Pi.

Iniziamo assicurandoci di avere tutte le librerie richieste:

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

Crea un nuovo file chiamato "peoplecounter.py":

$ sudo nano peoplecounter.py

E scrivici dentro il codice qui sotto. Assicurati di sostituire i valori della chiave API e dell'ID variabile con quelli del tuo account Ubidots personale. (Nota: il codice non è troppo elegante, ma ehi, non sono uno sviluppatore Python, solo un ragazzo hardware:)

Lo script consiste in un ciclo che controlla lo stato del pin #7 (il sensore di movimento). Se legge un "1", che significa che c'è stato movimento, allora incrementa la variabile "contapersone" e attende 1,5 secondi in modo che il sensore di movimento torni alla normalità. Questo viene fatto 10 volte, assicurandosi che ci sia almeno 1 secondo tra ogni ciclo, quindi invia la somma totale dei "movimenti" a Ubidots. Se hai bisogno di calibrare il Contapersone, dovresti quindi giocare con le linee "time.sleep" con altri valori.

da ubidots import ApiClient

importa RPi. GPIO come GPIO

tempo di importazione

GPIO.setmode(GPIO. BCM)

GPIO.setup(7, GPIO. IN)

Tentativo:

api =ApiClient("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

persone = api.get_variable("5238cec3f91b282c7357a140")

tranne: print "Impossibile connettersi all'API, controlla la tua connessione Internet"

contatore = 0

personev = 0

mentre (1):

presenza = GPIO.input(7)

se (presenza):

contapersone += 1

presenza = 0

tempo.sonno(1.5)

tempo.sonno(1)

contatore += 1

if(contatore==10):

stampa contapersone

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

contatore = 0

personev = 0

Passaggio 5: visualizza i tuoi dati

Visualizza i tuoi dati
Visualizza i tuoi dati
Visualizza i tuoi dati
Visualizza i tuoi dati
Visualizza i tuoi dati
Visualizza i tuoi dati
Visualizza i tuoi dati
Visualizza i tuoi dati

Infine, vai alla tua dashboard Ubidots e aggiungi un widget del tipo "Statement". Questo mostrerà il numero totale di persone rilevate entro un intervallo di tempo specificato

Passaggio 6: concludere

Avvolgendo
Avvolgendo

Questo progetto fornisce un indizio sulla quantità di persone che passano attraverso un punto particolare. Non fornisce il numero esatto di persone, dati i limiti del sensore di movimento, ma in alcune applicazioni potrebbe essere appena sufficiente.

I dati raccolti possono essere facilmente inviati a Ubidots Cloud, dove possono essere interpretati creando avvisi, dashboard live o persino condividendo questi dati nei social media, come codice embed o semplicemente in un collegamento pubblico. Puoi anche leggere questi dati da un'altra applicazione utilizzando l'API Ubidots.

Consigliato: