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

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

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

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

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

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

Составляющие платформы

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

  1. Сенсорная часть, которая включает различные датчики, способные реагировать на температуру, влажность, движение или различные иные события.
  2. Исполнительная часть, то есть устройства, которыми пользователи или сама система может управлять, отправляя на них соответствующие команды по включению или выключению. К такой исполнительной части относятся различные реле, электромоторы, устройства управления воздухоочистителями и так далее.
  3. Микропроцессор — это «головной мозг,» который согласовывает и координирует работу всех компонентов.

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

Компания Arduino

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

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

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

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

Преимущества использования

Если говорить о преимуществах использования такого программно-аппаратного комплекса Arduino для налаживания автоматизации, то можно выделить следующие:

  1. Максимально широкие возможности по настройке проекта Arduino для дома.
  2. Работать такой программно-аппаратный комплекс может автономно.
  3. Простота загрузки программы в контроллер.
  4. Доступная стоимость компонентов.
  5. Существенно упрощено расширение функционала работающей в доме системы.

Управление системами

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

  1. Температурой и влажностью.
  2. Освещенностью.
  3. Аварийными системами безопасности.
  4. Различными бытовыми приборами.

Если вам необходима простейшая система автоматизации, то можем порекомендовать базовый набор Arduino Starter Kit Uno, который включает все необходимые датчики и микроконтроллеры для управления инженерными коммуникациями в доме.

Дополнительные устройства

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

  1. Доводчики дверей.
  2. Диммеры для освещения.
  3. Переключатели и различные реле.
  4. Электромоторы.

Выполнение проекта

Материалы и комплектующие

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

  1. Микропроцессорная плата Arduino .
  2. Температурные датчики.
  3. Модуль Ethernet
  4. Датчик света и дождя.
  5. Микрофон.
  6. Язычковые переключатели.
  7. Датчики движения.
  8. Резисторы сопротивления.
  9. Реле.
  10. Кабель Ethernet.
  11. Витая пара.

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

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

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

Советы и рекомендации

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

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

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

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

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

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

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

Одним из главных элементов системы умный дом в рассматриваемом варианте является Arduino. Что это такое? Как он работает? Какие функции выполняет? Все подробно мы рассмотрим в этой статье.

Что такое Arduino?

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

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

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

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

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

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

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

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

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

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

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

Чем управляет Arduino?

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

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

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

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

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

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

Питание

Питание Arduino производится через USB разъем или от внешнего питающего устройства. Источник напряжения определяется в автоматическом режиме.

Если выбран вариант с внешним питанием не через USB, можно подключать АКБ или блок питания (преобразователь напряжения). В последнем случае подключение производится с помощью 2,1-миллиметровго разъема с «+» на главном контакте.

Провода от АКБ подключаются к различным выводам питающего разъема — Vin и Gnd.

Для нормальной работы платформа нуждается в напряжении от 6 до 20 Вольт. Если параметр падает ниже 7 вольт, на выводе 5V может оказаться меньшее напряжение и появляется риск сбоя.

Если подавать 12 В, возможен перегрев регулятора напряжения и повреждения платы. По этой причине оптимальным уровнем является питание с помощью 7 — 12 В.

В отличие от прошлых типов плат, Arduino Mega 2019 работает без применения USB-микроконтроллера типа FTDI. Для обеспечения обмена информацией по USB применяется запрограммированный под конвертер USB-to-serial конвертер.

ПОПУЛЯРНО У ЧИТАТЕЛЕЙ: Что такое умный дом CLAP.

На Ардуино предусмотрены следующие питающие выводы:

  • 5V — используется для подачи напряжения на микроконтроллер, а также другие элементы печатной платы. Источник питания является регулируемым. Напряжение подается через USB-разъем или от вывода VIN, а также от иного источника питания 5 Вольт с возможностью регулирования.
  • VIN — применяется для подачи напряжения с внешнего источника. Вывод необходим, когда нет возможности подать напряжение через USB-разъем или другой внешний источник. При подаче напряжения на 2,1-миллиметровй разъем применяется этот вход.
  • 3V3 — вывод, напряжение на котором является следствием работы самой микросхемы FTDI. Предельный уровень потребляемого тока для этого элемента составляет 50 мА.
  • GND — заземляющие выводы.

Принципиальную схему платы в pdf формате можно посмотреть ЗДЕСЬ.

Связь

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

Модель ATmega 2019 отличается наличием 4 портов, через которые можно передавать данные для TTL и UART. Специальная микросхема ATmega 8U2 на плате передает интерфейс (один из них) через USB-разъем. В свою очередь, программы на ПК получают виртуальный COM.

Здесь имеются нюансы, которые зависят от типа операционной системы:

  • Если на ПК установлен Linux, распознавание происходит в автоматическом режиме.
  • Если стоит Windows, потребуется дополнительный файл .inf.

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

Мигание светодиодов TX и RX свидетельствует о передаче данных. Для последовательной отправки информации применяется специальная библиотека Software Serial.

К особенностям ATmega 2019 стоит отнести наличие интерфейсов SPI и I2C. Кроме того, в состав Ардуино входит библиотека Wire.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Подбираем комплектацию под проект на примере Arduino Mega 2019 R3

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

Что входит в комплект поставки?

Если ваша цель — «Умный дом» на базе Arduino, требуется подготовить следующее оборудование — саму плату Mega 2019 R3, модуль Ethernet (ENC28J60), датчик движения, а также другие датчики и контроллеры.

Кроме того, стоит подготовить кабель вида «витая пара», резистор, реле, переключатель и кабель для модуля Ethernet.

Необходимы и дополнительные инструменты — отвертки, паяльники и прочее.

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

Все программы для адаптации можно найти в сети на официальном сайте Arduino http://arduino.ru.  При выборе датчиков стоит ориентироваться на задачи, которая должен решать «Умный дом».

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

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

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

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

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

Этапы

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

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

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

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

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

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

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

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

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

Расширение возможности на Ардуино

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

Упомянутая программная технология применяется для решения интернет-задач, поэтому для визуализации «Умного дома» используется язык Java Script (именно с его помощью создается обработчик и сервер). Результаты можно увидеть на экране компьютера или ПК.

Для реализации задуманного подойдет ноутбук, обычный ПК или Raspberry Pi. Применение такой системы позволяет увеличить ее возможности. Так, если на плате Ардуино имеется небольшой объем памяти, на сервере такие ограничения отсутствуют. Программа пишется таким образом, чтобы обеспечить полное управление платформой.

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

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

Общение с Arduino

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

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

Как можно управлять?

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

Еще один способ — управление с помощью сообщений (MMS или SMS). Этот вариант актуален в случае, когда нет связи с Интернетом. Одним из преимуществ системы является возможность получения информации о форс-мажорной ситуации (например, протечке). Здесь помогает плата Edison от компании Intel.

В итоге, что мы получим?

Сегодня Arduino востребовано среди людей, которые ничего не знают о программировании.

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

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

Это и есть основные преимущества системы.

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

Управление автоматикой возможно через Интернет или посредством сообщений. Так что Ардуино отлично подходит для создания устройств повышенной сложности.

вот этого не понял, напиши по русски.

xx.yy.z.a.cc   это всё в ID заголовке чтоли зашифровано? т.е. 29 битный ID  используешь? 

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

Железка MCP_2515. Использую 29 битный ID. Пользователю разницы нет, а внутри ID можно спрятать кучу служебной инфы. Что и делаю.  Использую эту библиотеку (после долгого перебора), смотри примеры. Другие библиотеке так шустро не заработали. Думаю покопать CanOpen и Festival (CANFestivino).

Структуру заголовка придумал сам. 

Первые 2 разряда адрес отправителя например 11, вторые получателя 22, типов сообщения я пока определил 6 их можно расширить (send и ansver command, request, status), device address это для 1-wire и пр. однотипных устройств подключенных к CAN node (пока не использую), device type это тип датчика или исполнительного устройства.

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

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

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

#define CAN0_INT 2                              // Set INT to pin 2

void RX()

{

  if(!digitalRead(CAN0_INT))                         // If CAN0_INT pin is low, read receive buffer

  {

    CAN0.readMsgBuf(&rxId, &len, rxBuf);      // Read data: len = data length, buf = data byte(s)

………….

На практике получилось совсем не плохо по сравнению с 485, обмен мгновенный, скорость поставил CAN_500KBPS (длинна до 100м) , все летает.

Нахожусь на этапе закладки кабелей под датчики и исполнительные по кваритре и прототипирования сети.

Использовать буду наверху Linux server c чем то типа OpenHub, MajorDomo, Domoticz (Пока не определился, расковыряю структуру внутри, пойму на чем комфортнее писать выберу. Под CAN привязок нет, так что все самому придется писать.), ниже наверно пару DUE (мастер-слейв) с AMS, наверх к серверу Eth, вниз CAN, под ними сеть CAN с датчиками и исполнительными устройствами.

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

Думаю снимать во всех помещениях температуру, влажность, давление BME280, температуру у пола, потолка и посередине DS18B20, движение PIR и Microwave, вибрацию, проход, состав воздуха, огонь, шум, концевики в окнах и дверях, контроль наличия напряжения через АОТ166. Исполнительные у-ва. эл. клапаны в радиаторах, кондей (пока IR), увлажнитель, рекуператор, вытяжка, свет (использую меандровские РИО-1М, и кнопочные выключатели LK60 а мк через реле щелкает выключателем), жалюзи, протечки и газ запорные клапана само собой.

Плата Arduino

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Home Automation Arduino и Raspberry Pi

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

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

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

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

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

%PDF-1.5
%
1 0 obj
>>>
endobj
2 0 obj
>
endobj
3 0 obj
>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 595.32 841.92] /Contents 4 0 R/Group>/Tabs/S/StructParents 0>>
endobj
4 0 obj
>
stream
xZmo7naOK %h|}pmM迿y!*wb9Uvt~&u]U뺧ǿuWo]Wtn>N?x2n~=?8z~;zeGn>fBG!w7Cl~9n~~vuӘ&2GDY{hz+Pvp艵:eͬ1Cl-X=Q>t9#zQriW??}7xsӽ^E^E޼ Z[^UlqR/[email protected]zUjJ
)7XC~PSfNR`Jxs昍COʡy3T$t憡w|ZJ!:uQf(s4P»9&7.0,SΧBJ»xN֌aZqIbbs2}НC꽞3m*ɱ(񹸦YgPD
rl#^2)1H3)[u赜,ց’C5?k!.-0SB:nl