Cuprins:

Cum să construiești un contor de oameni cu Raspberry Pi și Ubidots: 6 pași
Cum să construiești un contor de oameni cu Raspberry Pi și Ubidots: 6 pași

Video: Cum să construiești un contor de oameni cu Raspberry Pi și Ubidots: 6 pași

Video: Cum să construiești un contor de oameni cu Raspberry Pi și Ubidots: 6 pași
Video: Construim un GPS tracker cu Python si Raspberry PI - Sesiune de programare live @ IT de weekend 2024, Iunie
Anonim
Cum să construiești un contor de oameni cu Raspberry Pi și Ubidots
Cum să construiești un contor de oameni cu Raspberry Pi și Ubidots
Cum să construiești un contor de oameni cu Raspberry Pi și Ubidots
Cum să construiești un contor de oameni cu Raspberry Pi și Ubidots

În acest proiect simplu vom folosi un senzor de mișcare pentru a detecta dacă un obiect trece prin fața Raspberry Pi. Apoi vom număra de câte ori se întâmplă acest lucru și vom trimite această valoare către Ubidots.

Contoare de persoane sunt de obicei dispozitive scumpe utilizate în industria de retail pentru a înțelege cum se comportă cumpărătorii. Datorită Raspberry Pi și Ubidots, suntem capabili să construim un contor funcțional de oameni în câteva ore și cu câțiva dolari!

Odată ce trimitem persoanele care numără date către Ubidots, putem crea grafice frumoase pentru analiză, precum și alerte SMS / e-mail.

Pasul 1: Obținerea materialelor potrivite

Obținerea materialelor potrivite
Obținerea materialelor potrivite
Obținerea materialelor potrivite
Obținerea materialelor potrivite
Obținerea materialelor potrivite
Obținerea materialelor potrivite
Obținerea materialelor potrivite
Obținerea materialelor potrivite

Pentru a finaliza acest proiect, veți avea nevoie de:

  1. A Raspberry Pi Model B.
  2. Un senzor PIR de la Parallax
  3. Un Dongle USB WiFi compatibil Raspberry Pi
  4. Un acumulator USB pentru a alimenta Raspberry Pi (acest lucru este opțional în cazul în care doriți să lăsați Pi complet wireless)
  5. Trei fire jumper-femelă
  6. Cont Ubidots - sau - Licență STEM

Pasul 2: Cablarea lucrurilor

Cablarea lucrurilor
Cablarea lucrurilor
Cablarea lucrurilor
Cablarea lucrurilor

Senzorul de mișcare PIR este destul de simplu de utilizat, deoarece are doar trei pini:

  • V +
  • GND
  • Un pin de semnal care scoate „1” când există mișcare și „0” când nu există.

Nu este nevoie să lipiți nimic, nici să scrieți funcții complexe I2C sau seriale pentru a detecta acest semnal; doar conectați cablurile direct la pinii GPIO ai Raspberry Pi și va funcționa!

Pasul 3: Carcasă

Carcasă
Carcasă
Carcasă
Carcasă

Deoarece senzorul PIR este foarte sensibil la mișcare, am folosit comutatorul jumper din spatele acestuia pentru a seta cea mai mică sensibilitate posibilă. De asemenea, am luat o carcasă veche dintr-o pereche de ochelari de soare și am făcut o gaură în ea, apoi am plasat RPi și senzorul PIR în interiorul ei. În acest fel, senzorul de mișcare este foarte concentrat într-un singur punct, în loc să fie atât de omnidirecțional.

Pasul 4: Codificarea RPi

În acest moment, vom presupune că ați făcut o configurare de bază a Raspberry Pi și căutați linia de comandă Linux. Dacă nu, vă recomandăm să parcurgeți mai întâi acest ghid. Puteți verifica, de asemenea, această postare despre utilizarea Wicd pentru a configura WiFi-ul Raspberry Pi.

Să începem prin a ne asigura că avem toate bibliotecile necesare:

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

Creați un fișier nou numit „peoplecounter.py”:

$ sudo nano peoplecounter.py

Și scrieți în el codul de mai jos. Asigurați-vă că înlocuiți valorile cheii API și ale ID-ului variabilei cu cele din contul dvs. personal Ubidots. (Notă: codul nu este prea elegant, dar hei nu sunt dezvoltator Python, doar un tip hardware:)

Scriptul constă dintr-o buclă care verifică starea pinului 7 (senzorul de mișcare). Dacă citește un „1”, ceea ce înseamnă că a existat mișcare, atunci crește variabila „peoplecount” și așteaptă 1,5 secunde, astfel încât senzorul de mișcare să revină la normal. Acest lucru se face de 10 ori, asigurându-vă că există cel puțin 1 secundă între fiecare ciclu, apoi trimite suma totală a „mișcărilor” către Ubidots. Dacă trebuie să calibrați Contorul de persoane, ar trebui să vă jucați cu liniile „time.sleep” cu alte valori.

de la ubidots importă ApiClient

importați RPi. GPIO ca GPIO

timpul de import

GPIO.setmode (GPIO. BCM)

GPIO.setup (7, GPIO. IN)

încerca:

api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

people = api.get_variable ("5238cec3f91b282c7357a140")

cu excepția: tipăriți „Nu s-a putut conecta la API, verificați conexiunea la internet”

contor = 0

peoplev = 0

în timp ce (1):

prezență = GPIO.input (7)

dacă (prezență):

număr de persoane + = 1

prezență = 0

time.sleep (1.5)

time.sleep (1)

contor + = 1

if (contor == 10):

tipărește numărul de persoane

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

contor = 0

peoplev = 0

Pasul 5: Afișați-vă datele

Afișați-vă datele
Afișați-vă datele
Afișați-vă datele
Afișați-vă datele
Afișați-vă datele
Afișați-vă datele
Afișați-vă datele
Afișați-vă datele

În cele din urmă, accesați tabloul de bord Ubidots și adăugați un widget de tipul „Declarație”. Aceasta va afișa numărul total de persoane detectate într-un interval de timp specificat

Pasul 6: încheierea

Încheierea
Încheierea

Acest proiect oferă un indiciu al numărului de oameni care trec printr-un anumit punct. Nu oferă numărul exact de persoane, având în vedere limitările senzorului de mișcare, dar în unele aplicații acest lucru ar putea fi suficient.

Datele colectate pot fi trimise cu ușurință în Ubidots Cloud, unde pot fi interpretate prin crearea de alerte, tablouri de bord live sau chiar partajarea acestor date în social media, ca cod de încorporare, sau doar într-un link public. De asemenea, puteți citi aceste date dintr-o altă aplicație utilizând API-ul Ubidots.

Recomandat: