domvpavlino.ru

Arduino умный дом принципиальная схема. «Умный дом» на Arduino для бытовки. Подробности по кондиционированию

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

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

Система «умный дом» от 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. Сенсоры, отслеживающие климатические параметры:
  2. Сенсоры, позволяющие определить пространственное положение объекта, на котором они закреплены:
  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)

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

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


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

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

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

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

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

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


Настройка учётной записи на 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, автоматизируя различные домашние процессы.

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

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

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

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

Схема управления светом с помощью «Умного дома»

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

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

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

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

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

Датчики и компоненты «Умного дома» на базе Arduino

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

  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 к интернету

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

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

Заключение

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

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

Видео: Умный дом на Arduino

Всем привет! С вами снова Артем Лужецкий и очередной материал в направлении . Чтобы связать наши проекты с интернетом можно использовать 10-ки способов, но мы пока остановимся на модуле, о котором я еще говорил еще в самой первой статье, ESP 8266. не может работать с интернетом. Обычная плата без дополнений и модулей не может передавать информацию на расстоянии.

Но с помощью UART интерфейса на Arduino мы можем получать информацию, обрабатывать ее и отправлять данные обратно. С помощью него, UNO может работать с Bluetooth и Wi-fi модулями, которые уже и дают нашей системе дополнительные функции.

Выход в интернет

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

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

Вы можете узнать, что такое IP, TCP, HTTP, GET - запрос в интернете, если вам в дальнейшем будет не понятно.

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

Передача данных от Ардуино

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

Попробуем на него передавать данные изменения температуры нашей комнаты.

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

На главной странице можно посмотреть возможные варианты работы данного сайта

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

Схема подключения

Разберем электрическую схему подключения esp 8266. Нам потребуется только пины Rx, Tx, Gnd и Vcc. Данный модуль питается от 3,3 вольт.

И общую электрическую схему, в которой нам пригодится ардуино, esp и термистор.

Код проекта

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

  1. ESP8266 wifi(Serial) - Подключаем esp8266 через Serial соединение.
  2. wifi.joinAP(a,b); - Подключение к wifi, где а - это название точки доступа, а b - пароль к этой точки доступа.
  3. wifi.createTCP(a,b) - Открытие TCP соединения, где "a" - DNC сайта (www.dweet.io), а "b" - сетевой порт (порт 80).
  4. wifi.send(a,b) - отправляем данные, где "a" - данные в массиве (строка с-стиля), а "b" - общее количество отправленных байтов.
  5. wifi.releaseTCP() - Закрытие TCP соединения.
#include "ESP8266.h" // для работы с esp8266 #include // чтобы добавить больше пинов UART #include // чтобы высчитать логарифм #define SSID "Arduino" // имя вашего wi-fi #define PASSWORD "12345678" //пароль вашего wi-fi #define Thermistor_PIN A0 // пин подключения термистора SoftwareSerial mySerial(2, 3); // пины подключения по UART ESP8266 wifi(mySerial); // говорим esp8266, что она будет работать через пины UART String name = "MyEyse"; // ваш ключ от сайта dweet.io void setup() { Serial.begin(9600); // открываем serial соединение if (wifi.joinAP(SSID, PASSWORD)) { // если мы подключились к нашей сети Serial.println("https://dweet.io/follow/" + name); // пишем в мониторе порта адресс сайта } else { Serial.println("Wi-Fi connection error"); // в случае, если мы не подключимся к сети, нам выдадут ошибку } } void loop() { float volt_temp = 1023.0 / analogRead(Thermistor_PIN) - 1.0; // высчитываем температуру float temperatur = 1.0 / (-log(volt_temp) / 3977.0 + 1.0 / 295.0) - 273.0; if (wifi.createTCP("www.dweet.io", 80)) { // если нам удалось создать TCP соединение String data = "GET /dweet/for/" + name + "?"; // создаем переменную data в виде строки (заполняем GET-запрос) data += "temperatur_C=" + String(temperatur) + " HTTP/1.1\r\n"; data += "Host: dweet.io\r\n\r\n"; // закрываем GET-запрос в строке wifi.send(data.c_str(), data.length()); // отправляем данные в массиве (строка с-стиля) и общее количество байтов wifi.releaseTCP(); // закрываем TCP соеденение } else { Serial.println("create TCP error"); // в случае, если мы не создали TCP соеденение, нам выдадут ошибку } delay(1000); // ждем секунду (dweet.io обрабатывает данные 1 секунду, нет смысла отправлять данные раньше) }

Итоговый результат

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

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

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

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

Что за система?

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

Что по факту представляет собой данная система? Это набор датчиков и контроллеров. Они существуют различных видов, поэтому могут реагировать как на движения, так и на тепловую энергию. Такие устройства способны контролировать работу дома: коммуникации, систему безопасности и так далее. Существуют и более «разумные» сооружения, которые могут самостоятельно включать отопление, запускать различные процессы и так далее. Каждый человек хочет прийти домой, где его будет ждать горячая ванная, разогретый ужин. «Умный» дом - самое лучшее решение для тех, кто живет один. Если нет средств на такую систему, то ее можно сделать самостоятельно.

Как работают датчики?

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

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

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

Почему «Ардуино»?

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

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

На платформе Arduino имеется куча библиотек с поэтому найти себе подходящую программу не составит труда.

Наборы

В продаже имеются наборы «Умный дом». В них покупатель может найти все необходимые составляющие для создания автоматизированных систем в собственном доме: материнскую и макетную платы, электронные детали и правила по использованию. Этот набор научит человека правильно подключать диоды, включать устройства по хлопкам и управлять девайсами дистанционно.

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

Arduino Starter Kit - базовый набор, с которого все владельцы советуют начать ознакомление. В нем поставляется плата Arduino UNO, датчики, экран, резисторы и так далее. Стоит он около 80 евро.

«Матрешка» предназначена для детей от 10 лет. Она продается в нескольких версиях, которые между собой отличаются количеством и типом деталей, соответственно, с помощью каждого из них можно осуществить совершенно отличные друг от друга эксперименты. Поставляется плата Arduino UNO Rev3, произведенная в Италии. С помощью этого набора можно сделать ночной светильник, миксер, тестер для батареек и так далее.

«Амперка», как правило, приобретается для учебных учреждений. Она производится для детей от 12 лет. По окончании занятий дети смогут создать робота, который движется по прямой линии. Контроллер поставляется модели Arduino Uno.

Наборы «Дерзай» («Умный дом») на Arduino на данный момент наиболее популярны.

Платформы

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

Arduino Leonardo стоит немного дешевле вышеописанного варианта. Дело в том, что, в отличие от Uno, его можно использовать как USB-устройство. Например, благодаря этой плате можно управлять мышью и клавиатурой.

Почему чаще всего создается «Умный дом» на Arduino Mega2560? Она лишь немного внешне отличается от Uno, но имеет больший функционал. Используют ее зачастую для работы одновременно с большим количеством устройств. Соответственно с ней намного проще работать, когда речь идет о масштабных проектах. В целом если планируется создание «Умного дома», Arduino Mega - наиболее подходящий вариант.

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

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

Производитель предусмотрел возможность создавать собственные программы - исходный код открыт. Используемый язык максимально прост в освоении. Если есть необходимость, можно переносить программы при помощи USB-кабеля. Наборы «Умного дома» довольно интересны.

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

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

Принципы работы

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

Что необходимо для сборки?

Если появилось желание собрать проект самостоятельно, то необходимо собрать некоторые устройства и взять приборы. Какие?

  • Датчики и контроллеры.
  • Интернет-модуль.
  • Витую пару (кабель).
  • Переключатель.
  • Резистор.
  • Провод для интернет-модуля.
  • Реле.

Из принадлежностей понадобятся паяльник, отвертки и так далее.

Наборы от компании Arduino нужно приобретать в проверенных магазинах. Почему? Все необходимые приборы нужны для работы с электричеством, именно поэтому подделки использовать опасно. Все необходимые утилиты можно скачать из Интернета. Поэтому довольно просто создать «Умный дом» своими руками на базе Arduino.

Датчики нужно выбирать, отталкиваясь от своих предпочтений: включение или отключение света, контроль температуры и так далее.

Процесс установки

Обратить внимание нужно на то, что «Умный дом» должен иметь лишь лампы светодиодного типа. Обычные варианты не смогут выдержать напряжения - либо лопнут, либо просто перегорят.

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

Все работы можно представить поэтапно в виде алгоритма:

  1. Установка кода.
  2. Настройка приложения под компьютер или телефон.
  3. Переадресация портов.
  4. Тестирование датчиков и обеспечения.
  5. Устранение неполадок, если таковые выявлены при проверке.

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

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

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

На роутере нужно открыть порт. Что следует сделать, чтобы выполнить это действие? Открыть меню конфигураций, написать сетевой адрес Arduino и активировать порт.

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

Дистанционное управление

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

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

Итоги

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

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

Загрузка...