Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Продвинутая система домашнего мониторинга на Arduino Mega с IoT-датчиками

Компоненты и материалы

Arduino Mega 2560×1
Ethernet-плата для Arduino×1
LCD 4×20 с I²C интерфейсом×1
Датчик температуры и влажности DHT22×1
RTC DS3231×1
Ультразвуковой дальномер HC-SR04×1
Печатная плата OSH Park (интерфейсная и аннунциаторная)×1

О проекте

Начал с установки умного термостата Ecobee в доме дочери. Их прекратили выпускать, поэтому нужен был альтернативный вариант для мониторинга уровня воды в дренажной яме, сигнализации о затоплении, пропадания питания и других параметров. Многое почерпнул из проектов на разных ресурсах, особенно по коду Arduino и веб-интерфейса. Использование PushingBox для уведомлений стало ключевым элементом для удалённых оповещений. Благодарю open-source сообщество за публикуемые знания и проекты.

Продвинутая система домашнего мониторинга на Arduino Mega с IoT-датчиками

Начал с Arduino Mega 2560, добавил Ethernet-модуль. В Eagle CAD спроектировал пару плат для входов и визуального индикатора, изготовил их в OSH Park. Интерфейсная плата подключает семь сухих контактов, датчик температуры/влажности, RTC и ультразвуковой датчик уровня воды к Arduino.

Продвинутая система домашнего мониторинга на Arduino Mega с IoT-датчиками

Для локального отображения использован LCD 4×20. Также 8 светодиодов показывают статус тревог: янтарный — активна, зелёный — была, но сброшена, выключен — сброшена. Кнопка Reset гасит зелёные светодиоды, кнопка Message Enable включает/выключает уведомления через PushingBox.

Веб-интерфейс доступен только в локальной сети — не хотел пробрасывать порты роутера из соображений безопасности. Использовал несколько примеров для Arduino и библиотеку jqPlot для графиков.

Продвинутая система домашнего мониторинга на Arduino Mega с IoT-датчиками
Продвинутая система домашнего мониторинга на Arduino Mega с IoT-датчиками

На скриншоте: уровень воды менее 10 дюймов — активна тревога (янтарный светодиод). Зелёный показывает, что тревога была, но датчик сработал в обратную сторону. Нажатие Reset гасит зелёный, но янтарный останется, пока уровень не поднимется выше 10 дюймов.

Код

Arduino-скетч (C/C++)

Основные библиотеки: SPI, Ethernet, SD, Wire, LiquidCrystal_I2C, dht, NewPing, RTClib, RTC_DS3231.

Ключевые моменты:

// Пример отправки данных на веб-страницу (JSONP)
client.print("datas({ sensor1 : ");
client.print(sensor1); // уровень воды в дюймах
client.print(", sensor2 : ");
client.print(sensor2); // затопление
// ... sensor3..sensor10, msgtimer, msgonoff
client.print("})");

Веб-интерфейс (JavaScript)

Использует jQuery, jqPlot, Canvas Gauge. Обновление каждые 3 секунды через JSONP. Отображает: уровень воды, температуру, влажность, статус 8 входов, время последнего уведомления. Графики хранят до 100 точек.

Схемы

Файлы схем интерфейсной и аннунциаторной плат (Eagle) доступны в разделе Schematics.

Производственный процесс

  1. Тонометр: дизайн, производство и будущие тенденции
  2. Построение доступной беспроводной сети датчиков для дома
  3. Мониторинг домашней температуры с панелью управления на Raspberry Pi
  4. Создайте систему домашней автоматизации на Raspberry Pi для удаленного управления
  5. Сборка домашней машины для написания домашних заданий (плоттер-писатель)
  6. Создание потрясающей системы Ambilight для монитора на Arduino
  7. IoT-монитор пульса в реальном времени на Arduino и MAX30100
  8. Мониторинг термопары газового водонагревателя: SMS/Email алерт при погасании горелки
  9. Автономный домашний помощник-робот: полный список деталей и руководство по настройке (ROS, Alexa, MoveIt)
  10. Arduino Home Controller с Alexa: умный дом голосовым управлением