Оглавление:

Система уведомлений о прачечной на основе Интернета вещей: 18 шагов
Система уведомлений о прачечной на основе Интернета вещей: 18 шагов

Видео: Система уведомлений о прачечной на основе Интернета вещей: 18 шагов

Видео: Система уведомлений о прачечной на основе Интернета вещей: 18 шагов
Видео: Промышленный интернет вещей. Максим Иванников, DataArt 2024, Ноябрь
Anonim
Система уведомлений прачечной на основе Интернета вещей
Система уведомлений прачечной на основе Интернета вещей

Привет

Это руководство дает пошаговое введение о том, как создать систему уведомлений прачечной на основе Интернета вещей.

Устройство прикреплено к вашим ящикам и сумке для белья. Для демонстрации здесь мы взяли два ящика и один мешок для белья. Он определяет, насколько пусты / полны ящики / мешок для белья, и уведомляет пользователя о необходимости стирки. Он использует ультразвуковой датчик, который в основном измеряет пустое пространство в бункерах. Датчик подключен к ESP, который, в свою очередь, подключен к облачной службе. Облачный сервис подключен к IFTTT, который использует апплеты для отправки уведомлений пользователю по электронной почте, sms, событиям календаря Google. Облако поставляется с информационной панелью, на которой можно увидеть статус всех ящиков. Когда облако видит, что у вас заканчивается чистая одежда, оно дает указание апплетам уведомить вас. Помимо этого, апплет дает указание облаку регулярно проверять данные каждый день. Это может быть один раз в день или ежечасно, в зависимости от того, как пользователь хочет, чтобы это было. Подробные инструкции по сборке этой системы описаны ниже.

Шаг 1. Сбор необходимого материала

Сбор необходимого материала
Сбор необходимого материала

вам понадобятся:

1. 3 ультразвуковых датчика HC SR04 (5V)

2. 3 ESP8266 12 (5 В)

3. 3 батарейки 9 В

4. 3 потенциометра 5 В (для питания ESP и датчиков)

5. Связка разъемов "мама-мама" и "папа-мама".

6. Батарейный отсек

Вы можете легко купить эти вещи на Amazon. Датчики и ESP действительно дешевы, если вы покупаете упаковку по 6 штук.

Шаг 2: Архитектура системы

Архитектура системы
Архитектура системы

Архитектуру системы можно понять по картинке. Датчики подключены к ESP. ESP отправляет данные (расстояние) в Adafruit, которые затем обрабатываются, чтобы узнать, насколько заполнены контейнеры. В зависимости от того, в каком ящике пусто и насколько заполнен мешок для белья, пользователь получит уведомление о том, что ему нужно постирать завтра. IFTTT запускается из Adafruit и выполняет действие: отправлять ли электронное письмо через Gmai, создавать событие в календаре или отправлять уведомление через приложение IFTTT. Это устройство поставляется с приборной панелью, которую можно открыть в любом браузере. Панель управления подключена к оборудованию с помощью среды Adafruit, которая показывает показания датчиков. Более того, с этого уровня можно включать и выключать ESP с приборной панели.

Шаг 3: Настройка ESP

Настройка вашего ESP
Настройка вашего ESP
Настройка вашего ESP
Настройка вашего ESP
Настройка вашего ESP
Настройка вашего ESP

Вы можете легко управлять своим ESP, подключив его к Arduino IDE. Все, что вам нужно, это скачать и настроить для него библиотеки. Вы можете выполнить следующие шаги:

1. Загрузите последнюю версию Arduino IDE.

2. Откройте свою среду IDE, перейдите к файлам <настройки и скопируйте приведенную ниже ссылку в Диспетчере дополнительных плат и нажмите OK, чтобы закрыть вкладку настроек.

arduino.esp8266.com/stable/package_esp8266…

3. Перейдите в Инструменты <Board Manager <, найдите ESP8266 и установите версию 2.4.1. Вы можете установить другие версии в зависимости от объема вашей IDE. Но лучше всего у него работает.

После всего этого выбрал плату NodeMCU 1.0. Теперь вы готовы использовать свой ESP так же, как Arduino (или даже лучше).

4. После того, как вы закончите подключение и работу вашего ESP с ноутбуком, как с Arduino, перейдите на следующий уровень и подключитесь либо к своему Wi-Fi, либо к мобильной точке доступа.

Шаг 4: Подключение оборудования: датчик к ESP

Подключение вашего оборудования: датчик к ESP
Подключение вашего оборудования: датчик к ESP
Подключение вашего оборудования: датчик к ESP
Подключение вашего оборудования: датчик к ESP

Вот как вам нужно подключить датчик и закодировать его, чтобы он оставил вам пустое место в корзинах.

1. Датчик Vcc подключен к NodeMCU VUpin. Если вы подключите его к 3,3 В, ваш датчик не будет работать, так как его рабочее напряжение составляет 5 В.

2. Датчик GND подключен к NodeMCU GND.

3. Триггерный вывод датчика подключен к цифровому входу / выходу NodeMCU D4.

4. Эхо-вывод датчика подключен к цифровому входу / выходу NodeMCU D3.

После этого вы можете написать приведенный ниже код, чтобы проверить, работает ли ваш ультразвуковой сканер. После того, как вы убедились, что ваши датчики, код и ESP работают нормально, вы можете подключить ESP к Wi-Fi и проверить, работает ли он. Но при этом аппаратные соединения немного изменятся, как описано ниже. Но перед этим убедитесь, что вы подключили свои 9-вольтовые батареи к розеткам, и они настроены на выходное напряжение 5 В. Вы не хотите сжигать свои ESP (они плохо пахнут).

1. Vin ESP и датчик Vcc подключены к плюсу аккумуляторной батареи.

2. GND ESP и GND датчика подключены к минусу аккумуляторной батареи. Не забудьте сделать заземление общим, иначе ваш датчик выдаст случайные данные.

3. Триггерный вывод датчика подключен к цифровому входу / выходу NodeMCU D4.

4. Эхо-вывод датчика подключен к цифровому входу / выходу NodeMCU D3.

Она немного расскажет, как работает ультразвуковой датчик и как он кодируется.

Датчик в основном отправляет импульс и отсчитывает его, пока он не отразится и не вернется к датчику. Исходя из времени и скорости звука, мы должны определить расстояние. По сути, это то, что мы здесь сделали. Сам датчик просто удерживает свой вывод «ECHO» на ВЫСОКОМ уровне в течение времени, соответствующего времени, которое потребовалось для получения отражения (эха) от отправленной им волны. Модуль излучает звуковые волны, одновременно подавая напряжение на вывод эха. Модуль получает отражение от звуковых волн и снимает напряжение с эхо-вывода. В зависимости от расстояния в ультразвуковом датчике генерируется импульс для отправки данных в ESP. Начальный импульс составляет около 10 мкс, а сигнал ШИМ будет составлять 150-25 мкс в зависимости от расстояния. Если препятствий нет, то для ESP генерируется импульс 38 мкс, подтверждающий, что объекты не обнаружены.

D = 1/2 × T × C; D - это расстояние, T - время между излучением и приемом, а C - скорость звука, значение умножается на 1/2, потому что T - это время для прохождения и возврата.

Соедините их вместе, как показано на рисунке выше, и поместите во внутреннюю часть мусорных ведер наверху.

Шаг 5: Подключение ESP8266 к Adafruit IO: Создание учетной записи Adafruit IO

Подключение ESP8266 к Adafruit IO: создание учетной записи Adafruit IO
Подключение ESP8266 к Adafruit IO: создание учетной записи Adafruit IO
Подключение ESP8266 к Adafruit IO: создание учетной записи Adafruit IO
Подключение ESP8266 к Adafruit IO: создание учетной записи Adafruit IO

Для подключения ультразвукового датчика и ESP8266 к облачной был выбран сервис Adafruit IO (по протоколу MQTT).

MQTT - это простой и чрезвычайно легкий протокол, который позволяет устройствам публиковать данные (с устройства на сервер) и подписывать данные (собирать данные с сервера). Простота этого решения обеспечивается брокером MQTT, которым в данном случае является Adafruit. IO. Через него устройства могут отправлять и получать сообщения.

Чтобы зарегистрироваться, войдите на сайт: https://io.adafruit.com/ и нажмите «Начать бесплатно». На следующем сайте пользователь должен ввести личные данные и нажать кнопку «Создать учетную запись». После регистрации пользователь перемещается в Домашний раздел учетной записи. Для дальнейшего написания кода для ультразвуковых датчиков важно проверить AIO Key (кнопка View AIO Key) для обоих: имени пользователя и активного ключа.

Теперь мы готовы создать каналы (которые содержат значения данных датчиков) и панель инструментов, на которой можно будет контролировать систему прачечной.

Шаг 6. Подключение ESP8266 к Adafruit IO: создание каналов

Подключение ESP8266 к Adafruit IO: создание фидов
Подключение ESP8266 к Adafruit IO: создание фидов
Подключение ESP8266 к Adafruit IO: создание каналов
Подключение ESP8266 к Adafruit IO: создание каналов

Для этого проекта было использовано 6 различных каналов:

  • ON / OFF feeds - каналы, которые активируют / деактивируют ESP8266 для получения измерений. Добавлено из-за управления энергопотреблением. (Подача: ящик-1-вкл., Ящик-2-вкл.-Выкл., Мешок для стирки-вкл.-Выкл.).
  • Считывание кормов - корма, которые получают данные от ультразвуковых датчиков (Ящик-1, Ящик-2, Белье-мешок).

Создание фида

  1. Войдите в раздел фидов
  2. Щелкните Действия и создайте новый канал.
  3. Заполнить: Название канала (здесь для первого Ящика-Ящика-1 и краткого описания)

Таким же образом создайте еще пять каналов. Помните, что имена будут использоваться для дальнейшей разработки кода ESP8266.

Каналы готовы, однако нет простого способа попытаться снять все показания одновременно. Вот почему нужны дашборды.

Шаг 7. Подключение ESP8266 к Adafruit IO: создание панели мониторинга

Подключение ESP8266 к Adafruit IO: создание панели мониторинга
Подключение ESP8266 к Adafruit IO: создание панели мониторинга
Подключение ESP8266 к Adafruit IO: создание панели мониторинга
Подключение ESP8266 к Adafruit IO: создание панели мониторинга
Подключение ESP8266 к Adafruit IO: создание панели мониторинга
Подключение ESP8266 к Adafruit IO: создание панели мониторинга

Создание дашборда начинается в разделе Дашборды. Нажмите кнопку «Действия» (аналогично разделу «Каналы») -> «Создать новую панель управления» -> введите имя (в данном случае: Your_Laundry_System) и краткое описание-> нажмите кнопку «Создать». После этого вы можете войти в Личный кабинет.

На панели инструментов нажмите кнопку «Создать новый блок». Для этого приложения нам понадобятся три типа блоков:

  • 3x Toggle (для включения и выключения зондирования)
  • 3x манометр (показывает фактический уровень в ящике / мешке для белья)
  • 3х линейный график (показывает исторические данные)

Переключать

  1. Щелкните значок переключения.
  2. Выберите первую подачу ВКЛ / ВЫКЛ, то есть Ящик-1-Вкл.
  3. Добавьте заголовок блока, например, «Чистые футболки» - ящик 1. Нажмите «Создать блок».

Поместите переключатель в верхний угол приборной панели. Таким же образом подключите остальные каналы ON / OFF к Toogle.

Измерять

  1. Щелкните значок датчика.
  2. Выберите первый фид для сбора данных: Drawer-1.
  3. Заполните данные соответственно: для заголовка блока, например: Чистые футболки - ящик 1, максимальное значение шкалы (в зависимости от глубины ящика - в данном случае 10), низкое / высокое значение Warining (изменение цвета шкалы).

Поместите датчик на приборную панель. Таким же образом подключите остальные каналы хранения данных к датчику.

Линейный график

  1. Щелкните значок линейной диаграммы.
  2. Выберите первый канал для сбора данных: Drawer-1.
  3. Измените поле «Показать историю» на 24 часа, измените максимум оси Y и десятичные разряды в зависимости от глубины ящика.

Разместите линейный график на приборной панели. Таким же образом соедините остальные каналы хранения данных с линейной диаграммой.

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

Шаг 8: Подключение ESP8266 к Adafruit IO: создание кода для ультразвуковых датчиков

Подключение ESP8266 к Adafruit IO: создание кода для ультразвуковых датчиков
Подключение ESP8266 к Adafruit IO: создание кода для ультразвуковых датчиков
Подключение ESP8266 к Adafruit IO: создание кода для ультразвуковых датчиков
Подключение ESP8266 к Adafruit IO: создание кода для ультразвуковых датчиков

Во-первых, нужна библиотека Adafruit MQTT. Чтобы установить его, откройте Arduino IDE-> Инструменты-> Управление библиотеками и введите в поиск: Adafruit MQTT. Библиотека должна быть установлена на ваш компьютер.

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

Чтобы сделать его применимым к вашей конфигурации, вам необходимо изменить следующие детали:

  • WLAN_SSID - имя вашей сети Wi-Fi.
  • WLAN_PASS - пароль к вашей сети Wi-Fi.
  • AIO_USERNAME - имя вашего пользователя в Adafruit IO (из шага 4).
  • AIO_KEY - ключ ввода-вывода Adafruit (с шага 4).
  • Adafruit_MQTT_Publish…. «/ feeds / Laundry-bag» - здесь нужно указать название ленты, в которой будут публиковаться данные.
  • Adafruit_MQTT_Subscribe "/ feeds / Laundry-bag-On-off" - здесь вы должны указать название ленты, которая запускает датчик.

После этого программа должна быть загружена в ESP8266. Необходимо изменить названия каналов для Ящика 1 и Ящика 2.

Важное примечание: из-за if (message == "ON") система измеряет расстояние только один раз и когда кнопка ON / OFF на приборной панели находится в положении ON. Для повторного измерения пользователю необходимо выключить и снова включить датчик на приборной панели.

После загрузки программы на каждую приборную панель ESP8266 должны отображаться показания каждого датчика. Датчики можно активировать с уровня приборной панели. Вызов системы также возможен с уровня апплета IFTTT (шаг 13).

Шаг 9: IFTTT, подключите IFTTT к Adafruit

IFTTT, подключите IFTTT к Adafruit
IFTTT, подключите IFTTT к Adafruit
IFTTT, подключите IFTTT к Adafruit
IFTTT, подключите IFTTT к Adafruit
IFTTT, подключите IFTTT к Adafruit
IFTTT, подключите IFTTT к Adafruit

Предупреждение: IFTTT - не самое надежное соединение при запуске Календаря Google и электронной почты с использованием трех датчиков, подключенных к Adafruit IO. Перейдите к шагу 14, чтобы узнать больше о Zapier

IFTTT - это веб-сервис, который создает простое условие «Если это, то это». Он работает с другими веб-службами, такими как Gmail, Facebook, Instagram и т. Д. Простое условие состоит из «Это», которое на самом деле является триггером, и «То», которое является действием, которое необходимо выполнить. Чтобы это простое условие работало на платформе IFTTT, необходимо создать апплеты. Этот проект использует Adafruit.io MQTT в качестве облака для отображения уровня одежды в мешке для белья и ящиках, после чего IFTTT получит триггер от Adafruit.io для отправки напоминания пользователю через календарь Google или Gmail.

Сначала создайте учетную запись IFTTT на веб-сайте IFTTT. Войдите в свой аккаунт. IFTTT требует подключения к учетной записи Adafruit, в которой была создана панель управления. Перейдите по следующей ссылке, чтобы подключиться к Adafruit

Затем нажмите «Подключиться», вы будете перенаправлены на веб-страницу Adafruit и нажмите «Авторизовать». Для этого проекта IFTTT был подключен к учетной записи Adafruit, как показано на рисунке. После подключения IFTTT к учетной записи Adafruit апплеты готовы к созданию.

Шаг 10: Создайте апплет в IFTTT

Создать апплет в IFTTT
Создать апплет в IFTTT
Создать апплет в IFTTT
Создать апплет в IFTTT

Этот проект попытался подключиться к Gmail, Google Calender и приложению IFTTT. Следующие шаги предназначены для создания апплета на платформе и создания триггера из Adafruit.

1. Перейдите в Мой апплет https://ifttt.com/my_applets и щелкните Новый апплет.

2. Вы будете перенаправлены на if + this then that и щелкните + this или щелкните build на платформе.

Шаг 11: Создайте триггер из Adafruit

Создать триггер из Adafruit
Создать триггер из Adafruit
Создать триггер из Adafruit
Создать триггер из Adafruit
Создать триггер из Adafruit
Создать триггер из Adafruit

Теперь вы можете приступить к настройке собственного апплета.

1. Сначала в случае триггера введите в поиске Сервисы Adafruit, затем выберите Отслеживать ленту на Adafruit IO.

2. Задайте другие параметры «Имя метки фида», «Связь между метками фида» и «Значение метки фида». Установите как настраиваемый пользователем, чтобы упростить, если в дальнейшем потребуются какие-либо изменения, вам не нужно изменять его через платформу.

3. В этом проекте корм, который необходимо отслеживать, - это ящик 1, ящик 2 и мешок для стирки. Для Ящика 1 и Ящика 2 отношение больше 5, что указывает на то, что ящик почти пуст, в то время как отношение мешка для белья меньше 5, что указывает на то, что он почти заполнен.

Шаг 12: Создайте действие для Gmail, Google Calender и уведомление для приложения IFTTT

Создайте действие для Gmail, Google Calender и уведомления для приложения IFTTT
Создайте действие для Gmail, Google Calender и уведомления для приложения IFTTT
Создайте действие для Gmail, Google Calender и уведомления для приложения IFTTT
Создайте действие для Gmail, Google Calender и уведомления для приложения IFTTT
Создайте действие для Gmail, Google Calender и уведомления для приложения IFTTT
Создайте действие для Gmail, Google Calender и уведомления для приложения IFTTT

Наконец, действия для IFTTT должны быть настроены. Для этого проекта мы создали апплет, который отправляет электронное письмо в Gmail и событие в Google Calendar всякий раз, когда ящик 1 или ящик 2 пуст или мешок для стирки полон. Ниже приведены шаги для создания действия:

1. Сервисы Action Search Gmail, Google Calender и Уведомления.

2. После этого вы можете выбрать в раскрывающемся меню либо электронное письмо, либо быстрое добавление события, либо отправить уведомление из приложения IFTTT.

3. Затем аплеты готовы, любой дополнительный текст может быть добавлен в соответствии с вашим проектом для электронной почты, событие или уведомление от приложения IFTTT.

Шаг 13: тестирование

Тестирование
Тестирование
Тестирование
Тестирование
Тестирование
Тестирование

Теперь тестируем нашу систему прачечной. Как объяснено, электронная почта или событие в календаре, а также уведомление будет получено пользователем, когда один из ящиков почти пуст или мешок для стирки почти заполнен.

Однако мы обнаружили проблему с задержкой в получении электронной почты или календаря Google, а IFTTT отправляет только одно электронное письмо или даже несмотря на то, что срабатывают как ящик 1 и 2, так и мешок для стирки. Кроме того, приложение IFTTT не задерживает отправку уведомления. Как показано на рисунке, все три уведомления были получены примерно в одно и то же время. Поэтому мы рекомендуем использовать приложение IFTTT для такой системы, чтобы уменьшить задержку.

Шаг 14: Использование сервиса Zapier

Использование сервиса Zapier
Использование сервиса Zapier
Использование сервиса Zapier
Использование сервиса Zapier
Использование сервиса Zapier
Использование сервиса Zapier

Поскольку мы столкнулись с проблемой в IFTTT, у нас есть значительная задержка и мы получаем только одно уведомление (либо Gmail, либо календарь Google), где фактически срабатывают все ящики и сумка для белья. Проблема была посоветована с Adafruit, и они предложили использовать Zapier. Чтобы использовать Zapier, вы должны быть приглашены, поскольку соединение с Adafruit IO все еще находится на стадии тестирования (на данный момент активных пользователей менее 10). При развертывании мы можем получать электронную почту и календарь Google в течение 5 минут (каждые 5 минут Zapier проверяет, появилось ли новое значение в отслеживаемом фиде, если да, запускается апплет). Кроме того, есть история задач, где мы можем отслеживать триггер от Adafruit до Gmail и календаря Google.

По сути, это тот же принцип, что и с IFTTT, где вам нужно установить триггер из Adafruit, после этого установите канал с панели инструментов в этом случае, будь то ящик1, ящик2 или мешок для белья. Взаимосвязь устанавливается в настройках и условиях фильтра, где мы устанавливаем значение больше 6 для выдвижного ящика и меньше 5 для задней части белья. Наконец, установите действие, нужно ли отправлять электронное письмо через Gmail или быстро добавить событие.

Шаг 15: запуск системы с уровня IFTTT

Взлом системы с уровня IFTTT
Взлом системы с уровня IFTTT

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

Включение апплета

Триггер (если)

  1. В окне службы поиска введите: Дата и время.
  2. Выберите вариант: Каждый день в.
  3. Установите значение для необходимого часа (в этом примере 21:00).

Действие (затем)

  1. В окне служб поиска введите Adafruit IO.
  2. Метка поля - название ВКЛ / ВЫКЛ фида.
  3. Значение: Вкл.

Заполните поле заголовка апплета именем апплета и добавьте краткое описание апплета. Нажмите «Сохранить» и включите апплет.

Отключение апплета

Клонируйте свой апплет и измените:

  1. Раздел триггера: значение времени на 15 минут позже (например, 21:15).
  2. Раздел действий: Значение: ВЫКЛ.

Нажмите «Сохранить» и включите апплет.

Таким же образом создайте апплеты для остальных датчиков. Помните: чтобы получать уведомления от каждого датчика, а не только от показаний приборной панели, два датчика не должны срабатывать одновременно (это означает, что ящик 1 срабатывает - 9: 00–21: 15, ящик 2 - 9: 15–21: 30 вечера., Прачечная baf - 9: 30–21: 45).

Шаг 16: Предмет будущего: индустриализация продукта

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

Шаг 17: возможные проблемы, с которыми вы можете столкнуться

1. Вы можете увидеть, как ваш ультразвуковой сканер дает случайные значения. Это потому, что ваша мощность может быть не 5 В. Самый безопасный вариант - использовать батарейки на 9 В и потенциометры.

2. Убедитесь, что заземление датчика и ESP одинаковое, иначе вся ваша система не будет работать.

Шаг 18: К концу…

Эта система прачечной - новая идея. Такого продукта на рынке пока нет. Так что, если вы хотите, чтобы это было в вашем доме, вы должны построить его самостоятельно. Надеемся, вы понимаете инструкции. Это была всего лишь суть Интернета вещей и электроники.

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

В процессе работы мы использовали следующие источники, которые могут быть полезны для более глубокого понимания проекта:

learn.adafruit.com/mqtt-adafruit-io-and-yo…

www.instructables.com/id/Distance-Measurem…

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