Turinys:

Kaip sukurti žmonių skaitiklį naudojant „Raspberry Pi“ir „Ubidots“: 6 žingsniai
Kaip sukurti žmonių skaitiklį naudojant „Raspberry Pi“ir „Ubidots“: 6 žingsniai

Video: Kaip sukurti žmonių skaitiklį naudojant „Raspberry Pi“ir „Ubidots“: 6 žingsniai

Video: Kaip sukurti žmonių skaitiklį naudojant „Raspberry Pi“ir „Ubidots“: 6 žingsniai
Video: CS50 2014 – 2-я неделя 2024, Lapkritis
Anonim
Kaip sukurti žmonių skaitiklį naudojant „Raspberry Pi“ir „Ubidots“
Kaip sukurti žmonių skaitiklį naudojant „Raspberry Pi“ir „Ubidots“
Kaip sukurti žmonių skaitiklį naudojant „Raspberry Pi“ir „Ubidots“
Kaip sukurti žmonių skaitiklį naudojant „Raspberry Pi“ir „Ubidots“

Šiame paprastame projekte mes naudosime judesio jutiklį, kad nustatytume, ar objektas praeina priešais mūsų Raspberry Pi. Tada suskaičiuosime, kiek kartų tai atsitiks, ir išsiųsime šią vertę „Ubidots“.

Žmonių skaitikliai paprastai yra brangūs prietaisai, naudojami mažmeninės prekybos pramonėje, siekiant suprasti, kaip elgiasi pirkėjai. „Raspberry Pi“ir „Ubidots“dėka per kelias valandas ir už kelis pinigus galime sukurti funkcionalų žmonių skaitiklį!

Išsiuntę duomenis skaičiuojančius žmones į „Ubidots“, galime sukurti gražias diagramas analizei, taip pat SMS/el. Pašto įspėjimus.

1 žingsnis: Parinkite tinkamas medžiagas

Tinkamų medžiagų gavimas
Tinkamų medžiagų gavimas
Tinkamų medžiagų gavimas
Tinkamų medžiagų gavimas
Tinkamų medžiagų gavimas
Tinkamų medžiagų gavimas
Tinkamų medžiagų gavimas
Tinkamų medžiagų gavimas

Norėdami užbaigti šį projektą, jums reikės:

  1. „A Raspberry Pi“modelis B.
  2. Parallax PIR jutiklis
  3. „Raspberry Pi“suderinamas USB „WiFi“raktas
  4. USB baterija „Raspberry Pi“(tai neprivaloma, jei norite palikti „Pi“visiškai belaidį)
  5. Trys moteriškos-moteriškos megztinės laidai
  6. „Ubidots“paskyra arba STEM licencija

2 žingsnis: prijunkite dalykus

Laidų tvarkymas
Laidų tvarkymas
Laidų tvarkymas
Laidų tvarkymas

PIR judesio jutiklį naudoti yra gana paprasta, nes jis turi tik tris kaiščius:

  • V+
  • GND
  • Signalo kaištis, kuris išleidžia „1“, kai yra judesys, ir „0“, kai jo nėra.

Nereikia nieko lituoti, nei rašyti sudėtingų I2C ar serijinių funkcijų šiam signalui aptikti; tiesiog prijunkite kabelius tiesiai prie „Raspberry Pi“GPIO kaiščių ir viskas veiks!

3 žingsnis: korpusas

Korpusas
Korpusas
Korpusas
Korpusas

Kadangi PIR jutiklis yra labai jautrus judesiui, aš naudoju trumpiklį, esantį už jo, kad nustatyčiau mažiausią galimą jautrumą. Be to, paėmiau seną dėklą iš akinių nuo saulės ir padariau skylę, tada įdėjau RPi ir PIR jutiklį. Tokiu būdu judesio jutiklis buvo labai sufokusuotas viename taške, o ne toks įvairiapusis.

4 žingsnis: RPi kodavimas

Šiuo metu manysime, kad atlikote pagrindinę „Raspberry Pi“sąranką ir žiūrite į jos „Linux“komandinę eilutę. Jei ne, rekomenduojame pirmiausia perskaityti šį vadovą. Taip pat galite patikrinti šį įrašą apie „Wicd“naudojimą „Raspberry Pi“„WiFi“nustatymui.

Pradėkime nuo to, kad turime visas reikalingas bibliotekas:

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

Sukurkite naują failą „peoplecounter.py“:

$ sudo nano peoplecounter.py

Ir parašykite žemiau esantį kodą. Būtinai pakeiskite API rakto ir kintamojo ID reikšmes tomis, kurios yra jūsų asmeninėje „Ubidots“paskyroje. (Pastaba: kodas nėra per daug elegantiškas, bet ei, aš nesu „Python“kūrėjas, tik aparatūros vaikinas:)

Scenarijų sudaro kilpa, kuri tikrina kaiščio Nr. 7 (judesio jutiklio) būseną. Jei jis rodo „1“, tai reiškia, kad buvo judėjimas, tada jis padidina „peoplecount“kintamąjį ir laukia 1,5 sekundės, kad judesio jutiklis grįžtų į normalią būseną. Tai daroma 10 kartų, įsitikinant, kad tarp kiekvieno ciklo yra bent 1 sekundė, tada ji siunčia visą „judesių“sumą „Ubidots“. Jei jums reikia kalibruoti „People Counter“, tuomet turėtumėte žaisti eilutėmis „time.sleep“su kitomis vertėmis.

iš „Ubidots“importuoja „ApiClient“

importuoti RPi. GPIO kaip GPIO

importo laikas

GPIO.setmode (GPIO. BCM)

GPIO.setup (7, GPIO. IN)

bandyti:

api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

žmonės = api.get_variable ("5238cec3f91b282c7357a140")

išskyrus: spausdinti „Nepavyko prisijungti prie API, patikrinkite interneto ryšį“

skaitiklis = 0

žmonėsv = 0

tuo tarpu (1):

buvimas = GPIO.input (7)

jei (buvimas):

žmonių skaičius += 1

buvimas = 0

laikas. miegas (1,5)

laikas. miegas (1)

skaitiklis += 1

jei (skaitiklis == 10):

spausdinti žmonių skaičių

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

skaitiklis = 0

žmonėsv = 0

5 veiksmas: rodykite savo duomenis

Rodyti savo duomenis
Rodyti savo duomenis
Rodyti savo duomenis
Rodyti savo duomenis
Rodyti savo duomenis
Rodyti savo duomenis
Rodyti savo duomenis
Rodyti savo duomenis

Galiausiai eikite į „Ubidots“prietaisų skydelį ir pridėkite valdiklio tipo „Pareiškimas“. Tai parodys bendrą žmonių skaičių, aptiktą per jūsų nurodytą laikotarpį

6 žingsnis: Apvyniojimas

Vyniojimas aukštyn
Vyniojimas aukštyn

Šiame projekte pateikiama užuomina, kiek žmonių eina per tam tikrą tašką. Atsižvelgiant į judesio jutiklio apribojimus, jame nėra tikslaus žmonių skaičiaus, tačiau kai kuriose programose to gali pakakti.

Surinktus duomenis galima lengvai nusiųsti į „Ubidots Cloud“, kur jie gali būti interpretuojami sukuriant įspėjimus, tiesioginius prietaisų skydelius ar net dalijantis šiais duomenimis socialinėje žiniasklaidoje, kaip įterpimo kodas arba tiesiog viešoje nuorodoje. Šiuos duomenis taip pat galite perskaityti iš kitos programos, naudodami „Ubidots“API.

Rekomenduojamas: