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

Реализация

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

  • Majordomo — система написана на PHP. Для программирования используется концепция объектов, их свойств и методов. Поддерживает большой набор устройств и имеет большое русское комьюнити. Хороша для быстрого старта, однако использование этой системой СУБД MySQL и архитектуры классического веб-приложения является ее существенным недостатком. Эта система была использована автором в первой версии умного дома. В качестве средства программирования логики можно использовать PHP или Google Blockly

  • OpenHAB — достаточно известная система, написанная на Java. По мнению автора статьи, она сложна в настройке и обеспечении логической связи между устройствами умного дома. В качестве средства программирования логики умного дома также можно использовать Google Blockly

  • Node-red — система для реализации простейшей логики умного дома, при условии, что устройства связаны по стандартным протоколам прикладного уровня (rest, mqtt и т. д.). Рекомендуется автором данной статьи для использования в простых решениях, например, охранная система, система имитации присутствия и т. д.

  • ioBroker — система написана на JavaScript (Node JS). Имеет простую и грамотную архитектуру, является достаточно стабильной и поддерживает большой набор устройств. Использует простую парадигму — устройства с наборами состояний и возможностью подписки на изменения состояния. В качестве средства программирования логики умного дома можно использовать JavaScript, Google Blockly или Node-red, который вошел в состав ioBroker как отдельный компонент. Именно эта система используется автором во второй версии умного дома, запущенной с сентября 2019 года.

Сам умный дом в настоящее время реализован на базе Rapsberry PI 3 и операционной системы Rapsberrian. В качестве системы управления, как уже было сказано, используется система ioBroker. Управление освещением и электроснабжением построено на базе технологии Noolite. В качестве аппаратного дополнения используется GSM-модуль, который задействован для экстренного оповещения при отсутствии Интернета, а также как дополнительный канал управления системой по SMS с доверенных телефонов.

Логика взаимодействия между устройствами реализована на основе сценариев JavaScript, Google Blockly и Node-red.

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

            schedule('0 0,8-23 * * *',() =>

            {

             let currentTime = new Date();

             let hour = currentTime.getHours();

             if(hour > 12)

                        hour -= 12;

             let file = hour.toString() + 'h.mp3';

            playSound('audio/' + file);

           });

Здесь код ioBroker вызывает каждый час в интервале 8:00AM-11:00PM функцию, формирующую имя файла, в котором записан бой курантов для соответствующего часа, и воспроизводит на внешнем устройстве требуемый аудиофайл.


Google Blockly позволяет писать код на визуальном языке программирования, не вдаваясь в подробности JavaScript. Например, так реализовано включение света в прихожей по датчику движения: когда солнце зашло, свет включается на 100 %, в ночном режиме — на 10% яркости:

Умный дом. Опыт разработки и внедрения. Часть 3

Здесь мы видим подписку на событие изменения состояния датчика движения. Данный код будет вызван, когда состояние изменится и будет содержать «true».

Используя же Node-red, мы можем реализовывать простейшие сценарии управления. Например, в ванной комнате мы можем с помощью несложного кода реализовать управление светом от датчика движения:

Умный дом. Опыт разработки и внедрения. Часть 3

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

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

Первая и вторая части серии статей.


Последние статьи в блоге

Чему нас учит ИИ: как стать идеальным сотрудником

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

Новости
12 сентября 2025

Как ИИ действительно влияет на продуктивность разработчика: неожиданные выводы из исследований

За последние пару лет у многих разработчиков в редакторах и IDE поселились новые «напарники» — всевозможные ИИ-инструменты. Обещания были впечатляющие: меньше рутины, быстрее релизы, код пишется почти сам. Но когда первые восторги улеглись и появились системные исследования, стало ясно: эффект от ИИ далеко не такой однозначный. Где-то он действительно ускоряет работу команд на 20%, а где-то, наоборот, тормозит опытных инженеров. И вот парадокс: даже там, где выигрыш в скорости очевиден, бизнес не всегда чувствует, что проекты двигаются быстрее.

Новости
08 сентября 2025

Сквозная логика: от бизнес-процесса к реализации без потерь

Главный принцип работы с проектной документацией — поддерживать её связность и актуальность. Любая, даже самая детальная схема (BPMN, Use Case, C4), мгновенно теряет ценность, если она конфликтует с другой. Узнаёте? Сначала все силы бросают на «личный кабинет», но после пары спринтов главным внезапно становятся «возвраты». В результате возникает опасный разрыв: цели проекта, реализуемый функционал и схемы, которые должны их описывать, живут своей жизнью. Документация превращается в «мёртвые зоны», которые больше не отражают реальность.

29 августа 2025

Заказная разработка ПО в IBS: безопасная разработка и доставка

В этой статье начальник отдела DevOps компании IBS Артур Галеев расскажет об опыте внедрения принципов безопасной разработки, используемых инструментах и нормативных актах, на которые стоит опираться.

Новости
26 августа 2025

Сертификация ИТ-специалистов: точная оценка ваших компетенций

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

Новости
22 августа 2025

Группа компаний IBS запускает национальную сертификацию для бизнес-аналитиков

Центр сертификации IBS запускает новую систему оценки квалификации бизнес-аналитиков, которая сочетает международные стандарты c особенностями российского рынка. Программа ориентирована на теоретическую базу и прикладные навыки, необходимые в работе бизнес-аналитика в современных ИТ- и цифровых проектах.

Жизнь компании
20 августа 2025

От разработчика к тренеру: как превратить экспертизу в стабильный доход

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

Новости
13 августа 2025

Установка и настройка брокера сообщений Kafka на Windows

Цель задания: научиться устанавливать и настраивать Apache Kafka на операционной системе Windows, а также выполнять базовые операции с топиками и сообщениями.

21 июля 2025

Почему Python? Полный разбор Python vs Java в ML

«Когда 9 из 10 курсов по машинному обучению используют Python — это не случайность. Это результат десятилетия эволюции инструментов, сообщества и образовательной экосистемы».

21 июля 2025

Что должен знать и уметь архитектор ПО в 2025 году

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

21 июля 2025

Памятка по документированию архитектурных решений

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

Новости
18 июля 2025

Летняя акция: учитесь онлайн с выгодой, не выходя из отпуска! До конца августа второй курс со скидкой 50%

Проведите лето с пользой для карьеры – второй курс со скидкой 50%!

09 июля 2025

5 курсов июля со скидкой 30%

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

Новости
04 июля 2025

Карьерный трек аналитика: от базы к экспертизе

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

27 июня 2025

Почему именно сейчас стоит учиться на бизнес-аналитика уровня Middle. «Руководство BABOK» в подарок участникам программы!

Вы в ИТ, вам за 30. Вроде бы всё хорошо — есть работа, скиллы, стабильность. Но в воздухе — тревожность. Проекты замораживаются. Бизнес урезает бюджеты. От ИТ ждут не просто задач, а конкретного влияния на прибыль.

25 июня 2025

Уничтожит ли ИИ-генератор кода профессию разработчика?

С появлением ИИ-инструментов, а также в связи недавним анонсом Canva Code, который генерирует код за пару кликов, многие задумались: не станут ли такие инструмент угрозой для разработчиков? Давайте разберемся, есть ли здесь реальные риски, или это все же преувеличения.

23 июня 2025

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

Рассказываем о продвинутой альтернативе привычного резюме для консультантов 1C и других специалистов с проектной занятостью.

Новости
19 июня 2025

Выбор карьеры: Менеджер бизнес-процессов или Бизнес-аналитик уровня Middle?

В мире цифровой трансформации пути развития аналитиков и менеджеров проектов все чаще расходятся: кому-то ближе работа с требованиями и API, а кому-то — выстраивание системной эффективности на уровне всей компании. Какой путь выбрать лично вам?

Новости
18 июня 2025

В Учебном центре IBS планируется запуск курсов по продуктам TData

Читайте о стратегическом соглашении TData и IBS и наших новых курсах

11 июня 2025

Компетенции бизнес-аналитиков: Junior и Middle в сравнении

В условиях динамично развивающейся ИТ-индустрии важно чётко понимать, какие навыки и знания необходимы для успешной работы на каждом этапе карьерного пути. Сегодня обсудим разницу в компетенциях ИТ бизнес-аналитиков уровней Junior и Middle. Если вы только начинаете свой путь в ИТ бизнес-анализе или, наоборот, уже обладаете некоторым опытом, этот материал поможет вам понять, какие навыки необходимы на каждом уровне и как развиваться дальше.

Новости
05 июня 2025

Не нашли, что искали? — Просто напишите, и мы поможем

Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.