Arduino проекты для умного дома

​Arduino Home, умный дом на Arduino, Часть #2

Делаем умный дом на Arduino: с чего начать?

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

Первую часть из цикла статей читайте здесь

Если вы мастер на все руки и отличный самоучка, то процесс пойдет быстрее, если же нет — то придется немножко попотеть.

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

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

Читайте также:  Проекты одноэтажного дома до 100 квадрат

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

В зависимости от выбранного вами контроллера будет меняться уровень необходимых знаний для настройки и взаимодействия между собой всех компонентов системы (имеется ввиду язык программирования, на котором будет написан код для загрузки в контроллер).

Официально самые первые умные дома появились еще в 1978 году и самой первой их функцией была возможность управлять освещением: плавно менять уровень освещенности в лампочках в зависимости от времени суток или рода деятельности. Все это производилось при помощи регуляторов напряжения — диммеров. Благодаря их повсеместному использованию росла энергоэффективность в домах (экономия электроэнергии достигала уровня в 20-30%).

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

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

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

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

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

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

Для удобства разделим их на несколько групп:

1. Контроллер

С этим мы уже определились — будем использовать Arduino. Для новичков это идеальный вариант: открытая среда разработки, множество примеров и исходников в открытом доступе, библиотеки, упрощающие разработку, и несложный язык программирования (в Arduino используется wiring, представляющий собой упрощенный C++ . О том, насколько легко его понять говорит тот факт, что Arduino занимаются даже ученики начальных классов в школах робототехники).

2. Сервер

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

Сервер необходим для управления умным домом посредством удаленного доступа.

Платформа Arduino напрямую работать удаленно с другими устройствами не может (иными словами не может передавать информацию на расстоянии), поэтому ей необходимо дополнение, работающее с интернетом.

Отличный вариант — подключение к плате Arduino платы расширения Ethernet Shield (интернет шилд). Подключение происходит через UART интерфейс. Начинающим с ним будет работать довольно просто, поскольку в него встроена библиотека, упрощающая написание кода и работу с шилдом. Другим, но чуть более сложным вариантом будет взаимодействие Arduino с отдельным Wi-Fi модулем на базе ESP8266.

3. Устройства мониторинга и анализа

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

  • Контроль за оптимальным режимом температуры

Для этой цели вам понадобятся хорошие датчики температуры. Могу порекомендовать датчики Dallas DS18B20. Они обладают достаточной для комнатных условий точностью (точнее, чем датчики семейства DHT), быстродействием и способны показывать температуру как в фаренгейтах, так и в цельсиях. Они будут считывать информацию о текущей температуре и передавать данные на Arduino.

  • Содержание углекислого газа в помещении.

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

4. Исполнительные устройства

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

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

5. Компоненты для коммутации (обеспечивают взаимодействие всех составляющих умного дома)

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

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

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

​Arduino Home, умный дом на Arduino, Часть #1

Делаем умный дом на Arduino: введение и базовые понятия.

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

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

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

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

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

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

Разберем основные моменты, чтобы понять саму технологию.

Конструкция умного дома состоит из следующих элементов:

  1. Контроллер — главный “мозг” системы. В него загружается программный код, определяются необходимые параметры системы, а сама информация передается на сервер.
  2. Сервер — это то, что связывает контроллер с исполнительными устройствами. Он обрабатывает всю информацию и от него зависит быстродействие и надежность системы.Сервер подключается к компьютеру в доме при помощи специального программного обеспечения (ПО)
  3. Исполнительные устройства — это различные приборы, которые питаются от сети (розетки, телевизор, лампочки, вентилятор и т.д.)
  4. Линии связи обеспечивают взаимодействие всех элементов умного дома посредством их соединения.

Соединение устройств бывает двух типов, по которым происходит и классификация умных домов: беспроводные и проводные.

У каждого из этих типов есть свои плюсы и минусы.

Беспроводной тип умных домов подразумевает собой взаимодействие всех элементов при помощи беспроводной передач данных (чаще всего через Wi-Fi и Bluetooth):

  • Минимальное количество кабелей и проводов
  • Меньше занимает места
  • Удобно использовать
  • Система уязвима перед хакерскими атаками: ее легко взломать по причине низкого уровня защиты беспроводных соединений
  • Высокая стоимость беспроводного оборудования
  • Низкая надежность от внешних воздействий и катаклизмов

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

Плюсов здесь много, среди которых:

  • Относительно низкая стоимость
  • Высокая надежность и устойчивость к помехам
  • Высокая скорость передачи данных и бесперебойность

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

Раньше вся архитектура строилась вокруг одного мощного контроллера, который управлял всеми компонентами умного дома. Он оснащался всем, чем только можно: веб-сервером, облако и имел множество выводов для подключения всевозможных интерфейсов и устройств. Такой тип умных домов называется централизованным, когда система “танцует” от одного элемента.

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

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

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

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

Цены на такие системы начинаются от нескольких десятков тысяч рублей (сюда входят система точки доступа, блок питания, различные диммеры, датчики, выключатели и т.д.)

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

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

Вторую часть из цикла статей читайте здесь

Умный дом с arduino

Что такое Arduino?

Ардуино (Arduino) — специальный инструмент, позволяющий проектировать электронные устройства, имеющие более тесное взаимодействие с физической средой в сравнении с теми же ПК, фактически не выходящими за пределы виртуальной реальности.

В основе платформы лежит открытый код, а само устройство построено на печатной плате с «вшитым» в ней программным обеспечением.

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

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

Существует несколько моделей плат, самые распространённые из них – UNO, Mega 2560 R3.

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

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

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

Устройства на Ардуино могут работать в комплексе с ПО на компьютере или самостоятельно.

Что касается плат, их можно собрать своими руками или же приобрести готовое изделие. Программирование Arduino производится на языке Wiring.

ЧИТАЙТЕ ПО ТЕМЕ: Умный дом Xiaomi Smart Home, обзор, комплектация, подключение и настройка своими руками, сценарии.

Этапы создания

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

Комплектация

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

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

Алгоритм подключения

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

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

  • установка кода;
  • настройка приложения для ПК или мобильного;
  • портовая переадресация;
  • осуществление тестирования ПО и датчиков;
  • устранение неисправностей, если они были выявлены при тестировании.

Итак, начнем с установки кода.

Сначала пользователю следует написать ПО в Arduino IDE. В нем представлены:

  • текстовый редактор;
  • создатель проектов;
  • программа для компиляции;
  • препроцессор;
  • инструмент для загрузки ПО в мини-процессор Arduino.

Следует сказать, что существуют версии ПО для основных компьютерных ОС – Windows, Linux, Mac OS X. Если говорить об используемом языке программирования, то речь идет о C++ с рядом упрощений. Программы, написанные пользователями для Arduino, обычно называют скетчами. Ряд функций система создает автоматически и пользователю не нужно разбираться в их написании, прописывая список обычных действий. Также нет необходимости вносить файлы заголовочного типа обычных библиотек. Но пользовательские вставлять необходимо.

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

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

Следующий комплекс действий заключается в установке клиента на персональный компьютер или смартфон. Скачать его можно в интернете, в Google Play Market или из другого источника. Для того чтобы сделать это, необходимо открыть файл на телефоне, который вы скачали, после чего щелкнуть по нему и в появившемся окне нажать на клавишу «Установить». При этом следует знать, что для этого должна быть активирована опция, позволяющая осуществлять установку программ не из сервиса Google Play. Чтобы включить эту опцию, необходимо войти в раздел настроек и выбрать там пункт «Безопасность». Именно так и необходимо активировать соответствующую опцию. Когда установка завершится, то можно будет осуществить активацию приложения и настроить его.

Что должен уметь «умный» дом?

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

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

  1. Он должен управлять включением-выключением света. При наиболее прогрессивном векторе развития не просто отключать лампочки по сигналу с пульта или звуковому сигналу (хлопку), а, например, автоматически отключать свет, когда дома ни кого не будет или когда все в доме спят.
  2. Контроль температуры внутри дома. Это взаимодействие автоматизированного компьютера с вентиляционными, отопительными и им подобными системами. Принцип работы здесь достаточно прост: при изменении температуры, которое фиксирует датчик, система автоматически включает или выключает какие-либо нужные приборы. Здесь также есть перспективы, например создание такого набора команд, чтобы после того, как вы ложились спать, температура медленно понижалась (спать в глубокой фазе комфортнее в прохладной комнате), а после пробуждения (сигнала будильника), наоборот, повышалась (просыпаться приятнее в комнате более теплой).
  3. Мониторинг внешней среды. За этими научными терминами кроется определение уличной температуры, индикация дождя, снега и тому подобное. Как правило вся информация о погоде должна либо предаваться на какой-либо экран, а также может сопровождаться звуковыми сигналами. Один из конструкторов предложил идею более раннего пробуждения в случае дождя, так как в дождь человек медленнее собирается и дольше добирается на работу/учебу.
  4. Управление дверями и входом/выходом. В эту категорию включен довольно широкий спектр различных приспособлений, таких как охранная система (часто это набор ультразвуковых и инфракрасных датчиков, которые фиксируют наличие людей в помещений в тот момент, когда их там быть не должно), авто блокираторы двери, электронные замки различных модификаций (например, основанных на считывании отпечатков пальцев) и достаточно простые приспособления вроде автоматического закрывания двери, когда с вами живут люди, которые забывают закрывать ее за собой.
  5. Система оповещения о различных утечках, протечках, сюда же входит функция определения задымления и открытого огня в помещении. Модифицировать такую систему можно вплоть до того, чтобы она начинала звонить в пожарную службу.
  6. Прочие системы, видов которых может быть огромное множество. Из часто употребляемых можно выделить управление техникой (к примеру, автоматическое включение музыкальных приборов, телевизора), различные системы сбора данных (например, устройство раз в несколько минут выводит информацию о температуре воды в аквариуме).

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

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

Платы дополнения (шилды)

Для расширения вспомогательного функционала используются дополнительные платы – шилды. Ниже приведен список самых интересных:

  • LCD Shield определяет метеорологические показатели в помещениях: влажность, скорость ветра, температуру.
  • Motor Shield обеспечивает управление скоростью и оборотами моторов. Есть модели с поддержкой нескольких приводов.
  • Data Logging Shield предназначена для записи и хранения информации до 32 Gb.
  • Relay Shield самая востребованная в системах Smart Homе, рассчитана на обслуживание приборов мощностью 1 КВт.
  • Ethernet Shield от Ардуино обеспечивает независимость Умного дома от ПК, настраивает интернет-связь.
  • Wi-fi Shield нужен для передачи шифрованных данных между Arduino и устройствами.
  • Energy Shield позволяет разнообразить источники питания для подключения проекта.
  • GPRS Shield используется для связи Умного дома с телефоном владельца.

Как это сделать?

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

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

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

Это одно из достоинств системы, которую мы рассмотрим ниже.

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

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

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

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

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

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

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

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

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

Контроль и управление климатической системой

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

Основные достоинства данной функции:

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

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

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

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

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

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

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

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

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

Начало работы

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

Этапы

При организации системы «Умный дом» на базе Ардуино, стоит действовать по следующему алгоритму:

  • Инсталляция программного кода;
  • Конфигурация приложения под применяемое устройство;
  • Переадресация портов (для роутера);
  • Проведение тестов;
  • Внесение правок и так далее.

В Сети имеется весь необходимый софт на применяемое оборудование — его достаточно скачать с официального сайта и установить (ссылку смотрите выше).

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

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

Чтобы начать работать с Ардуино в Windows, сделайте следующие шаги:

  • Подготовьте необходимое оборудование — USB-кабель и Arduino.
  • Скачайте программу на странице arduino.cc/en/Main/Software.
  • Подсоедините плату с помощью USB-кабеля. Проследите, чтобы загорелся светодиод PWR.
  • Поставьте необходимый набор драйверов для работы с Ардуино. На этом этапе стоит запустить установку драйвера и дождаться завершения процесса. После жмите на кнопку «Пуск» и перейдите в панель управления. Там откройте вкладку «Система и безопасность» и выберите раздел «Система». После открытия окна выберите «Диспетчер устройств», жмите на название Ардуино и с помощью правой кнопки мышки задайте команду обновления драйвера. Найдите строчку «Browse my computer for Driver software!», кликните по ней и выберите соответствующий драйвер для вашего типа платы — ArduinoUNO.inf (находится в папке с драйверами). Это может быть UNO, Mega 2560 или другая.
  • Запустите среду разработки Ардуино, для чего дважды кликните на значок с приложением.
  • Откройте готовый пример (File — Examples — 1.Basics — Blink).
  • Выберите плату. Для этого перейдите в секцию Tools, а дальше в Board Menu.
  • Установите последовательный порт (его можно найти путем отключения и подключения кабеля).
  • Скачайте скетч в Ардуино. Кликните на «Upload» и дождитесь мигания светодиодов TX и RX на плате. В завершение система показывает, что загрузка прошла успешно. Через несколько секунд после завершения работы должен загореться светодиод 13 L (он будет мигать оранжевым). Если это так, система готова к выполнению задач.

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

Для полноценной работы «Умного дома» важно правильно обращаться с роутером. Здесь требуется выполнить следующие действия — открыть конфигурацию, указать адрес Arduino IP, к примеру, 192.168.10.101 и открыть 80-й порт

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

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

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

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

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

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

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

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

Управление

Используя это ПО, можно не только получать информацию от системы, но и осуществлять управление – например, активировать и деактивировать сигнализацию. Если опция активна, то при активации датчика движения программа получит соответствующую информацию. Отметим, что опрос Arduino на активацию датчика движения программа осуществляет с интервалом раз в 60 секунд.

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

После этого можно переходить к работе с маршрутизатором. На нем следует открыть порт.

Осуществить это можно по следующему алгоритму:

  • открыть настройки;
  • прописать адрес микроконтроллера Arduino;
  • открыть восьмидесятый порт.

Теперь следует настроить учетную запись на портале Noip. com. Хотя данный этап необязателен, но в нем есть необходимость, если адресу необходимо дать имя доменного типа. Нужно пройти процедуру регистрации на портале www. noip. com, после чего перейти в категорию Add host и указать IP-системы. После прохождения этой процедуры можно будет получать доступ не только по IP, но и по домену. На этом формирование проекта закончено и можно осуществлять проверку системы на предмет ее работоспособности.

Разработка проекта

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

Какие проекты можно создавать на Arduino?

Ардуино позволяет создавать множество уникальных проектов. Вот лишь некоторые из них:

  • Сборка кубика Рубика (система справляется за 0,887 с);
  • Контроль влажности в подвальном помещении;
  • Создание уникальных картин;
  • Отправка сообщений;
  • Балансирующий робот на двух колесах;
  • Анализатор спектра звука;
  • Лампа оригами с емкостным сенсором;
  • Рука-робот, управляемая с помощью Ардуино;
  • Написание букв в воздухе;
  • Управление фотовспышкой и многое другое.

Составление проекта для умного дома

Рассмотрим ситуацию, когда необходимо сделать автоматику для дома с одной комнатой.

Такое здание состоит из пяти основных зон — прихожей, крыльца, кухни, санузла, а также комнаты для проживания.

При составлении проекта стоит учесть следующее:

  • КРЫЛЬЦО. Включение света производится в двух случая — приближение хозяина к дому в темное время суток и открытие дверей (когда человек выходит из здания).
  • САНУЗЕЛ. В бойлере предусмотрен выключатель питания, который при достижении определенной температуры выключается. Управление бойлером производится в зависимости от наличия соответствующей автоматики. При входе в помещение должна срабатывать вытяжка, и загорается свет.
  • ПРИХОЖАЯ. Здесь требуется включение света при наступлении темноты (автоматическое), а также система обнаружения движения. Ночью включается лампочка небольшой мощности, что исключает дискомфорт для других жильцов дома.
  • КОМНАТА. Включение света производится вручную, но при необходимости и наличии датчика движения эта манипуляция может происходить автоматически.
  • КУХНЯ. Включение и отключение света на кухне осуществляется в ручном режиме. Допускается автоматическое отключение в случае продолжительного отсутствия перемещений по комнате. Если человек начинает готовить пищу, активируется вытяжка.

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

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

Стоит обратить внимание, что если в доме планируется установка умных розеток, то для управления ими лучше использовать приложения на мобильных устройствах, WIFI или через SMS сообщения. Визуальное программирование для Arduino можно осуществлять с помощью специального приложения FLProg, которое можно скачать с официального сайта http://flprog.ru/

Визуальное программирование для Arduino можно осуществлять с помощью специального приложения FLProg, которое можно скачать с официального сайта http://flprog.ru/.

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

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

Программа пишется юзером в оболочке Arduino IDE, которая сохраняет файлы в расширении «.ino». При программировании используется язык С++ в упрощенной форме – многие файлы библиотек, заголовков IDE составляет автоматически. Пользователю обязательно прописать при старте настройки setup() и loop() (выполняется постоянно), указать пользовательские библиотеки. В простых настройках IDE не запутается даже начинающий программист.

Сейчас для Ардуино в интернете много готовых программ и скетчей, поэтому можно воспользоваться готовым ПО с объяснениями принципа работы. Нужно только скачать, распаковать архив и отправить в папку IDE.

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

Для отслеживания и управления Умным домом со смартфона нужно:

  • загрузить файл SmartHome.apk;
  • разрешить установку софта на телефон;
  • активировать и настроить приложение.

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

Для настроек маршрутизатора:

  • зайти в настройки устройства;
  • прописать IP адрес Arduino;
  • указать переход на чипсет Адруино по порту 80.
Оцените статью