Умный дом на Аrduino своими руками: описание и характеристики

Arduino — популярная платформа для создания автоматики своими руками. Она подходит для изготовления автоматики в сельском хозяйстве, в рекламной деятельности, в сфере игровых развлечений и других видах деятельности.

Можно ли изготовить на платформе Arduino систему «умного» дома своими руками? Стоит рассмотреть и этот вопрос подробно, на примере одного проекта.

Начальные условия

Умный дом на Ардуино
Умный дом на Ардуино

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

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

Составление проекта Arduino


  • Крыльцо. Здесь необходимо сделать включение света при приближении хозяина к дому в тёмное время суток. Также необходимо сделать автоматическое включение света при открывании входной двери при выходе из дома.
  • Прихожая. Автоматическое включение света при наступлении тёмного времени суток и обнаружения движения. В ночное время включаться должна маломощная лампочка, чтобы резким светом не будить других проживающих.
  • Санузел. Нагревание воды в бойлере происходит в зависимости от того, обнаруживает ли автоматика нахождение в доме хозяина. Сам бойлер снабжён внутренним выключателем электричества — при достижении водой предельной температуры он отключается. Когда заходит человек в санузел, то необходимо автоматически включать вытяжку и свет.
  • Кухня. Свет на кухне включается и выключается вручную. Но имеется возможность выключения света при фиксации длительного отсутствия движения. При готовке пищи автоматически включается вытяжка.
  • Комната. В комнате, как и на кухне свет включается вручную, но при фиксации отсутствия движения есть возможность автоматического выключения света.

Отопительные приборы и рекуперация воздуха. Отопительные приборы работают на поддержание заданной температуры в доме. При фиксации отсутствия хозяина, минимальная поддерживаемая температура снижается на определённое количество градусов. Как только происходит фиксация присутствия хозяина в доме, автоматически нижний порог переключается в нормальный режим поддержки температуры. Рекуперация воздуха происходит при фиксации присутствия хозяина, но не реже чем 10 минут в час.

Какие решения предлагает Arduino

Базовый набор Arduino Start
Базовый набор Arduino Start

Как видно из данной постановки задач нам, кроме платы Arduino, понадобятся: датчики движения, датчики открывания двери, датчики температуры и освещённости. Для включения электрических приборов нам могут понадобиться реле. В качестве датчика фиксации открытия двери может быть применён обычный геркон. Все датчики можно купить для платы Arduino.

Так как количество датчиков достаточно большое для такого маленького дома, то для платформы Arduino существуют платы расширения. Всё, что необходимо, это правильно подключить датчики к прибору и написать программу, которая будет являться «сердцем» «умного» дома.


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

Программа, которая прошивается в Arduino, пишется на языке Си. Безусловно, есть ограничения на количество байт этой программы. Для реализации поставленной задачи объёма памяти вполне хватит.

Визуализация «умного дома» и расширение возможностей на Ардуино

Безусловно, для визуализации процессов «умного» дома можно было бы использовать ЖК-дисплей, любые цифровые табло. Но всё-таки, для «умного» дома это не является хорошим решением.

Для визуализации процессов и состояний автоматики на платформе Arduino лучше всего использовать отдельный сервер обработки состояний. Этот сервер может быть реализован на программной технологии Node.js, позволяющей реализовать любой сервер, в том числе и для обработки состояний платы Arduino.

Node.js используется для решения задач Интернета вещей, поэтому для визуализации автоматики «умного» дома он точно подойдёт. Достаточно создать сервер и обработчик на языке JavaScript, и можно будет отображать результат в браузере компьютера или планшета.


Микрокомпьютер одноплатный Raspberry Pi
Микрокомпьютер одноплатный Raspberry Pi

В качестве «железа» сервера можно использовать микрокомпьютер Raspberry Pi или обычный стационарный компьютер или ноутбук. При этом расширяются возможности самой системы автоматизации.

Если на плате Arduino ограниченный объём физической памяти, то на сервере этот объём ничем не ограничен. Саму программу сервера можно написать так, что она будет полностью управлять платформой Arduino.

Например, можно расширить функционал нашего «умного» дома и приблизить его к умному дому без кавычек. Есть возможность написать такой алгоритм, который будет вести статистику нахождения хозяина в доме и его возвращение домой. Если хозяин обычно возвращается домой в районе 17:30, то за час можно включить бойлер для нагрева воды. Также, ориентируясь на это время, можно заранее включить отопительные приборы, чтобы возвращение было уже в тёплый дом, а не в тот, где температура ниже на 10 градусов из-за экономии электричества в отсутствии хозяев. Программа может понять когда хозяева обычно ложатся спать и заранее переставать греть воду, так как ею уже никто не будет пользоваться до утра. И таких нюансов может быть множество. Именно внешний компьютер может дать продвинутые «мозги» контроллеру на Arduino, который превратится больше в исполнительный механизм.

Дистанционное управление «умным» домом


Home Automation Arduino и Raspberry Pi
Home Automation Arduino и Raspberry Pi

Как уже упоминалось выше, с помощью сервера на Node.js можно связать вещи друг с другом. Это касается и визуализации процессов автоматики дома в Интернете через облачные сервисы. Это один способ управления своим домом через Интернет. Можно включить бойлер или отопительные приборы вручную заранее перед приездом в дом.

Другой способ — это получение данных и управление «умным» домом на платформе Arduino с помощью SMS и MMS сообщений. Ведь далеко не всегда может быть Интернет под рукой. И, если включение какого-либо прибора может быть не критичным, то получение сообщения о протечке воды может оказаться просто необходимым. И здесь, на помощь в разработке своими руками полнофункционального «умного» дома на платформе Arduino может прийти плата Edison компании Intel.


И что же мы получаем?

Как видно, Arduino — это не просто плата для разработки каких-то простых устройств автоматики. На платформе Arduino можно легко создать своими руками даже автоматику «умного» дома. При этом нет необходимости переплачивать деньги за устройства от компании Simens, которые дороги и обойдутся в 5-10 раз дороже Arduino.

Arduino можно подключить к компьютеру и получить визуализацию процессов на экране монитора или планшета. Автоматикой «умного» дома на платформе Arduino можно управлять через Интернет или с помощью SMS и MMS сообщений. На Arduino можно создавать своими руками достаточно сложные устройства.

Smart Home Arduino 1. Понятие Интернета вещей для Умного дома

Умный дом – это жилой  дом, организованный для  удобства проживания людей при помощи различных высокотехнологичных устройств.
Умный дом понимает  конкретные ситуации, происходящие в здании, и соответствующим образом на них реагирует по  заранее выработанным алгоритмам. Подробнее …


Умный дом на Аrduino своими руками: описание и характеристики
2. Обзор набора Интернета вещей для Умного дома

Откроем наш набор и рассмотрим его содержимое. Самый главный компонент любой «умной» системы – его контроллер. Контроллер предназначен для получения информации и управления «умным» домом. В нашем наборе два контроллера! Это плата Arduino Mega и модуль NodeMcu v3 Lua WI-FI ESP8266 CH340. Вы можете выбрать любой из них. Подробнее …

arduino ide

3. Установка программного обеспечения

Разработка собственных приложений на базе плат, совместимых с архитектурой Arduino, осуществляется в официальной бесплатной среде программирования Arduino IDE. Среда предназначена для написания, компиляции и загрузки собственных программ в память микроконтроллера. Подробнее …


Умный дом на Аrduino своими руками: описание и характеристики

4.1. Подключение датчика влажности и температуры DHT11 (DHT22)

Плата модуля содержит основные компоненты: датчик температуры и относительной влажности DHT22 в белом корпусе, светодиод индикации питания и вилка соединителя. Внутри DHT22 небольшая плата с компонентами: емкостным датчиком влажности, терморезистором, имеющим отрицательную характеристику и микроконтроллером. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 4.2. Подключение цифровой датчика температуры DS18B20 (RI002)

Для измерения температуры «умного» дома в набор включен датчик температуры RI002. Это хорошо известный цифровой датчик температуры DS18B20 водонепроницаемом корпусе из нержавейки. Приемущества водонепроницаемого корпуса – возможность измерить температуру в неблагоприятной для микросхем среде: в почве, на дожде или даже в аквариуме. Подробнее …


FC-28
4.3. Подключаем датчик влажности почвы

Домашний уют — это атмосфера тепла в вашей квартире, желание возвращаться туда после трудного дня. Уют и комфорт в вашем доме оказывают непосредственное влияние на ваше самочувствие и настроение. Необходимое условие в создании уюта имеет использование комнатных цветов. Они доступны каждому из нас и при этом лучше любой мебели помогут создать уют и комфорт, и как ни что другое просто вдохнуть в ваш дом чистую энергию. Подробнее …

T1592P 4.4. Как подключить датчик уровня воды

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


mq-2
4.5. Определение концентрации углеводородных газов с помощью датчика MQ-2

Одна из самых важных задач в вопросе безопасности умного дома –обнаружение утечки газа. Для того, чтобы плата Arduino успешно решала задачи такого рода, нужно подключить к ней датчик газа MQ-2. Датчик MQ-2 определит концентрацию углеводородных газов (пропан, метан, н-бутан), дыма (взвешенных частиц, являющихся результатом горения) и водорода в окружающей среде. Датчик можно использовать для обнаружения утечек газа и задымления. Подробнее …

mq7 4.6. Определение концентрации угарного газа с помощью датчика MQ-7

Основным источником выделения угарного гоза СО, является сгорание углеродного топлива при недостаточном количестве кислорода. Углерод «не догорает» и вместо углекислого газа CO2, в атмосферу выбрасывается угарный газ CO. Источником СО в доме, при неправильной эксплуатации, могут выступать дровяные печи, газовые конфорки, газовые котлы и прочая отопительная техника, работающая на углеродном топливе. В выхлопе бензинового двигателя автомобиля содержание СО может быть до 3%. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 4.7. Подключение модуля датчика огня

Модуль датчика огня Flame Sensor позволяет фиксировать наличие пламени или другого источника огня в прямой видимости перед собой.
Датчик имеет 4 контакта (питание, земля, аналоговый вывод и цифровой вывод, срабатывание которого (выдачу сигнала HIGH) можно настроить с помощью потенциометра).Номинальное напряжение питания – 5 В. Сенсор определяет наличие огня в углу чувствительности 60°. Показания представляются в виде аналогового сигнала. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 4.8. Подключение датчика присутствия HC-SR501

Рассмотрим еще один датчик, связанный с обеспечением безопасности для умного дома. Это модуль датчика присутствия HC-SR501 на основе пироэлектрического эффекта. Состоит из самого PIR-датчика (Pyroelectric (Passive) InfraRed sensor) и схемы управления. Такие датчики часто используются в охранных системах и в быту для обнаружения движения в помещении. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 5. Отображение показаний и индикация состояний датчиков

Данные, получаемые с датчиков, мы выводили в монитор последовательного порта Arduino. Смотреть показания датчиков через последовательный порт не совсем удобно, нам необходимы более удобные устройства для отображения данных. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 5.1. Дисплей TFT 2.4″ Shield 240×320

В качестве экрана для отображения показаний с датчиков мы будем использовать 2.4″ Shield 240×320. Основное применение дисплея – отображение простой графики и символьных данных с использованием 16 цветов. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 5.2. Вывод показаний датчиков на TFT 2.4″ Shield 240×320 для Arduino MEGA

Подключим TFT Shield к Arduino MEGA. Для использования библиотеки SWTFT с платой Arduino Mega, необходимо внести изменения в файл SWTFT.cpp . Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 5.3. Светодиодная индикация и звуковая сигнализация  о критических параметрах датчиков для Arduino MEGA

Введем светодиодную индикацию и звуковую сигнализацию, чтобы информировать вас о наступлении неблагоприятных климатических условиях или условиях, представляющих опасность для дома (пожар, утечка газов). Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики
Умный дом на Аrduino своими руками: описание и характеристики 5.5. Светодиодная индикация и звуковая сигнализация  о критических параметрах датчиков для NodeMCU

Для светодиодной индикации будем использовать обычные светодиоды, которые подсоединим к микросхеме расширителя входов  MCP23017 (банку A выводы GPA0- GPA7). Для звуковой индикации будем использовать небольшой динамик. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 6. Управление исполнительными устройствами

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

Умный дом на Аrduino своими руками: описание и характеристики 6.1. Подключение блока реле для управления исполнительными устройствами

Для управления электроприборами пользуются различными клавишными выключателями и тумблерами. Чтобы управлять такими электроприборами с помощью микроконтроллера существует специальный тип выключателей — электромеханические реле. В набор ИНТЕРНЕТ ВЕЩЕЙ ДЛЯ УМНОГО ДОМА включен Relay Shield. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 6.2. Подключение блока реле к плате Arduino MEGA

ассмотрим подключение Eelay Shield к плате Arduino MEGA.  Relay Shield мы будем использовать для включения/выключения света для освещения растений, вентилятора, насоса для полива растений. Включения/выключения вентилятора и помпы будет осуществляться в зависимости от значений температуры воздуха (вентилятор) и влажности почвы (мембранный вакуумный насос. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 6.3. Отображение данных о статусе исполнительных устройств на экране дисплея и управление с помощью сенсора

В предыдущей главе мы рассматривали вывод данных, получаемых с датчиков на экран TFT 2.4″ Shield. Теперь нам необходимо на экран дисплея выводить и данные о состоянии исполнительных устройств, подключенных к реле. Для этого нам необходимо формировать другие экраны, а также главный экран. Как мы будем делать переходы между экранами? Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 6.4. Подключение блока реле к модулю NodeMCU

Теперь рассмотрим подключение Relay Shield к модулю NodeMCU.  Relay Shield мы будем использовать также – для включения/выключения света для освещения растений, вентилятора, насоса для полива растений. Светом будем управлять с помощью кнопки, включения/выключения вентилятора и помпы будет осуществляться в зависимости от значений температуры воздуха (вентилятор) и влажности почвы (мембранный вакуумный насос. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 6.5. Управление блоком реле по ИК-каналу. Пример с модулем NodeMCU 

В набор включен инфракрасный пульт дистанционного управления с платой инфракрасного приёмника.
Это позволяет нам организовать управление исполнительными устройствами, подключенными к Relay Shield с помощью ИК пульта. После подключения ИК-приёмника необходимо узнать коды клавиш пульта, которые мы будем использовать для управления исполнительными устройствами. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 6.6. Организация доступа в дом с помощью RFID-модуля для Arduino MEGA

Идентификация объектов производится по уникальному цифровому коду, который считывается из памяти электронной метки, прикрепляемой к объекту идентификации. Считыватель содержит в своем составе передатчик и антенну, и посылает в эфир электромагнитные сигналы определенной частоты. RFID-метки «отвечают» собственным сигналом, который содержит информацию об идентификационном номере данной метки и данные об объекте, оснащенном данной меткой. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 7. Создание будильников для запуска исполнительных устройств по расписанию

В предыдущей главе мы рассмотрели управление исполнительными устройствами «умного дома» либо с помощью команд, отправляемых по нажатии кнопки или нажатии по кнопке на сенсорном дисплее, либо при наступлении определенных климатических параметров, данные о которых мы получаем с датчиков.
Но очень часто исполнительные устройства требуется включать/выключать по расписанию: включение освещения перед домом при наступлении сумерек, полив растений по расписанию, выключение наружного освещения днем и т.д. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 7.1. Подключение модуля DS3231 к плате Arduino MEGA. Вывод времени на экран дисплея

Рассмотрим подключение модуля часов реального времени DS3231 к плате Arduino MEGA.  Используем выводы Arduino MEGA 20 (SDA) и 21(SCL). Сначала добавим вывод времени на экран дисплея (главное меню). Для программирования нам понадобятся Arduino-библиотеки Wire (встроенная в Arduino IDE), Time и DS1307RTC. В цикле будем получать данные о текущем времени (часы, минуты) с модуля DS3231 и выводить на экран дисплея. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 7.2. Добавление срабатывания устройств Умного дома  по будильнику (для Arduino MEGA)

После подключения модуля RTC, мы можем организовать запуск исполнительных устройств «умного дома» по расписанию. Для этого создадим объект, описывающий будильник. В цикле loop() нашего скетча добавим проверку наступления события по расписанию и необходимых действий при наступлении события.
Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 7.3. Подключение модуля DS3231 к модулю NodeMCU

Рассмотрим подключение модуля DS3231 к модулю NodeMCU. У нас в проекте есть устройство, подключенное к модулю NodeMCU по протоколу I2C – это микросхема расширителя входов  MCP2301. Подсоединяем к контактам NodeMCU D3 (GPIO0) – SCL и D4(GPIO2). Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 7.4. Добавление срабатывания устройств Умного дома  по будильнику (для NodeMCU)

После подключения модуля RTC, мы можем организовать запуск исполнительных устройств «умного дома» по расписанию. Для этого создадим объект, описывающий будильник. Подробнее …

  8. Организация подключения к сети Интернет с помощью модуля SIM800L

В предыдущих главе мы рассмотрели мы сделали большие шаги построения «умного дома» –  оснастили его датчиками и исполнительными устройствами и создали и обеспечили определенную степень автоматизации для создания комфорта и безопасности. Теперь пришло время сделать наш «умный дом» устройством IoT (Интернета вещей), чтобы получить доступ к нему для мониторинга и управления из любой точки мира по сети интернет. Организуем доступ контроллеров нашего дома к сети интернет. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 9. Протокол MQTT – простой протокол для Интернета вещей

Наконец мы готовы к тому, чтобы устройства нашего «умного» дома стали устройствами Интернета вещей, что позволит получать данные с датчиков и управлять исполнительными устройствами нашего «умного дома» через интернет из любой точки мира. В качестве устройства управления удобнее всего использовать мобильный телефон. Нас интересует получение данных на телефон и управление исполнительными устройствами с телефона. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 9.1. IoT Manager — управление Умным домом через мобильное приложение

IoT Manager – это мобильное приложение для телефонов и планшетов, совмещающего в себе табло для отображения данных с датчиков и пульт для управления исполнительными устройствами. Существуют версии для Android и iOS, которые можно скачать в GooglePlay и AppStore www.iotmanager.ru. Но прежде, чем скачивать приложение, определимся с брокером. В качестве брокеров выбираем сервис CloudMQTT.com (www.cloudmqtt.com), в котором можно создать бесплатный аккаунт. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 9.2. Передача данных брокеру (тестовый пример)

IoTManager не только подписан на темы, но также выступает в роли publisher – публикует данные в темы. Это значения слайдеров и статус кнопки. Эти данные плата NodeMCU, подписанная в качестве subscriber на эти темы, может использовать для управления, подключенными к плате устройствами. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 9.3. Публикация данных датчиков в темы брокера на примере NodeMCU

Рассмотрим подоробнее отправку данных с датчиков нашего умного дома брокеру. Будем отправлять брокеру данные с двух датчиков DHT22 и DS18B20. Правки осуществляем в скетче из предыдущей главы. Устанавливаем количество виджетов для отображения по количеству датчиков. Подробнее …

Умный дом на Аrduino своими руками: описание и характеристики 9.4. Управление из IoT Manager исполнительными устройствами на плате NodeMCU

В данной главе рассмотрим управление исполнительными устройствами, подключенными к NodeMCU, из мобильного приложения IoT Manager. В скетч для NodeMCU необходимо внести следующие изменения. Изменяем количество виджетов для отображения (увеличение на количество исполнительных устройств). Подробнее …

 


Leave a Comment

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.