Умный дом ардуино схема решений


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

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

Принцип работы умного дома на базе Ардуино

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

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


Созданный на Arduino умный дом, управляется через Web интерфейс, что позволит удаленно контролировать работу системы с любого устройства, подключенного к интернету. Также поддерживает Arduino GSM управление с помощью обычных мобильных телефонов или смартфонов.

Какие датчики и контролеры можно подключать и как они работают

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

Чтобы к контроллеру можно было подключить разные функциональные датчики, используются шилды – платы расширения, которые подключают к процессорному модулю, а уже к шилдам подсоединяют требуемое число датчиков. Система из контроллера, расширительных плат и датчиков может функционировать как автономно, так и работать в связке с компьютером посредством проводной или беспроводной связи.

Через шилды к контроллеру можно подключить разные по функциональности датчики.

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

  2. Сенсоры, которые контролируют пространственную ориентацию объекта, к которому они прикреплены. К ним относятся гироскопы, компасы, акселерометры.
  3. Сенсоры, которые регистрируют наличие подвижных объектов. К ним относятся датчики движения, тепловые датчики УЗ-сенсоры.
  4. Сенсоры контроля аварийных ситуаций. К ним относятся устройства, которые позволяют контролировать целостность инженерных коммуникаций в доме. Датчики выявляют утечку газа, воды, отключения электричества, появления задымленности, открытого огня.

Многие из этих устройств входят в набор Ардуино умный дом, предлагаемый производителями для тех, кто собрался самостоятельно автоматизировать свой дом.

Процесс сборки умного дома

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

Подключение всей периферии

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

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


Программирование и отладка

Чтобы умный дом на Ардуино своими руками запрограммировать, нужно знать язык программирования С++ или использовать специальную оболочку Arduino IDE. Первый вариант подходит для продвинутых пользователей, которые знают и могут программировать на этом языке. Второй вариант подойдет для тех, кто только делает первые шаги в программировании алгоритмов для устройств, созданных на платформе Ардуино.

Оболочка Arduino IDE представляет собой упрощенную версию С++. Она имеет встроенный текстовый редактор, менеджер проектов, предпроцессор, компилятор и инструменты, нужные для того, чтобы залить программный код в микропроцессор платы Arduino.

Версии Arduino IDE доступны пользователям для разных операционных систем. Это могут быть Windows, Mac OS X или Linux.

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

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


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

Сопряжение с интернетом

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

Изначально нужно зайти в раздел настроек роутера и прописать в нем IP-адрес для системы Arduino. Затем выполняется открывание порта 80.

Если есть необходимость в том, чтобы присвоить доменное имя адресу системы умный дом, можно воспользоваться возможностями сервиса https://www.noip.com. После регистрации на этой платформе следует воспользоваться функцией «Add host» и прописать там IP-адрес созданной системы умного дома. После этого доступ можно будет получать, как по IP-адресу, так и по доменному имени.

Чтобы управлять развернутым на Arduino умным домом можно было с любого места, где есть интернет нужно провести несложную настройку используемого браузера. Для этого в его адресной строке следует набрать следующий код «xxx.xxx.xxx.xxx/all».


Здесь под xxx.xxx.xxx.xxx подразумевают IP-адрес, используемый системой умный дом. После этой процедуры пользователь будет иметь возможность получать информацию от созданной системы автоматизации дома, а также задавать параметры ее работы.

Заключение

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

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

Источник: bezopasnostin.ru

Начну с того что, в прошлом году когда свой дом был почти достроен, пришлость придумать некую Охранку-Пугалку. (так как для зимовки дом был не готов).
Собрал все на ардуино мега + SIM модуль + датчики движения + реле управление конвекторами + Динамик.

P1140387.JPG P1140428.JPG P1140432.JPG P1140438.JPG P1140440.JPG
Все прекрасным образом отработало всю зиму, включая отключая конвекторы, присылая sms с показаниями датчиков движения, и температуры в доме.
Но на платформе Ардуино сильно не развернешся. И я решил для мозгов и логики использовать компьютер. За лето написал приложение под свой дом WARDEN-2 все собрал в новый ящик, подключил все прекрасно работает до сих пор.
Описание ее возможностей
Новое детище же это компутер АЙ-3 в качестве мозгов + Ардуино Мега (в качестве аппаратной части).
Писал на Visual studio языке c#.
Данное приложение запускается из под виндовс 7 64х.
Что умеет:
1) Cнимает показания с датчиков температуры (ввод холодного водоснабжения, тамбур, котельная, прихожая, гостиная, холл, кухня, детская, родительская, гостевая комната, чердак, баня, температура воды в бане, погреб, теплый пол.
2) Уровень воды в колодце, и уровень септика.
и привышении уровня септика перекрывает водоснабжение (можно отключать при необхадимости)
3) Показания сенсоров движения в каждом помещении
4) дверной звонок (мелодия мп3 или голос)
5) Перекрывает водоснабжение при постановке дома на охрану, отключает водоснабжение
при долгом расходе (на случай утечки, как часто бывает не отработал унитаз и тд)
6) Управление греющим кабелем
7) Управление конвектрами в доме
8) Возможность управлять и слушать голосовой отчет о состоянии объекта через телефон (пока по средствам дтмф команд)
9) Система ведет полный текстовый отчет о происходящем в доме к примеру (12,00 включились конвекторы, 14,55 Объект снят с охраны и тд.)
10) Голосовое оповещение в доме о различных событиях, а также SMS на телефон, в экстренных случаях дозвон.
11) Датчики дыма
12) Быстрые голосовые напоминания (система распознает голос, к примеру есть список голосовых команд, простые и сервисные
сервисными командами можно перекрыть воду, обесточить насос, отключить питание дома, снять с охраны и тд.
простыми командами можно спросить сколько время, какая температура на улице, и в любом помещении, уровень воды в колодце
Быстрые голосовые напоминания работают так, пример диалога.
собеседник- Дом напомни мне
Дом — через сколько
собеседник — Дом через две минуты
Дом — хорошо о чем напомнить?
Собеседник — выключи плиту
Да.
ает голосом и звонит на ее телефон
Можно использовать также принятие антибиотиков (по графику) Работаю над разделом "здоровье".
19) Расказывает анекдоты, их 12 тыс. в базе
20) можно попросить позвать жильца на кухню, на улицу (Дом позови бабушку на кухню), кстати это я замутил
изначально чтобы вызывать на улицу, т. к на улице будет стоять типа домофона.
Короче приехали скажем гости, сидят все на кухоньке, а ты шашлыки жаришь на крылечке, и вечно надо
что то принести скажем нож, подходишь к домофону и говоришь, Дом позови жену, и вуаля, дом орет в доме
Наталья вас зовут на крылечко!
21) Сирена, и световые эффекты в доме и возле него на случай проникновения.
22) Управление рольставнями по голосу или с клавиатуры ввода паролей на доме. (Не реализовано, т. к нет рольставень)
23) Датчик уровня шума в доме (Не реализовано)
24) Управление Водогрейкой (Не греть в отсутствие людей, включать за час до приезда)
25) Желает доброго утра, когда заходишь утром на кухню (но это так прикол).
26) Электро-замок калитки открытие по команде (не реализовано)
27) Включение музыки по команде, и управление плеером (Плэй, Пауза, следующий трэк, предыдущий трэк)
Есть разделы например.
м включи спокойную музыку, Дом включи хаос, Дом включи шансон, короче свои плэйлисты, использует АИМП плеер
28) Функция записи голоса, по команде — Дом запись
29) Функция тихий режим. Чтобы ночью не напугать жильцов. Тут вот датчик шума ей в помощь. Нуи время после 9-00 не шуметь (за исключением экстренных)
30) функция Дом позвони жене. Набирает номера забитые в базе и по громкой связи общаешься. Но скорее всего буду привязывать через вайбер.
Чего еще хочу реализовать когда подведу оптику интернет
31) Интернет радио
32) Интернет прогноз погоды на завтра скажем
33) Дом спроси у гугла (вытягивать голосовую инфу)
34) распознавания лиц жильцов (свой-чужой)
35) Аэрозольный распылитель с перцовыми балончиками на крыльце, в гараже (включаются по личной команде через телефон) Система отпугивания так сказать
36) Управление поливом теплицы, и проветриванием
37) Освещение ограды,
38) Определять движение на камерах наблюдения фиксировать видео или фото ряда, и уведомлять смс, что бы я мог зайти с телефона и посмотреть кто там
шариться, и матюгнуться через телефон на всю улицу (ха-ха).
Кстати для общения с домом использую радио гарнитуру, которую переделаю в некий браслет.

Источник: www.forumhouse.ru

Составление проекта 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 можно создавать своими руками достаточно сложные устройства.

Источник: UmnieDoma.ru

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

Из чего сделан современный умный дом?

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

  • Контроллер. Главное устройство, которое занимается обработкой и отправкой сигналов. Контроллер – это сердце умного дома, к которому подключаются внешние датчики и исполнительные устройства. Именно на эту роль мы возьмем Arduino, так как его возможностей вполне достаточно для автоматизации жилья.

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

  • Исполнительные устройства. К этой категории относятся краны с сервоприводом, системы тушения огня, сирены, твердотельные и электромагнитные реле, и многие другие. Именно при помощи них контроллер управляет процессами, происходящими в доме, и именно они делают жилище автоматизированным.

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

Каковы особенности платформы Arduino?

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

Умный дом ардуино схема решений

Автоматизированный дом на платформе Arduino отличается множеством преимуществ, среди которых такие:

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

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

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

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

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

Какие компоненты требуется подготовить?

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

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

Умный дом ардуино схема решений

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

Подключение компонентов к Ардуино

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

Умный дом ардуино схема решений

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

Работа с программной частью проекта

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

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

Настройка управления автоматизированным домом

Заключительный этап – настройка управления умным жильем. Для этого нужно скачать в магазине приложений программу SmartHome и установить ее на своем мобильном устройстве. После этого надо зайти в настройки этой программы и отредактировать IP-адрес. Необходимо указать IP-адрес вашего роутера, к которому подключается контроллер Ардуино при помощи Ethernet кабеля. Далее выполняется настройка роутера по этой инструкции:

  1. откройте настройки маршрутизатора;

  2. впишите в настройках IP-адрес контроллера;

  3. откройте порт под номером 80.

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

Заключение

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

Источник: hometa.com

Что такое «умный дом»

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

Умный дом ардуино схема решений
Система «умный дом» от Arduino представляет собой комплект оборудования для управления работой различных устройств с помощью мобильного телефона на базе ОС Android

В любой системе «умный дом» можно выделить следующие составляющие:

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

    Умный дом ардуино схема решений
    Одним из наиболее часто импользуемых элементов «умного дома» является датчик движения

  2. Исполнительная часть. Это устройства, которыми система может управлять, реагируя таким образом на то или иное событие в соответствии с заданным пользователем сценарием. Прежде всего, это реле, посредством которых контроллер «умного дома» может подавать питание на любой электрический прибор, то есть включать и выключать его. Например, по хлопку в ладони (система «услышит» его при помощи микрофона) можно настроить включение реле, подающего питание на вентилятор. Обратите внимание: в этом примере вентилятор может быть любым. Но можно применить и прибор, специально выпущенный для работы в составе той или иной системы. Например, компания Arduino выпускает для своих систем электромоторчики, при помощи которых можно, допустим, закрывать или открывать форточку, а компания Xiaomi (китайский производитель подобных систем) — устройства управления воздухоочистителем. Такой прибор полностью контролируется системой, то есть она может не только включить его, но и изменить настройки.

    Умный дом ардуино схема решений
    Электромоторчик является исполнительным устройством, которое включается по сигналу контроллера системы и приводит в движение подключённый к нему механизм

  3. Процессор. Может также называться контроллером. Это «мозг» системы, который координирует и согласовывает работу всех её составляющих.

    Умный дом ардуино схема решений
    Плата процессора (или контроллера) управляет исполнительными устройствами на основе встроенной программы и данных, полученных от сенсоров

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

Современные системы «умный дом» делятся на несколько разновидностей:

  1. Оснащённые собственным контроллером.
  2. Использующие в этом качестве процессор пользовательского компьютера (планшета, смартфона).
  3. Обрабатывающие информацию при помощи удалённого сервера, принадлежащего компании-разработчику (облачный сервис).

Система может не только активировать тот или иной прибор, но и проинформировать пользователя о происшедшем событии путём отправки сообщения на телефон или каким-то иным способом. Таким образом, на неё можно возложить функции сигнализации, в том числе и противопожарной.

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

Знакомимся с Arduino

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

Умный дом ардуино схема решений
Набор Arduino Uno содержит необходимые компоненты для реализации устройств, описанных в прилагаемой книге

Такой подход обеспечил высокую популярность системам итальянской компании, но у него есть и недостаток: из-за того что за производство компонентов для Arduino-систем берутся, так сказать, все кому не лень, не всегда удаётся с первого раза приобрести качественное изделие. Зачастую приходится сталкиваться и с проблемой совместимости компонентов от разных производителей.

Потенциальному пользователю следует знать, что с 2008 года существуют две компании, выпускающие продукцию под торговой маркой Arduino. У первой, которая начинала это направление, официальный сайт размещён по адресу www.arduino.cc; у второй, новообразовавшейся — по адресу www.arduino.org. То, что было разработано до раскола, на обоих сайтах представлено одинаково, а вот ассортимент новой продукции уже отличается.

ПО для систем «умный дом» Arduino имеет вид программной оболочки (называется IDE), в которой можно писать и компилировать программы. Распространяется бесплатно. Программы пишутся на языке C++.

Версии программы Arduino IDE, представленные на указанных сайтах, тоже сильно отличаются, хотя имеют одинаковые не только название, но и номера версий. Из-за этого в них довольно легко запутаться. Отличие состоит в том, что каждое ПО поддерживает свои библиотеки и платы.

«Железо» системы состоит из платы с микроконтроллером (процессорная плата) и установленных на ней плат расширения, которые в обиходе называют шилдами. Подключение шилд к процессорной плате позволяет добавлять к «умному дому» новые компоненты. Собранная система может быть как полностью автономной, так и работающей в связке с компьютером через стандартный проводной или беспроводной интерфейс.

Умный дом ардуино схема решений
На процессорную плату можно устанавливать специальные расширения (шилды), которые увеличивают функциональность системы

Преимущества системы Arduino

Этот аппаратно-программный комплекс привлекает пользователя такими достоинствами:

  • возможность автономной работы, обусловленная наличием собственного контроллера;
  • широкие возможности по настройке работы системы (пользователь сам пишет программу, в которой могут быть предусмотрены сценарии любой сложности);
  • простота процесса загрузки программы в контроллер: программатор для этого не требуется, достаточно иметь USB-кабель (в микроконтроллере имеется прошивка загрузчика Bootloader);
  • доступная стоимость компонентов, обусловленная отсутствием у того или иного производителя монопольных прав (архитектура является открытой).

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

В программе Arduino IDE, представленной на сайте arduino.cc, заложена возможность создания пользовательских аппаратно-программных платформ, в то время как в версии программы на arduino.org такая функция отсутствует.

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

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

  1. Сенсоры, отслеживающие климатические параметры:
    • температуру;
    • влажность;

      Умный дом ардуино схема решений
      Специальная плата с датчиками температуры и влажности предоставляет интерфейс вывода измеряемых параметров на LCD-дисплей

    • осадки (датчик дождя и снега);
    • освещённость;
    • давление.
  2. Сенсоры, позволяющие определить пространственное положение объекта, на котором они закреплены:
    • 6-осный датчик-гироскоп с акселерометром;
    • компас.

      Умный дом ардуино схема решений
      Встроенный компас позволяет определять стороны света по отношению к объекту, на котором используется система

  3. Сенсоры, позволяющие регистрировать присутствие различных объектов:
    • датчик движения;
    • инфракрасный датчик (зафиксирует неподвижно сидящего человека или теплокровное животное);

      Умный дом ардуино схема решений
      ИК-датчик позволяет гарантированно определить присутствие в доме людей и перейти на соответствующую ветку рабочего сценария

    • ультразвуковой датчик (обнаруживает объекты с любой температурой и определяет расстояние до них).
  4. Аварийные сенсоры:
    • датчик дыма;
    • датчик огня;
    • датчик утечки газа;

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

    • датчик углекислоты.
  5. Прочие устройства, например:
    • микрофон;
    • часы;
    • датчик открывания двери;
    • пульты дистанционного управления (радиочастотные и инфракрасные) с приёмниками;
    • удалённые кнопки.

Некоторые из этих устройств включены в состав базового набора Arduino Start, который у ряда производителей имеет название StarterKit.

Умный дом ардуино схема решений
Стартовый набор системы Arduino включает в себя процессорную плату и несколько наиболее часто используемых устройств

Исполнительная часть содержит огромный набор устройств, например:

  • электромоторы;
  • реле и различные переключатели;
  • диммеры (позволяют плавно менять интенсивность освещения);
  • доводчики дверей;
  • вентили и 3-ходовые клапаны с сервоприводами.

Если вы планируете подключить через реле Arduino освещение, то правильнее использовать в качестве светильников светодиодные лампы. Лампы накаливания при подключении через такие реле быстро горят.

Видео: начинаем работать с Arduino — управляем светодиодом через web-интерфейс

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

Процесс создания и настройки «умного дома» Arduino покажем на примере системы, в которую будут заложены следующие функции:

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

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

Используемые сокращения:

  1. «GND» — заземление.
  2. «VCC» — питание.
  3. «PIR» — датчик движения.

Необходимые компоненты для изготовления системы «умного дома»

Для системы «умного дома» Arduino потребуется следующее:

  • микропроцессорная плата Arduino;
  • модуль Ethernet ENC28J60;
  • два температурных датчика марки DS18B20;
  • микрофон;
  • датчик дождя и снега;
  • датчик движения;
  • переключатель язычковый;
  • реле;
  • резистор сопротивлением 4,7 кОм;
  • кабель «витая пара»;
  • кабель Ethernet.

Стоимость всех компонентов составляет примерно 90 долларов.

Умный дом ардуино схема решений
Для изготовления системы с необходимыми нам функциями потребуется набор устройств стоимостью около 90 долларов

Сборка «умного дома»: пошаговая инструкция

Вот в какой последовательности необходимо действовать.

Подключение исполнительных и сенсорных устройств

Подключаем все компоненты согласно схеме.

Умный дом ардуино схема решений
Сборка системы в основном сводится к подключению исполнительных устройств к соответствующим контактам процессорной платы

Разработка программного кода

Пользователь пишет всю программу целиком в оболочке Arduino IDE, для чего последняя оснащена текстовым редактором, менеджером проектов, компилятором, препроцессором и средствами для заливки программного кода в микропроцессор платы Arduino. Разработаны версии IDE для операционных систем Mac OS X, Windows и Linux. Язык программирования — С++ с некоторыми упрощениями. Пользовательские программы для Arduino принято называть скетчами (sketch) или набросками, программа IDE сохраняет их в файлы с расширением «.ino».

Функцию main(), которая в С++ является обязательной, оболочка IDE создаёт автоматически, прописывая в ней ряд стандартных действий. Пользователь должен написать функции setup() (выполняется единоразово во время старта) и loop() (выполняется в бесконечном цикле). Обе эти функции для Arduino являются обязательными.

Заголовочные файлы стандартных библиотек вставлять в программу не нужно — IDE делает это автоматически. К пользовательским библиотекам это не относится — они должны быть указаны.

Добавление библиотек в «Менеджер проекта» IDE осуществляется несколько необычным способом. В виде исходных текстов, написанных на С++, они добавляются в особую папку в рабочем каталоге оболочки IDE. После этого названия этих библиотек появятся в соответствующем меню IDE. Те, что отметит пользователь, будут внесены в список компиляции.

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

Вот пример самой простой программы, заставляющей каждые 2 секунды мигать подключённый к 13-му выводу платы светодиод:

void setup () { pinMode (13, OUTPUT); // Назначение 13 вывода Arduino выходом}

void loop () { digitalWrite (13, HIGH); // Включение 13 вывода, параметр вызова функции digitalWrite HIGH — признак высокого логического уровня

delay (1000); // Цикл задержки на 1000 мс — 1 секунду

digitalWrite (13, LOW); // Выключение 13 вывода, параметр вызова LOW — признак низкого логического уровня

delay (1000); // Цикл задержки на 1 секунду}

Однако в настоящий момент перед пользователем далеко не всегда встаёт необходимость лично писать программу: в сети выложено множество готовых библиотек и скетчей (загляните сюда: http://arduino.ru/Reference). Имеется готовая программа и для системы, рассматриваемой в этом примере. Её нужно загрузить, распаковать и импортировать в IDE. Текст программы снабжён комментариями, поясняющими принцип её работы.

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

Когда пользователь нажимает в браузере или установленном на смартфоне приложении кнопку «Refresh» (Обновление), микроконтроллер Arduino осуществляет отсылку данных этому клиенту. С каждой из страниц, обозначенных как «/tempin», «/tempout», «/rain», «/window», «/alarm», поступает программный код, который и отображается на экране.

Установка клиентского приложения на смартфон (для ОС Android)

Для получения данных от системы «умный дом» в сети можно скачать готовое приложение.

Вот что необходимо сделать владельцу гаджета:

  1. Скачайте файл SmartHome.apk.
  2. Отправьте его на телефон.
  3. Открыв «Менеджер файлов», разместите этот файл.
  4. Щёлкните на нём и выберите «Установить» (должна быть отмечена «галочка», позволяющая осуществлять установку программ вне сервиса Google Play).

    Умный дом ардуино схема решений
    Необходимо включить разрешение на установку программ не из PlayMarket, которое находится в разделе «Безопасность» настроек смартфона

  5. Когда установка будет завершена, активируйте приложение.
  6. Выполните его настройку.

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

Активировав иконку «Настройки», можно отредактировать свой IP-адрес.

Настройка браузера на работу с «умным домом»

В адресной строке браузера следует ввести XXX.XXX.XXX.XXX/all, где «XXX.XXX.XXX.XXX» — ваш IP-адрес. После этого появится возможность получать данные от системы и осуществлять управление ею.

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

Работа с роутером

Далее на маршрутизаторе необходимо открыть порт:

  • открываем настройки маршрутизатора;
  • прописываем адрес Arduino IP;
  • открываем порт 80.

    Умный дом ардуино схема решений
    Необходимо прописать маршрут перехода на процессор Arduino по порту 80

Настройка учётной записи на noip.com

Этот этап не является обязательным, но он необходим, если вы хотите присвоить адресу доменное имя. Для этого надо зарегистрироваться на сайте https://www.noip.com/, перейти в раздел «Add host» и ввести IP-адрес системы.

Умный дом ардуино схема решений
После регистрации на сайте noip.com доступ к системе можно получать не только по IP-адресу, но и по полному доменному имени

Создание проекта завершено, можно проверять работоспособность системы.

Видео: умный дом на «Ардуино»

Особенности работы некоторых аппаратных средств Arduino

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

Похожая ситуация сложилась в сфере разработки персональных компьютеров. В своё время компания IBM сделала архитектуру своих компьютеров открытой, вследствие чего IBM-совместимые компьютеры и отдельные компоненты стали выпускать многие компании. В итоге «персоналки» этого типа широко распространились по всему миру, однако, качество комплектующих и степень их совместимости во многих случаях оказывались не на самом высоком уровне. Противоположной тактики придерживалась компания Apple. Она ограничила круг разработчиков, имеющих доступ к архитектуре, и такую же политику провела в сфере разработки ПО. В итоге компьютеры Apple оказались менее распространёнными и более дорогими, но зато по качеству они на порядок превосходят IBM-совместимые устройства, работающие под Windows.

В отношении некоторых комплектующих для систем Arduino пользователи заметили следующее:

  1. Датчик температуры DHT11, поставляемый с базовым набором (StarterKit), даёт значительную погрешность в 2–3 градуса. В помещении рекомендуют применять температурный датчик DHT22, дающий более точные показания, а для установки на улицу — DHT21, способный работать при отрицательных температурах и имеющий защиту от механических повреждений.
  2. На некоторых микропроцессорных платах Arduino при замыкании подключённых к ним реле выходит из строя COM-порт. Из-за этого на микроконтроллер не удаётся загрузить скетч: как только начинается заливка, процессор перезагружается. Реле при этом щёлкает, COM-порт отключается и процесс загрузки скетча прекращается.
  3. Датчик закрытия окна/двери иногда преподносит сюрпризы в виде ложных срабатываний. С учётом этого скетч пишут так, чтобы система производила необходимое действие только по получении нескольких сигналов подряд.
  4. Для настройки управления процессами при помощи хлопков некоторые пользователи по неопытности вместо микрофона заказывают детектор звука с ручной настройкой порога. Для подобных целей этот компонент не подходит, так как имеет слишком малый радиус действия: хлопать приходится не далее 10 см от детектора. Кроме того, этот датчик передаёт сигналы импульсами малой продолжительности, так что при наличии большого скетча, на обработку которого уходит сравнительно много времени, микроконтроллер просто не успевает их зафиксировать.
  5. Для устройства противопожарной сигнализации следует использовать датчик дыма, а не датчик огня. Последний регистрирует пламя не далее 30 см от себя.
  6. На случай сбоя в работе микроконтроллера или ошибки в коде лучше применять нормально замкнутые реле с последовательно подключёнными ручными выключателями.

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

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

Источник: tehznatok.com


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

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