Умный дом на Arduino: проектирование и устройство своими силами

умный дом на Arduino

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

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

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

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

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

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

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

  • AVR через разъём ICSP
  • ARM через JTAG.

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

  • Atmel-AVR.
  • ATmega-328.
  • ATmega-168.
  • ATmega-2560.
  • ATmega-32U4.
  • ATTiny-85.

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

Принцип работы системы Arduino

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

  • Аналоговые.
  • Цифровые.

    схема arduino умный дом

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

Инициировать работу аналоговых портов следует, использовав в загружаемой программе pin-Mode-функцию:

  • Выбираем номер нужного пина.
  • Выставляем режим «Приём данных» (OUTPUT) или «Передача данных» (INPUT).

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

  • 5 вольт напряжения.
  • 0,02 ампера силы тока.

Если использовать в качестве питающего элемента для платы батарейки или АКБ напряжением свыше 12 вольт, возможен её перегрев и выход из строя. При снижении питающего напряжения до 6-7 вольт наоборот, на выходе порта может оказаться меньше 5В, что, в свою очередь, вызовет сбои в работе. Собранные в единый комплекс устройства, детекторы и датчики передают информацию на процессор Arduino, а оттуда, через подключенный модуль GPS или GSM, отправляется на компьютер или иное управляющее устройство с установленным софтом, принимающее решение о выдаче определённой команды. Это может быть включение-отключение бытового прибора, либо передача данных на мобильное устройство владельца дома.

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

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

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

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

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

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

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

В набор Arduino Start (у большинства производителей – StarterKit) включена часть индикаторов и датчиков.

Для исполнения команд, направляемых системой Умный дом на базе Arduino, требуются:

  • реле и переключатели;
  • вентили;
  • электромоторы;
  • 3-ходовые клапаны с сервоприводом;
  • диммеры.

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

Установка системы: основные шаги

Основная задача – правильно подключить датчики к плате-контроллеру. Прежде всего, потребуется установить модуль Ethernet ENC28J60, предназначенный для объединения различных умных устройств в единую локальную сеть. Остальные детекторы соединяются с платформой либо посредством проводов (витых пар) со стандартными разъёмами, либо по беспроводной связи. В последнем случае потребуется присоединить к плате модули GPS или GSM.

Также потребуется написать программу для каждого прибора в оригинальной оболочке IDE. Это сделать не так уж сложно даже начинающему пользователю, поскольку оболочка имеет текстовый редактор, менеджером проектов и устройствами заливки программных кодов. Программа пишется на упрощённом языке C++. Сохраняется каждая из составленных программ в памяти с расширением (ino).

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

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

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

  • На смартфон закачивается файл SmartHome.apk. с Google Play.
  • Файл с приложением размещается в «менеджере файлов» и выставлением галочки активируется действие «Установить».
  • По окончании установки программу нужно будет активировать и настроить под передающие устройства, подключённые к плате-контроллеру.

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

шилды

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

  • 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. Для систем «умный дом» имеются следующие устройства, совместимые с данной платой:

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

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

Что такое Arduino

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

Функции стандартного умного дома:

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

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

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

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

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

Умный дом на Arduino: проектирование и устройство своими силамиНабор умного дома Arduino

На чем лучше написать десктопное приложение под устройство на Arduino

В Arduino стоят МК AVR, поэтому без проблем можно писать на С (без плюсов) в AVRStudio, CodeVisionAVR, AtmelStudio. Для загрузки полученного кода в МК потребуется внешний программатор, для него почти на всех платах есть разъем ISP (6pin).

Также нужно учитывать, что язык в Arduino IDE понимает классы и формально основан на С/С++. Искать что-то еще другое не имеет смысла.

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

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

Открыть платформе доступ в интернет можно через:

  • Wi-Fi-адаптер;
  • Wi-Fi роутер;
  • Bluetooth.

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

  • Blynk;
  • Virtuino;
  • Bluino Loader – Arduino IDE;
  • Arduino Bluetooth Control;
  • RemoteXY: Arduino Control;
  • Bluetooth Controller 8 Lamp;
  • BT Voice Control for Arduino;
  • IoT Wi-Fi контроллер.

Веб-клиент

Для управления платой Умный дом данные системы размещаются на самостоятельно созданном веб-сервере.

sistema-umniy-dom

На платформу добавляется разъем RJ-45 на Arduino Ethernet Shield.

Плата с помощью кабелей подключается к USB-разъему и роутеру. Потом в среде разработки IDE прописать код для создания сервера и передачи информации на сервер.

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

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

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

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

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

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

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

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

Обучение азов Arduino

Умный дом на Arduino: проектирование и устройство своими силами

С помощью приложения «Справочник по Arduino 2» можно в течении двух недель освоить материал. Приложение полностью автономно и не требует подключение к интернету. В нем описана такая информация: функции, данные, операторы, библиотеки Arduino.

После освоения азов, можно посетить ресурс Habrahabr, на котором собраны 100 уроков по программированию на Arduino.

Тем, кто привык черпать знания из книг, станет замечательным пособием для теории и практики «Джереми Блум: изучаем Arduino».

Умный дом на Arduino: проектирование и устройство своими силамиСамый популярный учебник по Arduino

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

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


Поделитесь в соц.сетях:

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

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