Изготовление системы «Умный дом» на технологии Arduino

Плата Arduino

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Home Automation Arduino и Raspberry Pi

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

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

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

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

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

‘);
$(‘#alldata’).live(‘click’, function() {
$(popoup).html(json.html.main + json.html.additional);
$(popoup).css(‘top’, ‘-‘ + ($(popoup).height() + 16) + ‘px’);
scrollIntoViewIfOutOfView(popoup);
});

} else {
$(popoup).html(json.message);
}
$(popoup).css(‘top’, ‘-‘ + ($(popoup).height() + 16) + ‘px’);
scrollIntoViewIfOutOfView(popoup);
}
});
}

function printResistor(elem, value) {

$(elem).parent().css(‘position’, ‘relative’);
$(‘.popup-element’).remove();

var popoup = document.createElement(‘div’);
popoup.className = ‘popup-element’;
$(popoup).html(‘Пожалуйста, подождите…’);

$(elem).parent().append(popoup);
$(popoup).css(‘top’, ‘-‘ + ($(popoup).height() + 16) + ‘px’);

var data = ‘value=’ + encodeURIComponent(value);

$.ajax({
url: ‘/cms/index.php?q=resistorcolor/’,
data: data,
type: ‘post’,
dataType: ‘json’,
success: function(json) {

if (json.success) {
$(popoup).html(json.message);
} else {
$(popoup).html(json.message);
}
$(popoup).find(‘img’).load(function() {
$(popoup).css(‘top’, ‘-‘ + ($(popoup).height() + 16) + ‘px’);
});
$(popoup).css(‘top’, ‘-‘ + ($(popoup).height() + 16) + ‘px’);
scrollIntoViewIfOutOfView(popoup);
}
});
}

$(document).ready(function() {
$(‘.popup-close’).live(‘click’, function() {
$(‘.popup-element’).remove();
});
});

В данном проекте я покажу, как построить умный дом. Он может контролировать температуру снаружи и внутри помещения, фиксировать открыто или закрыто окно, показывать, идет ли дождь, а также подавать тревожный сигнал, когда сработает датчик движения PIR. Я создал приложение на ОС Android для отображения всех данных (данные можно также просматривать через браузер). Вы сможете видеть температуру в вашем доме и другую информацию с любой точки мира! Приложение переведено на английский и польский язык. Я создал данное устройство, поскольку хотел иметь свой собственный умный дом, которым можно управлять. Вы также сможете построить умный дом из компонентов, рекомендованных ниже. Тогда приступим.

Объяснение сокращений для начинающих:

GND — земля
VCC — питание
PIR – датчик движения

Шаг 1: Компоненты

Стоимость всех компонентов не превышает $90

  • Arduino
  • ethernet модуль ENC28J60
  • Датчик температуры DS18B20 x 2 штуки
  • Микрофонный модуль
  • Датчик дождя
  • PIR — датчик движения
  • Язычковый переключатель
  • Реле
  • Резистор 4.7 кОм
  • Кабель, витая пара
  • ethernet кабель
  • инструменты (паяльник, отвертка)

Шаг 2: Соединения

Схема соединений показана выше.

Шаг 3: Программный код

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

Шаг 4: Принцип работы

Если вы нажмете на кнопке refresh (обновить) в вашем приложении или в браузере, то Arduino отправит данные в смартфон/браузер. Приложение получает программный код с каждой страницы ( /tempin, /tempout, /rain, /window, /alarm) и отображает его на вашем смартфоне.

Шаг 5: Приложения для Android.

Для установки приложения на вашем смартфоне под управлением ОС Android вам необходимо выполнить следующее (это видно на картинках выше):

1. Сначала загрузите файл smartHome.apk

2. Отправьте файл apk на ваш телефон
3
. Откройте файловый менеджер и разместите файл smarthHome.apk
4
. Щелкните на нем и нажмите установить (вам необходимо установить галочку, которая разрешает устанавливать приложения вне маркета google play)
5
. После установки вам необходимо активировать приложение

Шаг 6: Конфигурирование приложения

Я кратко объясню, как работает приложение. Оно отображает все данные из вашего дома. Вы можете нажать на иконку настроек для редактирования вашего IP адреса, и включать и выключать тревожную сигнализацию. Когда вы включаете сигнализацию, то приложение получает данные от активного датчика движения PIR. Если датчик определяет постороннее движение в доме, он посылает уведомление. Приложение получает данные от датчика каждую минуту. В поле IP введите ваш IP-адрес.

Шаг 7: Браузер

Введите в адресной строке браузера ваш ip адрес / all. При этом вы увидите все данные и сможете включать и выключать свет.

Для этих функций вы также можете использовать приложение на Android.

Шаг 8: Переадресация портов

Вам нужно открыть порт на вашем роутере. Войдите в конфигурацию роутера, установите адрес arduino ip и откройте порт 80. Процедура показана на картинке выше.

Шаг 9: Присвоение доменного имени NO IP (опция)

Вы можете настроить учетную запись на no ip, но это не обязательно. На картинке выше показан процесс конфигурации.

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

Если вы хотите видеть данные на вашем компьютере, то в адресной строке браузера введите ваш ip адрес / all (напр., 12.345.678.901/all) или используйте приложение Android.

Шаг 11: Редактирование: исходная программа приложения Android app

Ниже указан исходный программный код для Android.

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

Оригинал статьи

Теги:

Вознаградить

Я собрал
0

2

x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография

Средний балл статьи: 3.3
Проголосовало: 2 чел.

Библиографическое описание:

Комков С. С. Создание и реализация системы «Умный дом» на базе микроконтроллера Arduino с управлением через web-страницу // Техника. Технологии. Инженерия. — 2018. — №2. — С. 10-14. — URL https://moluch.ru/th/8/archive/85/3093/ (дата обращения: 07.07.2019).



Шло время, и в жизни человека появлялись всё новые бытовые приборы, инженерные системы, и сложность их со временем росла. Все эти устройства выполняли функции, которые приносили всё больше комфорта в быт человека.

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

Домашняя автоматизация, или умный дом (англ. smart home) — система домашних устройств, способных выполнять действия и решать определенные повседневные задачи без участия человека. Домашняя автоматизация включает доступные через интернет домашние устройства [1].

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

Рис. 1. Пример системы «Умный дом»

Домашняя автоматизация в современных условиях — чрезвычайно гибкая система, которую пользователь конструирует и настраивает самостоятельно в зависимости от собственных потребностей. Это предполагает, что каждый владелец умного дома самостоятельно определяет, какие устройства и где установить и какие задачи и как они будут исполнять [1].

На базе «Брянского строительного колледжа имени профессора Н. Е. Жуковского» функционирует секция научного студенческого общества «Робототехника и Электроника» с октября 2017г под руководством преподавателя Комкова Сергея Сергеевича. Данный проект разработали студенты 2 курса группы 9Э-22 специальности 08.02.09 «Монтаж наладка и эксплуатация электрооборудования ПГиЗ»

Целью нашей работы было создание “Умного дома” на базе микроконтроллеров Arduino, который управляется дистанционно, с помощью web-браузера.

Для достижения цели были поставлены следующе задачи:

  1. Создание макета
  2. Изучение модулей и датчиков
  3. Создание web-страницы и управление всеми процессами

На данный момент разработан макет системы «Умный дом», на примере аудитории. В котором управление всей системой производится с любого устройства (телефон, планшет и т. д.) через web-браузер.

Рис. 2. Макет системы «Умный дом»

Наша система «Умный дом» управляет следующими процессами:

  1. Включение и выключение:

a) света в помещениях

b) розеток

  1. Открытие и закрытие жалюзи
  2. Измерение температуры и влажности помещения
  3. сплит-системой

Проект построен на:

  1. Платформе Arduino Uno.

Arduino Uno один из самых распространённых микроконтроллеров. Питание может получать от USB порта или от внешнего источника постоянного тока до 12В. Выходное напряжение 3,3В, 5В, 5–12В. Язык программирования С++ подобный, легок в освоении [2].

Рис. 3. Arduino Uno

  1. Ethernet Shield

Ethernet Shield — это плата расширения, позволяющая Arduino работать в локальных вычислительных сетях для приёма и передачи данных, а также в сети Интернет. С ней можно управлять удалёнными объектами через web-браузер со своего компьютера, планшета или телефона. Более того, устройства смогут сами выступать в роли сервера [3].

Рис. 4. Ethernet Shield

На макете освещение представлено светодиодами

Рис. 5. светодиоды

Они применятся в группах подсветки: коридора, доски и самой аудитории.

С web-страницы осуществляется управление точечным освещением в вышеперечисленных группах.

Как аналог сплит-системы использовался электродвигатель постоянного тока-электрическая машина, в которой электрическая энергия преобразуется в механическую [4].

Рис. 6. Электродвигатель постоянного тока

Датчиком служащим для измерения температуры и влажности является DHT11.

DHT11 — это цифровой датчик влажности и температуры, состоящий из термистора и емкостного датчика влажности. Также датчик содержит в себе АЦП для преобразования аналоговых значений влажности и температуры. Датчик DHT11 не обладают высоким быстродействием и точностью, но зато прост, недорог и отлично подходят для контроля влажности в помещении [5].

Рис. 7. Датчик DHT11

Цифровые значения температуры и влажности выводятся непосредственно на web-страницу.

Микросервопривод FS90 используется для выполнения механической работы –открытие и закрытие жалюзи на макете. Этот сервопривод позволяет установить и удерживать угол поворота колеса. Привод обладает углом поворота 180°, т. е. может быть установлен в любое положение в пределах полуокружности.

Рис. 8. Микросервопривод FS90

Рис. 9. Схема подключения оборудования

Рис. 10. Часть программного кода

Рис. 11. Пример web-страницы

Вывод

В результате работы нами был создан макет системы «Умный дом» и создана веб-страница, с помощью которой мы управляем всей нашей периферией. Макет системы находится в постоянной модернизации.

Литература:

  1. Домашняя автоматизация https://ru.wikipedia.org/wiki/Домашняя_автоматизация
  2. Arduino https://ru.wikipedia.org/wiki/Arduino
  3. Ethernet Shield http://wiki.amperka.ru/продукты:ethernet-shield
  4. Электродвигатель https://ru.wikipedia.org/wiki/Электрический_двигатель
  5. Датчик DHT11 http://makerplus.ru/wiki/datchik-vlazhnosti-i-temperatury-dht11

Основные термины (генерируются автоматически): макет системы, домашняя автоматизация, USB, измерение температуры, закрытие жалюзи, система, устройство.

Похожие статьи

Модернизация автоматизированной системы управления…

Данная статья посвящена модернизации автоматизированной системы управления процессом нагрева труб в промышленных печах, на базе современных средств автоматизации.

TI — измерение температуры. Предложенная система АСУ является альтернативой, способной…

Анализ систем автоматизированного управления умным домом

AMX — система домашней автоматизации одноимённой компании Централизованная.

управление жалюзи; взаимодействие с другими системами.

Домашняя автоматизация, или умный дом (англ. smart home) — система домашних устройств, способных выполнять…

Обзор функциональных возможностей и перспектив развития…

— создание технической и охранной сигнализации; — определение температуры и влажности воздуха

Основные термины (генерируются автоматически): устройство, домашняя автоматизация, система, ELKO, центральный элемент, кнопка управления, единый интерфейс…

Анализатор воздуха на платформе Arduino

Сенсор включает в себя резистивный компонент измерения влажности и компонент измерения температуры с отрицательным температурным коэффициентом

– данное устройство можно использовать в качестве модуля «умного дома», подключив к нему систему пожаротушения.

Автоматизированные системы управления техническим…

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

Из опыта использования Arduino в курсовом и дипломном…

При разработке курсовых проектов по МДК 02.01 «Микропроцессорные системы» и выпускных квалификационных работ все технические решения отрабатываются на этой платформе и на защиту представляются экспериментальные макеты разрабатываемых устройств.

Автоматизация процесса снятия амплитудно-частотных…

Ключевые слова: измерительно-вычислительная система, режекторные фильтры, амплитудно-частотные характеристики, передаточные характеристики, аппаратно-программный комплекс, модель, автоматизация измерений.

Автоматизированная система управления климатическими…

Температура воздуха измеряется обычным цифровым термометром, а вот для измерения влажности воздуха требуется изготовление

— команды управления системой. Управление периферийными устройствами осуществляется через адресное пространство данных.