Вериги

Как да се изгради брояч на хора с Raspberry Pi и Ubidots: 6 стъпки

парень из микс -4 вродеа

парень из микс -4 вродеа

Съдържание:

Anonim

В този прост проект ще използваме сензор за движение, за да откриваме дали даден обект минава пред нашия Raspberry Pi. След това ще пресметнем колко пъти се случва това и ще изпратим тази стойност на Ubidots.

Броячите на хора обикновено са скъпи устройства, използвани в търговията на дребно, за да се разбере как се държат купувачите. Благодарение на Raspberry Pi и Ubidots, ние сме в състояние да изградим функционален брояч на хора за няколко часа и с няколко долара!

След като изпратим хората, които броят данни за Ubidots, можем да създадем хубави графики за анализ, както и SMS / имейл сигнали.

градина:

Стъпка 1: Получаване на правилните материали

За да завършите този проект, трябва:

  1. Модел Raspberry Pi B
  2. PIR сензор от Parallax
  3. Съвместим с USB WiFi Dongle съвместим с Raspberry Pi
  4. USB батерия за захранване на Raspberry Pi (това не е задължително в случай, че искате да оставите Pi напълно безжична)
  5. Три женски-женски джъмперни жици

Стъпка 2: Свързване

Сензорът за движение PIR е много лесен за използване, защото има само три пина:

  • V +
  • GND
  • Знак за сигнал, който извежда "1", когато има движение и "0", когато няма.

Няма нужда да споявате нищо, нито да пишете сложни I2C или серийни функции за откриване на този сигнал; просто включете кабелите направо към GPIO пиновете на Raspberry Pi и той ще работи!

Стъпка 3: Обков

Тъй като PIR сензорът е много чувствителен към движение, аз използвах джъмперния ключ зад него, за да настроя най-ниската възможна чувствителност. Също така взех един стар случай от чифт слънчеви очила и направих дупка в него, след това поставих RPi и PIR сензора вътре. По този начин, сензорът за движение е силно фокусиран в една точка, вместо да е толкова всестранна.

Стъпка 4: Кодиране на вашите RPi

На този етап, ние ще приемем, че сте направили основна настройка на вашия Raspberry Pi и търсите в неговата командна линия на Linux. Ако не, препоръчваме първо да прегледате това ръководство. Можете също така да проверите този пост за използването на Wicd за настройка на WiFi на вашия Raspberry Pi.

Нека започнем с това, че имаме всички необходими библиотеки:

$ sudo apt-get update
$ sudo apt-get ъпгрейд $ sudo apt-get инсталиране python-setuptools $ sudo easy_install pip $ pip install ubidots

Създайте нов файл, наречен "peoplecounter.py":

$ sudo nano peoplecounter.py

И напишете в него кода по-долу. Уверете се, че сте заменили стойностите на ключа API и ID на променливата с тези в личния ви акаунт на Ubidots. (Забележка: кодът не е твърде елегантен, но аз не съм разработчик на Python, просто хардуерен човек :)

Сценарият се състои от цикъл, който проверява състоянието на щифта # 7 (датчика за движение). Ако се чете "1", което означава, че има движение, то тогава увеличава променливата "peoplecount" и изчаква 1,5 секунди, така че датчика за движение се връща към нормалното. Това се прави 10 пъти, като се гарантира, че има поне 1 секунда между всеки цикъл, след което изпраща общата сума от "движения" на Ubidots. Ако трябва да калибрирате брояча на хората, тогава трябва да играете с линиите "time.sleep" с други стойности.

от ubidots внос ApiClient

импортирайте RPi.GPIO като GPIO

време за внос

GPIO.setmode (GPIO.BCM)

GPIO.настройка (7, GPIO.IN)

опитвам:

api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

хора = api.get_variable ("5238cec3f91b282c7357a140")

с изключение на: print "Не може да се свърже с API, проверете връзката ви с интернет"

брояч = 0

peoplev = 0

докато (1):

наличие = GPIO.input (7)

ако (присъствие):

peoplecount + = 1

присъствие = 0

time.sleep (1.5)

time.sleep (1)

брояч + = 1

ако (брояч == 10):

отпечатайте броя на хората

people.save_value ({ "стойност": peoplecount})

брояч = 0

peoplev = 0

Стъпка 5: Покажете данните си

И накрая, отидете на таблото за управление на Ubidots и добавете приспособление от типа "изявлениеТова ще покаже общия брой хора, открити в рамките на зададената от вас времева рамка

Стъпка 6: Опаковане

Този проект дава намек за количеството хора, преминаващи през определена точка. Той не дава точния брой хора, като се имат предвид ограниченията на датчика за движение, но в някои приложения това може да е достатъчно.

Събраните данни могат лесно да се изпратят в Cloud Ubidots, където могат да бъдат интерпретирани чрез създаване на сигнали, живи табла или дори споделяне на тези данни в социални медии, като код за вграждане или само в публична връзка. Можете също да прочетете тези данни от друго приложение, използвайки API на Ubidots.