Схемы

Как построить счетчик людей с Raspberry Pi и убидотами

unboxing turtles slime surprise toys learn colors

unboxing turtles slime surprise toys learn colors

Оглавление:

Anonim

В этом простом проекте мы будем использовать датчик движения, чтобы определить, проходит ли какой-либо объект перед нашим Raspberry Pi. Затем мы посчитаем, сколько раз это происходит, и отправим это значение в Ubidots.

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

После того, как мы отправляем данные о подсчете людей в Ubidots, мы можем создавать отличные графики для анализа, а также оповещения по SMS / электронной почте.

Расходные материалы:

Шаг 1: Получение правильных материалов

Для завершения этого проекта вам понадобится:

  1. Малина Пи Модель Б
  2. ИК-датчик от Parallax
  3. Совместимый с Raspberry Pi USB-адаптер WiFi
  4. Аккумулятор USB для питания Raspberry Pi (это не обязательно, если вы хотите оставить Pi полностью беспроводным)
  5. Три женские и женские соединительные провода

Шаг 2: проводка

Датчик движения PIR довольно прост в использовании, потому что он имеет только три контакта:

  • V +
  • GND
  • Сигнальный вывод, который выводит «1», когда есть движение, и «0», когда его нет.

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

Шаг 3: Оболочка

Поскольку ИК-датчик очень чувствителен к движению, я использовал перемычку позади него, чтобы установить наименьшую возможную чувствительность. Кроме того, я взял старый футляр из пары солнцезащитных очков и проделал в нем отверстие, затем поместил в него 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 установить ubidots

Создайте новый файл с именем "peoplecounter.py":

$ sudo nano peoplecounter.py

И запишите в него код ниже. Обязательно замените значения ключа API и идентификатора переменной значениями в вашей личной учетной записи Ubidots. (Примечание: код не слишком элегантный, но, эй, я не разработчик Python, а просто специалист по аппаратному обеспечению :)

Скрипт состоит из цикла, который проверяет состояние вывода № 7 (датчик движения). Если он читает «1», что означает, что произошло движение, то он увеличивает переменную «peoplecount» и ждет 1,5 секунды, чтобы датчик движения вернулся в нормальное состояние. Это делается 10 раз, проверяя, что между циклами есть не менее 1 секунды, а затем отправляет общую сумму «движений» убидотам. Если вам нужно откалибровать счетчик людей, вы должны поиграть со строками time.sleep с другими значениями.

из убидоц импортируют ApiClient

импортировать RPi.GPIO как GPIO

время импорта

GPIO.setmode (GPIO.BCM)

GPIO.setup (7, GPIO.IN)

пытаться:

api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

people = api.get_variable ("5238cec3f91b282c7357a140")

кроме: выведите «Не удалось подключиться к API, проверьте подключение к Интернету»

counter = 0

peoplev = 0

в то время как (1):

присутствие = GPIO.input (7)

если (наличие):

количество людей + = 1

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

time.sleep (1.5)

time.sleep (1)

счетчик + = 1

если (счетчик == 10):

печать людей

people.save_value ({ 'значение': peoplecount})

counter = 0

peoplev = 0

Шаг 5: Показать ваши данные

Наконец, перейдите на панель инструментов Ubidots и добавьте виджет типа "утверждениеMsgstr "Это покажет общее количество людей, обнаруженных за указанный вами период времени.

Шаг 6: Завершение

Этот проект дает подсказку о количестве людей, проходящих через конкретную точку. Он не предоставляет точное количество людей, учитывая ограничения датчика движения, но в некоторых приложениях этого может быть достаточно.

Собранные данные можно легко отправить в облако Ubidots, где их можно интерпретировать, создавая оповещения, живые информационные панели или даже обмениваясь этими данными в социальных сетях, в виде встроенного кода или просто в общедоступной ссылке. Вы также можете прочитать эти данные из другого приложения, используя Ubidots API.