Съдържание:

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

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

Видео: Как да изградим брояч за хора с Raspberry Pi и Ubidots: 6 стъпки
Видео: ESP32 Tutorial 10 - Digital counter using Seven Segment Display 74HC595 -ESP32 IoT Learnig kit 2024, Септември
Anonim
Как да изградим брояч за хора с Raspberry Pi и Ubidots
Как да изградим брояч за хора с Raspberry Pi и Ubidots
Как да изградим брояч за хора с Raspberry Pi и Ubidots
Как да изградим брояч за хора с Raspberry Pi и Ubidots

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

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

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

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

Получаване на подходящи материали
Получаване на подходящи материали
Получаване на подходящи материали
Получаване на подходящи материали
Получаване на подходящи материали
Получаване на подходящи материали
Получаване на подходящи материали
Получаване на подходящи материали

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

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

Стъпка 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 upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip install ubidots

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

$ sudo nano peoplecounter.py

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

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

от ubidots импортирайте ApiClient

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

време за импортиране

GPIO.setmode (GPIO. BCM)

GPIO.setup (7, GPIO. IN)

опитвам:

api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

people = api.get_variable ("5238cec3f91b282c7357a140")

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

брояч = 0

хораv = 0

докато (1):

присъствие = GPIO.вход (7)

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

брой хора += 1

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

time.sleep (1.5)

time.sleep (1)

брояч += 1

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

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

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

брояч = 0

хораv = 0

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

Покажете вашите данни
Покажете вашите данни
Покажете вашите данни
Покажете вашите данни
Покажете вашите данни
Покажете вашите данни
Покажете вашите данни
Покажете вашите данни

Накрая отидете на таблото си за управление на Ubidots и добавете джаджа от типа „Statement“. Това ще покаже общия брой открити хора в рамките на посочения от вас период от време

Стъпка 6: Приключване

Обобщавайки
Обобщавайки

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

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

Препоръчано: