Оглавление:

Как создать счетчик посетителей с Raspberry Pi и Ubidots: 6 шагов
Как создать счетчик посетителей с Raspberry Pi и Ubidots: 6 шагов

Видео: Как создать счетчик посетителей с Raspberry Pi и Ubidots: 6 шагов

Видео: Как создать счетчик посетителей с Raspberry Pi и Ubidots: 6 шагов
Видео: Тест счетчика посетителей магазина 2024, Ноябрь
Anonim
Как создать счетчик посетителей с Raspberry Pi и Ubidots
Как создать счетчик посетителей с Raspberry Pi и Ubidots
Как создать счетчик посетителей с Raspberry Pi и Ubidots
Как создать счетчик посетителей с Raspberry Pi и Ubidots

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

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

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

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

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

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

  1. Модель Raspberry Pi B
  2. Датчик PIR от Parallax
  3. USB-ключ Wi-Fi, совместимый с Raspberry Pi
  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 для настройки Wi-Fi на 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», что означает движение, то он увеличивает переменную «peoplecount» и ждет 1,5 секунды, чтобы датчик движения вернулся в нормальное состояние. Это делается 10 раз, убедившись, что между каждым циклом есть не менее 1 секунды, затем он отправляет общую сумму «перемещений» в Ubidots. Если вам нужно откалибровать счетчик людей, вам следует поиграть со строками time.sleep с другими значениями.

из убидотов импорт ApiClient

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

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

GPIO.setmode (GPIO. BCM)

GPIO.setup (7, GPIO. IN)

пытаться:

api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

people = api.get_variable ("5238cec3f91b282c7357a140")

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

counter = 0

людиv = 0

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

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

если (присутствие):

peoplecount + = 1

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

time.sleep (1.5)

время сна (1)

счетчик + = 1

если (counter == 10):

распечатать peoplecount

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

counter = 0

людиv = 0

Шаг 5. Отображение ваших данных

Отображение ваших данных
Отображение ваших данных
Отображение ваших данных
Отображение ваших данных
Отображение ваших данных
Отображение ваших данных
Отображение ваших данных
Отображение ваших данных

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

Шаг 6. Заключение

Заключение
Заключение

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

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

Рекомендуемые: