Усовершенствованный способ построения систем управления умным домом
РЕФЕРАТ
Работа содержит 141 страницу, 68 рисунков да 16 таблиц. Было использовано 25 источников.
Актуальность работы : на сегодняшний день системы "умного дома" получили большую огласку в современном обществе, потому что они помогают сэкономить пара важных ресурсов человеческого жизнь - время и деньги. Инновационные разработки подобного рода направлены нет только на повышение удобства жизнь, но и на улучшение энергосбережения помещений. Простым примером такой автоматизации служит освещение вашего холодильника. Когда дверца открытые – освещение активно, дверца закрыта – освещение выключается. Таким образом можно исключить неэффективное использование электроприборов и отопительных систем, а если учесть, что цена на энергоресурсы постоянно растет – это позволит получить существенную экономию как энергии, так и денежных средств.
Большинство современных реализации программного обеспечение устройств совместимы только с системы контроля своих же производителей, что делает невозможным использование устройств разных вендоров в рамках одной инфраструктуры Именно поэтому универсальное решение для любых устройств на базе единого микроконтроллера позволит использовать аксессуары разных производителей и даже устройства домашнего производства в рамках одной систему управления домом, что поддерживает единый протокол с периферией.
Целью работы является усовершенствование архитектуры устройств умного дома да разработка программного обеспечение для них на основе предложенной архитектуры.
Задачи исследование:
В данной работе рассматриваются используемые современные технологии. для постройки устройств разумного дома. на Основе их анализа было выбрано оптимальный вариант и проведен анализ совместного аппаратного обеспечения для постройки устройств. на основе проведенного анализа было выбрано необходимы технологии, инструменты и протоколы коммуникации После чего предложено вариант усовершенствованной архитектуры и разработано и протестировано программное обеспечение на реальных устройствах. Доказательством усовершенствование архитектуры стала улучшена процедура загрузки и разработки нового программного обеспечение да интеграция с современными системами автоматизации задач разумного дома.
Объект исследования: функционирование системы управления разумным домом.
Предмет исследования: протоколы передачи данных в системе управления разумным домом.
Научная новизна: компилятор универсального программного обеспечение на основе конфигурационного файла.
Практическая значимость: возможность неопытным пользователям самостоятельно реализовывать проекты умного дома на базе представленного программного обеспечения
Методы исследования: основными методами исследования являются эмпирические подходы сравнение, экспериментирование да материального моделирование.
Ключевые слово: умный дом, микроконтроллер, Wi-Fi, MQTT, ESP.
СОДЕРЖАНИЕ
ПЕРЕЧЕНЬ УСЛОВНЫХ СОКРАЩЕНИЙ
ПК | Персональный компьютер |
ПО | Программное Обеспечение |
AMQP | Advanced Message Queuing Protocol |
CoAP | Contained Application Protocol |
IoT | Internet of Things |
HTTP | Hyper Text Transport Protocol |
IP | Internet Protocol |
JSON | JavaScript Object Notation |
LAN | Local Area Network |
OSI | Open Systems Interconnection |
QoS | Quality of Service |
REST | Representational State Transfer |
RF | Radio frequency |
SSL | Security Sockets Layer |
TCP | Transmission Control Protocol |
TLS | Transport Layer Security |
USB | Universal Serial Bus |
UDP | User Datagram Protocol |
XML | eXtensible Markup Language |
ВВЕДЕНИЕ
На сегодняшний день область автоматизации задач в системах контроля умным домом становится все более и более актуальным. Все больше людей устанавливают дома системы разумного дома для решение повседневных задач, экономии ресурсов да настройка безопасности собственного дома. В связи с этим рынок разработки умных устройств развивается значительными темпами. Инженеры рабочих групп внедряют новые протоколы, улучшают существующие и делают это с вниманием к IoT.
Но нет смотря нет огромный спрос неопытным пользователям, которые хотят получать готовы решение своих задач, тяжело Найти полноценные решение от одних производителей, заставляющее их использовать девайсы разных брендов, а значит и разное программное обеспечение для их управления, что значительно ухудшает пользовательский опыт и заставляет устанавливать множество утилит на персональные компьютеры и смартфоны.
В связи с появлением таких систем изготовители аппаратной части вынуждены подстраиваться под их требования для возможных интеграций, но эта задача до сих пор не реализовано в большинстве устройств. Это заставляет пользователей самостоятельно разбираться в процессах интеграции или делать запросы к разработчиков платформ для реализации необходимого функционала на их стороне.
В работе представлены предложения по улучшению архитектуры постройки устройств разумного дома за счет абстрагирование от систем управление и вынос процессов интеграции на инструменты платформ за счет использование стандартных протоколов да подходов к обмена данным. За счет использование стандартизированных методов да конвенций, поддержка которых есть у большинства система, предлагаемая архитектура дает возможность интегрировать устройства в любые системы за минимальное время.
Кроме этого в усовершенствованный архитектуре предложено метод сбора программного обеспечение на основе файлов конфигурации, какой позволит простым пользователям самостоятельно разрабатывать и макетировать свои устройства на основе простых и популярных комплектационных материалов, что значительно снижает себестоимость устройств и дает возможность пользователям конфигурировать их самостоятельно с акцентом на те задачи, которые необходимо решать в первую очередь.
РАЗДЕЛ 1
АНАЛИЗ СОВРЕМЕННОГО ТЕХНОЛОГИЙ, ИСПОЛЬЗУЕМЫХ В УСТРОЙСТВАХ УМНОГО ДОМА
на сегодняшний день вопрос домашней автоматизации стало очень популярным термином во всем мире. Каждый пользователь может легко управлять бытовой техникой, освещением, отоплением да охлаждением, электрическими розетками и даже мультимедиа или безопасностью с помощью сетевых устройств, таких как ПК, планшет или смартфон. Кроме того, можно контролировать и выполнять энергоменеджмент. Любой может добавить в свой дом датчики или интеллектуальные устройства без необходимости вносить любое которые изменения в существующую установку или оборудование. Он может удаленно проверить свой домашний статус и выполнить такие действия, как включение или выключение прибора (электрический утюг) или подогревать к теплая воду перед его приходом.
Рынок умного дома стал доступен и достижим с появлением множества компаний и протоколов каждый год. Всемирно известны компьютерные компании, такие как Apple (HomeKit), Samsung (SmartThings) и Google (Alexa) вложили средства в этот рынок, сделав его доступным для домашних пользователей. Есть также такие компании, как Siemens (KNX) и Dupline, которые разрабатывают решение много лет.
В связи с распространением большого количества датчиков в секторе приложений домашней автоматизации и внедрения технологии IoT (Интернет вещей) возникла необходимость в домашней сети, чтобы использовать их преимущества. Поэтому была создана модель, показана на рисунка (рис.1.1).
на современном рынке домашней автоматизации существует множество вариантов установки: ведущий, беспроводной или оба и многие другие.
Популярные протоколы и сетевые коммуникационные технологии, начинаются из известных, таких как Bluetooth, Wi-Fi, GSM, ZigBee, ZWave и KNX, к менее известных – EnOcean, Insteon и новыми многообещающими, такими как LowPAN, Thread и DASH, LoRA или Sigfox.
Рис. 1.1 Internet of Things технологии для домашней автоматизации
На рисунке представлены технологии IoT для домашней автоматизации. Основными элементами являются Things or Machine - девайс или устройство, Sensor – датчик, Check status - проверка статуса, Central Controller - центральный контроллер, Controlling System -система контроля, протокол передачи данных Via Ethernet, Bluetooth, GSM, Wi-Fi да интерфейс пользователя User Interface.
Разнообразие вариантов может сбить с толку пользователей и усложнить правильный выбор, поскольку каждая из этих технологий имеет некоторые преимущества и недостатки с разными уровнями технологической зрелости. Иногда в одном дома сосуществуют две или более из этих технологий, заставляя пользователя использовать разные контроллеры или приложения для управление ими [1].
Чтобы устройства могли обмениваться данным, необходимо определить протокол, что обеспечивает стандарты, политики, процедуры да форматы для обмена данными. Многие протоколы созданы исключительно для домашней сетей. автоматизации, в то время как другие берут начало в уже существующих протоколах, используемые в коммуникациях и сетях (Wi-Fi, Bluetooth, GSM). Кроме того, есть те, что используются в IoT (Интернете вещей) и могут использоваться в системе домашней автоматизации. Каждый год выдается новый протокол или вариант, в то время как есть другие, хорошо зарекомендовавшие себя в течении многих лет, с временем объединяют множество улучшений. В следующих разделах дается короткий описание наиболее популярных протоколов.
BACnet
Это протокол для автоматизации зданий и сетей управление. Впервые он был разработан комитетом, сформированным Американским обществом инженеров с отопление, охлаждение да кондиционирование воздух (ASHRAE, целью которого является разработка интероперабельных систем домашней автоматизации. Его спецификация составляется с трех основных частей:
Всего существует 35 типов сообщений (сервисов), разделенных на пять классов. Это доступ и управление свойствами объектов, сигнализации и события, загрузка и скачивание файлов, управление удаленными устройствами, функции виртуального терминала [2].
LonWorks
Local Operation Networks (LonWorks) - это платформа, разработана компанией Echelon Corporation в 1991 году для поддержки управляющего приложения.
Каждое из устройств включает в себя нейронный чип, трансивер и прикладную. электронику. Первый компонент складывается с системы на кристаллы, что включает несколько микропроцессоров, RAM, ROM и порты интерфейса ввода- вывод. Второй компонент - это электронный модуль, что обеспечивает физический интерфейс для связи с другими устройствами.
Целью данной технологии есть разделение устройств или систем на группы интеллектуальных элементов (узлов), связанных между собой средствами передачи данных (витая пара, Ethernet), создавая разумную сеть. Этот протокол использует модель OSI, предоставляя услуги на всех семи уровнях. Это как сложный, да и закончен протокол, что обеспечивает функциональные возможности для каждого уровня. К сожалению, для обеспечения функциональности своих систем поставщики должны нарушить подписанный контракт, чтобы присоединиться к LonWorks, что лишает их право использовать знак платформ или убеждать золотого участника одобрить их расширение.
Другая проблема заключается в том, что не все системы принадлежат LonMark, глобальной членской организации, созданной для продвижение и продвижение бизнеса по эффективной и действенной интеграции открытых систем управления от разных поставщиков, что используют ISO / IEC 14908-1 и связанные стандарты LonWorks, вероятно, будет использоваться некоторыми поставщиками, не входящие к консорциума платформы [3].
ΚΟΝΝΕΧ (ΚΝΧ)
Это открытый стандарт, применяемый в домах и зданиях. Он использует преимущества почти всего, что используется в домашних коммуникациях, таких как крученая пора (TP), линия электропередачи (PL), радиочастота (RF) и Ethernet, технология, использующая Интернет-протокол (IP). KNX не только объединяет, но и расширяет три устаревших стандарта шины: EIB, EHS и BatiBUS.
KNX может соединять разнородные шинные устройства независимо от используемого среды (TP, PL, RF, IP) на своему физическом уровни для
обмена информацией в заранее определенном стандарте. Каждое устройство может действовать как интеллектуальный датчик, какой определяет ситуации окружающего среды, такие как погодные условия, условия освещения, системы мониторинга, присутствие людей и интеллектуальный исполнительный механизм, управляющий оборудованием здания (мультимедийные устройства, жалюзи, ставни, устройства безопасности, энергоменеджер, отопление, вентиляция, кондиционер). Каждый устройство может сигнализировать, контролировать и контролироваться с использованием общего протокола без необходимости использование дополнительных центров управление.
Этот стандарт связи является эталонной моделью OSI, за исключением объединения трех верхних уровней в один. В результате базовых пяти уровней: физический, канал передачи данных, сеть, транспорт и приложение.
Конфигурация KNX не является технологией plug and play, как и другие протоколы, и для правильной работы подсети, ее необходимо настраивать вручную с использованием программного обеспечение. Для хранение да обмена конфигурациями с другими устройствами в сети он использует формат данных XML.
Платформа в ее стандартной форме основана на концепции точек данных, входов и выходов, а ее параметры представляют собой экземпляры точек данных с контейнеров, групп или свойств объектов. Точки данных стандартизируются, а затем группируются в функциональные блоки, при этом им присваиваются имя, тип и формат данных. В зависимости от сценария случая KNX работает в 4 рабочих режимах: системный режим, режим конфигурации, режим кнопки и режим логических тегов.
Что касается топологии, то она бесплатная и децентрализованная с распределенным интеллектом, какой может обнаруживать, контролировать и отслеживать последовательности и функции по единой линии связи. Архитектура, поскольку она способна к масштабированию, позволяет расширять систему, чтобы покрыть потребности здания, чтобы обеспечить сквозную связь для датчиков и
исполнительных механизмов с малым временем отзыва в ситуациях динамического управление.
Для того чтобы KNX мог обеспечить интеграцию в стандарты Интернета, в рамках инициативы был разработан открытый стандарт - расширена сетевая топология для унифицированной интеграции зданий (ANubis). Его основная цель – экономическое внедрение, начиная с малых и заканчивая большими домами, с использованием иерархических шин.
Благодаря использованию всех упомянутых характеристик, KNX подходит для использование в домашней автоматизации Используемая коммерческая линия называлась Instabus, какая была разработана Siemens и сертифицирована EIBA, уделяя особое внимание потреблению энергии в жилых помещениях, предлагая такие решение, как управление освещением, HVAC (тепло, вентиляция и воздух кондиционирование) управление и контроль безопасности. Ее можно охарактеризовать как распределенную систему без использование центрального контроллера, чтобы пользователь мог конфигурировать, программировать и управлять устройствами системы за помощью компьютера, подключенного к последовательного интерфейса RS 232, с использованием программного обеспечения EIB [4].
В последние годы авторы Ruta, Di Sciascio, Scioscia и Loseto опубликовали статьи для KNX, что предлагают:
Ethernet
Протокол Ethernet - одна с самых популярных сетевых технологий и приобрела свою популярность за счет использования в современных компьютерных сетях и коммуникациях с использованием VoIP (voice over IP - голос через
IP). Кроме того, он широко используется в автоматизации домов, интернете вещей да даже в мобильном связи и автомобилестроении. Ethernet, за словами его изобретателя (Боба Меткалф) характеризуется как инновационная группа и имеет семь основных атрибутов:
Этот стандарт использует протокол TCP/IP, и в соответствии с его 6-й версии обеспечивает возможность подключение 2^32 устройств. Кроме того, он может поддерживать передачу энергии, обеспечивая возможность подключенным устройствам использовать одну и ту же среду (кабель, витую пару) как свое источник питание. Согласно с сетевой моделью OSI, Ethernet, как и KNX, объединил прикладной уровень, уровень представление да сеансовый в один прикладной шар.
Для проводного подключения устройств используется витая пара или оптоволокно. Первый режим подключение может поддерживать передачу данных и питание. Скорость передачи данных за помощью витой пары при использовании протокола Ethernet уже достигает 400 Гбит/с. Существует два режима передачи по оптоволокну: одномодовый и многомодовый. Ожидается что при первом режиме скорость передачи данных достигнет 400 Гбит /с на расстояние к
40 км, в то время как в многомодовом режиме ожидается скорость передачи данных к 1,6 Тбит / с.
Помимо конечных точек доступа в данной сети используются такие устройства как коммутаторы, шлюзы и маршрутизаторы. Коммутаторы используются для подключение устройств в безопасном режиме в локальных сетей Шлюзы используются для подключения устройств, которые находятся в разных сетях или для соединения разных локальных сетей. Маршрутизаторы работают как шлюзы, но также обеспечивают подключение. других устройств и хостов через облако.
X10
Команды со специальными уникальными идентификаторами транслируются передатчиками к приемного блока, с использованием точек доступа, розеток да powerline адаптеров, расположенных в дома. За помощью уникального идентификатора сообщение считываются получателями которые определяют или данный идентификатор отвечает его собственном идентификатору, и в случае положительного результата он продолжает читать целое сообщение, чтобы обработать команду.
Стандарт определяет 256 адресов, 16 юнит кодов, каждый из которых состоит из 16 секторов. В случаях связи в зонах, превышающих 185 квадратных метров, могут возникнуть проблемы с передачей, поэтому нужен мост или усилитель сигнала. Кроме того, стандарт определяет, как бит сообщение передается по линии электропередач с использованием сигнала переменного ток как носителя. Заголовок сообщения начинается с 4-значного стартового кода, следующие 4 для кода дома , чтобы указать сектор - сдается за помощью латинских букв от A до P, а остальные 5 цифр - ключевой код, указывающий на получателя сообщения. X10 в основном определяется на физическом уровне, но также имеет компоненты уровня канала передачи данных. Поскольку верхний уровень не четко определен, и его можно охарактеризовать как такой, где выполняются команды.
Из-за низкую скорость носители имеют ограничение в сети, откуда и возникает низкая скорость передачи данных. Из-за это протокол используется для обеспечение освещение, в сетях приборов да сетях датчиков безопасности.
Общий язык приложений (CAL) – это еще один подход, разработанный CEBus как универсальный язык общения для электрических бытовых устройств, который интерпретируется всеми устройствами в дома, и также использует для коммуникации сети питание. Она была принята стандартом EIA 721 и указывается как справочное руководство в компаниях Home Plug and Play. Затем его было расширен и создано набор правил да инструментов, что обеспечивают связь между несколькими устройствами с определением интерфейсов для различных физических уровней да протоколов.
Insteon
Insteon - это система, разработана для того, чтобы заменить стандарт X10 за посредством использования беспроводной интеграции систем электросетей. Его конструкция разрешает устройствам (датчикам, переключателям) сотрудничать независимо от того, подключены они к линий электропередач или радиочастот. Это одна из немногих технологий, позволяющая осуществлять коммуникации как проводными, да и беспроводным путём.
Она совместима со всеми устройствами, поддерживающими стандарт X10, хотя их команды не очень похожие. Это удалось обеспечить с помощью набора микросхем Insteon, который имеет возможность отвечать на сообщение X10, а следовательно, взаимодействовать с этими устройствами.
Передача данных осуществляется на частотах 132 кГц при ведущему подключении к электропередаче и 915 МГц для беспроводных. Он поддерживает двойную (полную) сетчатую топологию для обмена сообщениями от проводной к беспроводной. Устройства могут подключаться автоматически через отправка универсальных сообщений, считываемых в обеих сетях. За помощью этого система обеспечивает качество сервиса, да обнаружение да исправление ошибок.
Чтобы обеспечить взаимодействие с другими платформами, как и X10 в Insteon, был создан альянс, включающий производителей этой платформы, разработчиков, организации и некоторые компании Fortune 500
Относительно сетевой модели OSI, Insteon имеет ту же логику, что и KNX и стандарт Ethernet, и использует 5 слоев вместо 7.
Существует два типа сообщений, которыми обмениваются устройства Insteon: стандартное (10 байт) и расширенное (24 байта). Первые три байта в пакете данных описывают адрес источника, а следующие три – адрес назначения, седьмой байт описывается как флаг (тип и информация о сообщениях), следующие два описывают присланную команду, и последний используется для проверки целостности сообщения. Также существуют расширены сообщение сообщения в которых 14 дополнительных байте передают данные пользователя. Insteon может поддерживать большое количество устройств, поскольку поддерживает 16777216 уникальные идентификаторы да 65536 команды [5].
Преимуществом этой технологии персональной сети для домашней автоматизации есть то что технологии Bluetooth, встроенная в каждый смартфон. Смартфоны могут выступать как клиентская сторона реализации, тогда как серверная требует использования микроконтроллера, обычно интегрированного в домашний шлюз (HAN - Home Area Network - шлюз домашней сети). Связь между клиентом и сервером осуществляется за помощью протокола Bluetooth какой обеспечивает беспроводной обмен данным с приложением автоматизации. Что касается безопасности, применяется защита паролем, чтобы любой аутентифицирован пользователь имел доступ к устройств.
С введением стандарта Bluetooth 4.0 37 было внедрено новую реализацию, BLE (Bluetooth Low Energy). Внедрение BLE позволило использование многих программ для домашней автоматизации, поскольку обеспечивает коммуникацию с низким энергопотреблением без потерь эффективности. Благодаря энергоэффективным сценариям беспроводной связи он был принят многими разработчиками для IoT(интернет вещей), поскольку он использовал преимущества существующих продуктов BLE без необходимости приобретение шлюза. Однако Bluetooth Smart, как его также называют, поддерживал только одноранговые и звездные топологии связи. Однако протоколы конкурентов также содержат дополнительные топологии сети, что спровоцировало необходимость введения такой же возможности, что привело к разработки спецификации Mesh Network
Как уже упоминалось раньше, BLE как вариант Bluetooth работает в диапазоне ISM 2,4 ГГц и использует диапазон частот от 2402 до 2480 МГц. Спектр какой здесь используется разделенный на несколько каналов связи, но на в отличие от технологии Bluetooth BLE использует 2 МГц пространство между ними, что позволяет обеспечить 40 каналов (рис.1.2). Три из них используются как основные каналы, чтобы избежать помех с сетью Wi-Fi, работающих на этой частоте, оставляя 37 каналов, ориентированных на соединение.
Связь между устройствами может иметь два режима: оповещающий или ориентирован на соединение. Первый – это когда устройство рассылает информацию через один с каналов оповещение с определенной ролью. В другому режиме оставшаяся часть
37 каналов используются для синхронизации устройств, где один с них выполняет функции главного управления соединениями с другими устройствами, которые выполняют роль ведомых устройств.
Слои Bluetooth строятся без сурового соблюдение структуры сетевой модели OSI. Второй уровень этого стандарта (Baseband) включает часть первых двух уровней OSI. Третий уровень Bluetooth охватывает некоторые функции второго да третьего уровней OSI. Четвертый и последний уровень протокола
- это прикладной и уровень представления, где все функции четырех верхних слоев OSI объединены в один [6].
Wi-Fi
Хотя эта сетевая технология выглядит достаточно похожей с Bluetooth, поскольку оба они работают на частоте 2,4 ГГц, она имеет много отличий. Кроме того, Wi-Fi можно охарактеризовать как беспроводной Ethernet, поскольку оба они используют протокол TCP/IP для связи и имеют одинаковую структуру OSI. Их единственным отличием является физический слой, где средой в этой технологии есть воздух, а нет медная или волоконная оптика.
Эта технология использует преимущества существующего домашнего подключение к Интернет, в частности локальное беспроводное соединение. Wi-Fi можно использовать с любыми сетевыми устройствами, поскольку обычно большинство из них поддерживают протокол TCP/IP. Таким образом, с использованием новой версии этого протокола (IPv6), каждый устройство может иметь свою уникальную адрес IP в сети. Кроме того, он может сотрудничать почти с всеми другими технологиями автоматизации дома, чтобы обеспечить связь, гибкость да мобильность для конечного пользователя. Это достигается за помощью взаимосвязи системы автоматизации с пользовательским интерфейсом компьютера, ноутбука или мобильного устройства - смартофона или планшета.
Основными модулями использование этой технологии есть сервер, модуль аппаратного интерфейса да программный пакет. Серверные модули используют технологию Wi-Fi для связи с локальной сетью, тогда как модули аппаратного интерфейса подключены или за общим протоколом TCP/IP, или по определенному собственным протоколом. Веб-интерфейс сервера может быть доступным для локальных или удаленных пользователей за помощью любого возможного веб-браузер. Программное обеспечение, соединяющее сервер с модулями , складывается с двух частей: серверной программы да прошивки микроконтроллер.
Некоторые технологии, базирующиеся на протоколе TCP/IP, реализованы в первых трех уровнях OSI и обеспечивают определенную функциональность, особенно для мультимедийных устройств. между устройствами обеспечивается прямой связь и высокая скорость передачи данных.
Universal Plug and Play (UPnP) технология применяется на прикладном уровне, поддерживая стек протоколов TCP/IP в слоях ниже. Его цель – позволить устройствам беспрепятственно соединяться между собой, одновременно интегрируя разные производственные устройства. Ее технология основана на использовании веб сервисов, таких протоколов как IP, протокол управления передачей (TCP), протокол пользовательских датаграмм (UDP), протокол передачи гипертекста (HTTP), протокол объектов простого доступа (SOAP), а также использование расширяемой языки разметки (XML) да архитектуры сообщений об общих событиях (GENA). Как цель он должен обеспечить прозрачную сеть с нулевой конфигурацией да автоматическую процедуру обнаружение устройств.
В этой архитектуре устройства имеют две роли: управляемые устройства (КП) сетевыми узлами, что оказывают услуги, или контрольные точки(КТ)- это контроллеры, что обнаруживают и управляют устройствами. В некоторых случаях устройство может действовать как управляемый устройство, да и как контрольная точка. Когда управляемое устройство добавляется в сеть, оно получает свой IP-адрес, а затем передает свои услуги на контрольную точку за помощью пакета многоадресной передачи, предоставляемой Простым протоколом обнаружения услуг (SSDP). Если к сети добавляется устройство- контрольная точка, он также получает IP-адрес, а затем выполняет поиск необходимых устройств в сети.
Взаимодействие с протоколом базируется на шести шагах:
Взаимодействие начинается, когда управляемое устройство обнаруживает контрольную точку, и также получает описание сервиса с URL-адреса устройства. Если сервисы отвечают требованиям контрольной точки, он делает подписку на них или, в зависимости от природы сервиса использует службу для управления ею. Тогда пользователь имеет возможность получить доступ к веб-интерфейсу устройства, чтобы получить доступ к нему описания да элементов управление.
Для того чтобы этот сервис работал, домашний маршрутизатор должен поддерживать да включать услугу UPnP. Нету потребности в будь котором другому контроллере, маршрутизатор действует как хранилище, отображая каждый сервис на устройства, что ее предоставляет.
Когда было определено эту архитектуру, форум UPnP включили в стандартные протоколы управления устройствами (DCP), обеспечивая способы связи да взаимодействия электронных устройств. на данный момент было разработано DCP для аудио- и видеосистем, принтеров, камер, систем доступа, интернет- шлюзов да автоматизации домов. Кроме того, последняя версия архитектуры представляет протокол, решающий проблему интегрированных UPnP и Службы именование объектов (ONS). Это глобальный каталог сервисов, основанный на уникальная идентификация ключей EPC и GS1. Согласно этому протоколу контрольная точка собирает идентификаторы активированных устройств, а сервисы, связанные с ими, можно автоматически получить от ONS.
DLNA стандарт рассматривается как промежуточный уровень протокола UPnP, согласно сетевому фреймворку AV(Audio Visual). DLNA – это торговая организация, сформированная Sony, Microsoft и Intel в 2003 году, для определения указаний относительно совместимости, что позволяют обмениваться цифровыми мультимедиа между мультимедийными устройствами. Название образовано от Digital Living Network Alliance. Его цель состоит в взаимосвязи проволочных да беспроводных мультимедийных устройств, чтобы обеспечить возможность общего использование да увеличение используемых цифровых медиа.
Соответственно достандарта UPnP, архитектура AV принята для управление носителями да для управление устройствами. С этой причины эта архитектура используется для управление, обнаружение да управление носителями на распределенных устройствах. Соответственно достандарта существуют два типы устройств:
Устройства, которые реализуют внутренний обмен сетевыми медиаресурсами с сетью через сеть DLNA, называются адаптерами цифровых медиа. Он получает аудио- да медиа-файлы на компьютерах, устройствах или серверах в сети, декодирует их в формате DMA, а затем отображается на другом устройстве. Для того, чтобы заработал механизм эффективности, основанный на DLNA, нужно применять разнородное оборудование, программное обеспечение, протоколы связи да форматы данных. Хотя эта архитектура обеспечивает взаимодействие пользовательских приложений с широким спектром данных, устройств да служб в сети, с использованием абстрактных интерфейсов высокого уровня, что имеют стандарты веб-служб, здесь нет учитывается экономия энергии. Поэтому было предложено механизм энергоэффективности для достижение баланса между обеспечением качества обслуживание да потреблением энергии. Цель использование данного стандарта - уменьшить количество ненужных многоадресных сообщений [7].
Zigbee
Стандарт беспроводных сетей Zigbee широко используется для внедрение систем домашней автоматизации. Он обеспечивает низкую скорость передачи данных для обмена данным да есть энергоэффективным протоколом, состоящий из сетевых координаторов, маршрутизаторов да конечных устройств.
Из-за задержки в стандартного соединении Bluetooth группа компаний начала разработку беспроводной персональной сети (WPAN). Эту технологию назвали ZigBee, и ее основной целью было недорогое да энергоэффективное потребление энергии. Стандарт состоит из четырех слоев: физического уровня контроля доступа, сетевого и прикладного . Два первых слоя определены стандартом 802.15.4, какой определяет физические слои, которые можно использовать, да способы их достижение, другие же слои определены протоколом ZigBee. Прикладной уровень имеет 2 подуровни, где верхний назначен для общедоступного профиля, что предоставляет поставщикам возможность создавать совместимые продукты. Стандарт физического радиосвязи работает в всем мире в нелицензионных полосах на частотах 2,4 ГГц (глобальный), 915 МГц (Америка) и 868 МГц (Европа). Его скорость передачи данных может обеспечивать нормы в 250 Кбит / с (16) каналов, 2,4 ГГц), 40 Кбит / с (10 каналов, 915 МГц) и 20 Кбит / с (1 канал, 868 МГц).
Координаторы сети регистрируют и сохраняют производительность устройств и отвечают за поддержку сети. Маршрутизаторы, используя данные координатора, обеспечивают связь между несколькими устройствами или конечными точками (датчиками) в сети. Альтернативно для обмена данными используется сеть Wi-Fi, использующая преимущества существующей домашней сети и широкой сетевой адресации, предусмотренной протоколом IPv6. Это также обеспечивает доступ к сетевым устройствам, таким как как ноутбуки, компьютеры, планшеты, смартфоны для управления устройствами через домашний шлюз. Эта функция увеличивает гибкость и мобильность. Поэтому для повышение безопасности, сообщение сначала обрабатываются основным встроенным виртуальным алгоритмом. Если они обозначены как безопасные, они будут зашифрованы да направлены на настоящий сетевой устройство в сети. Используется в многих прикладных сферах таких как управление освещением, обеспечение безопасности да управление энергоэффективностью что облегчает разработку приборов с разных сфер которые должны быть совместимые между собой [8].
Z-wave
Это реализация, какая складывается с сетей, протоколов прикладного уровня да четко определенного общение, и это обеспечивает основу для реализации Интернета вещей. Z-wave – это недорогая беспроводная технология, позволяющая подключать необходимы девайсы к сети.
Z-wave складывается с четырех слоев: физического контроля доступа, сетевого да прикладного, какой также включает в себя дополнительный шар интерфейса приложений. Спецификация для первых двух слоев легко доступна в открытом доступе, для сетевого же представлено всего лишь несколько деталей. В реализации используется централизованные таблицы маршрутизации, чтобы рассчитать маршруты да записать их в сообщение, и указать необходимую поведение при переадресации. Пока
Fuller описывает основной механизм переадресации исходного маршрута Z-wave, там не так много информации о протоколе маршрутизации. Итак, реализация этого протокола маршрутизации с открытым кодом нет существует. Существует альтернатива OpenZwave с открытым кодом для ПК, но логика маршрутизации базируется на микропрограмме USB-трансивера Z-Wave.
Для того, чтобы подключить устройства Z-Wave, каждый с них идентифицируется 4-байтовым основным идентификатором, который назначается контроллером после процесса создания пара. Эта информация одинакова для всех подключенных узлов и есть уникальной, поскольку контроллеру эту информацию определяет его вендор. Второй идентификатор в сети - это идентификатор узла
- это значение одного байта, присвоенного устройству контроллером в процессе сообщение, и оно всегда больше от того, где оно было сгенерирован. Контроллер всегда имеет идентификатор 1, а устройства согласно порядку их сообщения имеют идентификаторы 2, 3. Если к узлу подключено много устройство их идентификаторы увеличивается и это может повлечь отказ в использование устройств, которые имеют большой показатель идентификатору
Прикладной уровень в данной реализации определяется достаточно четко, чтобы иметь совместимость с разными контроллерами, датчиками, исполнительными механизмами на разных производствах. Каждый устройство нет должен брать участие в каждой транзакции на этом уровни. Контроллеру света нет нужно знать температурный статус [9].
После ознакомление с основными технологиями, что используются в процессах постройки устройств разумного дома стало понятным, что они развиваются с большими темпами, поскольку каждая из технологий продолжает улучшаться и кроме этого регулярно появляются новые.
Для выбора технологии, какая состоянии основой улучшенной архитектуры устройства умного дома был проведен сравнительный анализ проработанных по нескольким критериям:
Проведя подробный анализ существующего рынке микроконтроллеров да обработав существующие аналогичные устройства умного дома было отклонено несколько вариантов из-за относительно большой стоимости комплектации аппаратного обеспечение, а именно X10, Isteon да KNX. Кроме этого, порог входа для настройка данных технологий значительно выше с другими, что не позволит не опытным пользователям самостоятельно строить свои устройства на основе предложенной архитектуры.
Такой технологии как ZigBee да Z-Wave были отклонены через нет стандартизированы протоколы обмена да передачи данных. Этот факт может усложнить реализацию программного обеспечение под разные периферические устройства. Кроме этого данные технологии не позволяют реализовать изолированную архитектуры и взаимодействия многих устройств (роутеров, конечных точек да координаторов).
Ethernet технология имеет понятный интерфейс работы и широко распространена в современных системах умных домов, но была отсеяна из-за низкого пользовательский интерфейс, связано это с необходимостью проводника связи с каждым устройством, которое уже не отвечает современным стандартам и трендам систем разумного дома.
Технология Bluetooth приобретает значительного распространение в сегодняшних процессах передачи данных и распространяется все больше в разных системах, где нужно обмениваться данным беспроводного связи. Но на отличие технологии Wi-Fi на сегодняшний день на рынке недостаточно систем, которые способны общаться с устройствами через Bluetooth и для этого необходимо наличие хаба для связи с периферией, что значительно усложняет реализацию полноценной системы и увеличивает её себестоимость. Еще одним фактором отказа от Bluetooth является недостаточная доступность необходимых комплектаций на рынке и их относительная большая стоимость, на отличие от Wi-Fi.
Таким образом, обработав найденные технологии выбор был положен на технологию Wi-Fi как основную для обмена данным между устройствами да системы автоматизации разумным домом. Технология оптимальная и отвечает большинства критерии поставленных к нее. На рынке доступна необходима количество комплектационных материалов для сбора аппаратного обеспечения, а роутер для связи по Wi-Fi есть в каждом доме. Помимо этого Wi-Fi позволит удобно размещать свои устройства в любой точке без потребности беспроводного соединение, и за необходимости устройство можно перевести на альтернативные источники энергии, которых будет достаточно для полноценной работы.
Выводы
В первой главе был проведен анализ существующего стека технологий, что используются в современных системах да архитектура разумного дома. На основе выполненного анализа было создано список самых популярных да наиболее распространенных протоколов передачи данных да техник, на основе которых строятся системы управление и менеджмента умных домов.
Согласно результатам, можно заключить, что из-за большого количества технологии, есть активная тенденция развития технологий умного дома, а следовательно, запросы пользователей растут вместе с их распространением. на сегодняшний день продолжают создаваться новые технологии и развиваться существующие, а перед пользователем встает задача выбора наиболее оптимального решение, какое может закрыть все его задачи да потребность в домашний или промышленной автоматизации.
на основе анализа в работе будет взято за основу беспроводная технология Wi-Fi, через ее простоту и распространенность, а также доступности в контроллерах устройств умного дома, так как большинство имеют встроенные Wi-Fi компоненты.
РАЗДЕЛ 2
ОБЗОР СОВРЕМЕННЫХ СИСТЕМ ДЛЯ АВТОМАТИЗАЦИИ УСТРОЙСТВ УМНОГО ДОМА
В связи с тем, что на сегодняшний день рынок умных устройств очень большой, обычным пользователям самой сложной задачей является объединение всех своих девайсов в единую систему управления для обеспечения контротроля на своими объектами с одного места.
Для решение данной задачи почти все производители разумного оборудование предлагают собственную систему управления разумным, но только для девайсов собственного производства. Такой подход нет дает возможности пользователям в полный степени решать свои задачи по автоматизации и заставляет устанавливать множество приложений для менеджмента собственного дома.
на сегодняшний день существует огромная количество программного обеспечение для управление вендорскими устройствами (рис. 2.1).
Рис. 2.1 Популярные приложения для управление устройствами разумного дома.
Принимая к внимания, факт наличии такой огромной количества систем управление разумным домом, важным Задача работы стал анализ технологии, которые есть наиболее популярными. Для того чтобы разработана архитектура отвечала современным потребность пользователей, устройства имеют быть максимально гибкими в вопросе интеграции с большинством современных платформ автоматизации да отвечать современным потребностям да Задача пользователя.
Все системы управление можно условно разделить на две глобальные категории:
В данном разделе будет приведен обзор самых популярных шестнадцати Open source проектов для управления умным домом, изучены их основные технологии да возможности да выделено ряд преимуществ да недостатков по их работе.
Преимущества программного обеспечение с открытым выходным кодом огромные, и много платформ домашней автоматизации предлагают 100% бесплатное да функциональное программное обеспечение энтузиастам Интернета вещей по всему мира.
Как и большинство других программных платформ, хорошее решение требует настолько же сильного сообщества, какая готова поддержать его и улучшить его начальный состояние.
OpenHab
OpenHAB (сокращение от Open Home Automation Bus) - один с самых известных инструментов домашней автоматизации среди энтузиастов с открытым выходным кодом, с большим сообществом пользователей и большой количеством поддерживаемых устройств и интеграций. Написанный на Java, openHAB переносится в большинство основных операционных систем и даже хорошо работает
на Raspberry Pi. Поддерживая сотни устройств, openHAB нет устройств и упрощает разработчикам добавление собственных устройств или модулей в систему. OpenHAB также поставляет приложения iOS и Android для управление устройствами, а также инструменты дизайн, чтобы вы могли создать свой собственный пользовательский интерфейс для своей домашней системы (рис. 2.2).
С OpenHAB пользователю нет нужно запускать облако, если пользователю нужно ограничена система для защиты его конфиденциальности, но разработчики гарантируют, что это дружественная облако система, если этого требует пользователь. Короче говоря, OpenHAB может поддерживать Google Assistant, Amazon Alexa, IFTTT и Apple HomeKit. Чтобы OpenHAB был готов к работы в облака, OpenHAB предлагает облачную версию, какая может быть размещена на их сервисе или пользователь может разместить ее на своем сервере. Он имеет более 1500 поддерживаемых вещей [10].
OpenHAB выпускается под Eclipse Public License и написан на Java. Вы можете скачать это здесь. Исходный код OpenHAB можно скачать с GitHub.
Преимущества OpenHab:
Calaos
Calaos разработан как полнофункциональная платформа домашней автоматизации, что включает серверный приложение, интерфейс с сенсорным экран, веб-приложение, собственные мобильные приложения для iOS и Android, а также предварительно настроенную операционную систему Linux для работы под ею. Проект Calaos был создан на французском компанией, поэтому ее форумы поддержки в основном ведутся на французском языке, хотя большая часть инструкций и документация переведена на английский.
Он разработан как полнофункциональная платформа домашней автоматизации с открытым исходным кодом, включая серверное приложение, интерфейс с сенсорным экраном, веб-приложение, собственные мобильные приложения для iOS и Android, а также предварительно настроенную операционную систему Linux для работы под ею. Проект Calaos был создан на французском компанией, поэтому ее форумы поддержки в основном ведутся на французском языке, хотя большая часть инструкций и документации переведены на английский. Calaos поддерживает множество: Wago PLC, Raspberry Pi, Zodianet's ZiBASE, Cubieboard, Squeezebox, CCTV и много других, постоянно добавляя все больше и больше аппаратных платформ (рис. 2.3).
Рис. 2.3 Платформа Calaos – полнофункциональная платформа для домашней автоматизации
Domoticz
Domoticz – это система домашней автоматизации с открытым выходным кодом с полностью широкой библиотекой поддерживаемых устройств, начиная от метеостанций и заканчивая детекторами дыма и пультами дистанционного управление, и большая количество дополнительных посторонних интеграций задокументировано на веб-сайте проекта.
Он планируется с интерфейсом HTML5, что делает его доступным с программ рабочей области и большинства современных мобильных телефонов, и есть легким, работает на некоторых устройствах с низким уровнем управления, таких как Raspberry Pi. Domoticz написан в основном на C /c ++ под лицензией GPLv3.
Domoticz - это система домашней автоматизации с достаточно широкой библиотекой поддерживаемых устройств, начиная от метеостанций и заканчивая детекторами дыма и пультами дистанционного управления, и большая количество дополнительных посторонних интеграций задокументировано на веб-сайте проекта. Он разработан с использованием интерфейса HTML5, что делает его доступным для настольных браузеров и большинства современных смартфонов, и есть легким, работает на многих маломощных устройствах, таких как Raspberry.
Home Assistant
Home Assistant – это платформа домашней автоматизации с открытым. выходным кодом, назначена для простого развертывание практически на любой машине, на которой может работать Python 3, от Raspberry Pi к устройству сетевого хранение (NAS), и она даже поставляется с контейнером Docker для развертывание. на других системах - легкий ветерок. Он интегрируется с большой количеством предложений с открытым выходным кодом, а также с коммерческими предложениями, разрешая связать, например, IFTTT, информацию о погоду или ваш устройство Amazon Echo для управление оборудованием от замков к освещение. Home Assistant выпущен под лицензией MIT.
Home Assistant – это платформа домашней автоматизации с открытым. выходным кодом, назначена для простого развертывание практически на любой машине, на которой может работать Python 3, от Raspberry Pi к устройству сетевого хранение (NAS), и она даже поставляется с контейнером Docker для развертывание. на других системах - легкий ветерок. Он интегрируется с большой количеством предложений с открытым выходным кодом, а также с коммерческими предложениями, разрешая связать, например, IFTTT, информацию о погоду или ваш устройство Amazon Echo для управление оборудованием от замков к освещение [11].
Home Assistant обеспечивает большую и бесшовную интеграцию с Amazon Alexa, Google Assistant и голосовым помощником Mycroft.io с открытым выходным кодом(рис. 2.5).
Рис. 2.5 Платформа Home Assistant для домашней автоматизации с открытым выходным кодом
Mister House
MisterHouse значительно распространился с 2016 года, используя сценарии. Perl для отслеживание всего, что может быть приглашено компьютером, или управление чем-нибудь, каким можно управлять удаленно. Он реагирует на голосовые команды, время дня, погоду, местоположение и другие события, чтобы включить свет, разбудить вас, записать ваше любимое телешоу, объявить, что звонят по телефона, предупредить, что ваши входящие дверь открытые, сообщить, сколько времени ваш сын был в сети, сообщить вам, превышает скорость машина вашей дочери, и многое другое. Он работает на компьютерах Linux, macOS и Windows и может читать/писать с самых разных устройств, включая системы безопасности, метеостанции, идентификаторы абонента, маршрутизаторы, системы определение местонахождение транспортных средств да много другого [12].
Он работает на компьютерах Linux, MacOS и Windows и может читать / писать с самых разных устройств, включая системы безопасности, метеостанции, идентификаторы абонента, маршрутизаторы, системы определение местонахождение транспортных средств да многое другое (рис. 2.6.)
Рис. 2.6 Платформа Mister House для домашней с использованием сценария Perl
Open Motics
OpenMotics - это система домашней автоматизации с аппаратным и программное обеспечение под лицензиями с открытым исходным кодом. Он разработан для обеспечение комплексной системы управление устройствами, а нет для объединение множества устройств от разных поставщиков. на отличие от многих других систем, разработанных в первую очередь для легкой модернизации, OpenMotics фокусируется на проводном решении. Для получения дополнительной информации см. нашу полную статью от Backend разработчика OpenMotics Фредерика Рикбоша.
OpenMotics назначен для обеспечение комплексной системы управление устройствами, а нет для объединение множества устройств от разных поставщиков. Платформа OpenMotics сочетает в себе доступно оборудование с открытым выходным кодом и современные облачные решение [13].
Легко настраивайте, отслеживайте и используйте каждый аспект вашей установки с помощью наших интуитивно понятных интерфейсов на ПК, планшета и смартфона. В отличие от многих других систем, разработанных в В первую очередь для легкой модернизации, OpenMotics фокусируется на проводном. решении (рис. 2.7.).
Home Genie
HomeGenie - это сервер с открытым исходным кодом для домашней автоматизации, он создан для управление, контроля, мониторинга да автоматизации устройств, подключенных к Интернета (интеллектуальных
устройств). Он обеспечивает бесшовную интеграцию с многими устройствами и службами, а также поддерживает множество протоколов и технологий, таких как IR/RF Control и UPnP / DLNA.
Разработан на Мультистандартный основе, HomeGenie может взаимодействовать с различными устройствами, такими как X10, Insteon, Z-Wave, Philips Hue, UPnP/DLNA, RFXCom, KNX, взаимодействовать с внешними веб-службами и интегрировать все это в общую среду автоматизации. Таким образом, даже если они основаны на разных стандартах, внутри HomeGenie все «модули» можно контролировать и автоматизировать, чтобы они работали вместе. Благодаря современном встроенном веб-интерфейса пользователя, HomeGenie можно использовать с любого ПК, смартфона или планшета [14].
HomeGenie можно установить в Windows, Linux и MacOS. Поддерживает Raspberry Pi. Его достаточно легко установить, настроить и управлять даже для начинающих пользователей (рис. 2.8.).
JeeDom
Jeedom – это бесплатное программное обеспечение с открытым выходным кодом, какое можно установить в любой системе Linux, включая Raspberry
Pi. Он основанный на ядра и имеет множество функций: простое и расширенное управление сценариями, взаимодействие текста и звука с системой домашней автоматизации, просмотр истории, создание кривых и графиков, связывание всего оборудования и подключенных объектов, персонализация интерфейс.
Jeedom, инструмент домашней автоматизации с открытым выходным кодом может управлять многими интеллектуальными устройствами, такими как фонари, макеты и даже мультимедийные устройства. Для управления на ходу есть мобильные приложения для Android и iOS. Примечательно, что Jeedom действительно предлагает готово решение для устройства, какая готова к использование прямо с коробки.
С Jeedom вы можете:
Jeedom – отличный вариант для домашней автоматизации, которая, к сожалению, сдерживается языком. Сообщество Jeedom в основном французское, а также если веб-сайт переведено на английском, правила сообщества и форумы все на французском. Что касается документации, Jeedom предлагает множество языков, включая английский, испанский и немецкий (рис. 2.9.). Однако это может быть немного сложнее в сравнить с платформами домашней автоматизации, такими как openHAB и Home Assistant [15].
FreeDomotic
Freedomotic - это гибкий и безопасный фреймворк для разработки Интернета вещей (IoT) с открытым исходным кодом Его можно использовать для создание современных разумных пространств и управление ими. Он нацелен на частных человек (домашняя автоматизация), а также на предприятия (интеллектуальная розничная среда, маркетинг с учетом внешнего среды, мониторинг и аналитика и т.д.) Freedomotic может взаимодействовать с известными протоколами автоматизации, а также с решениями для самостоятельной работы. Он рассматривает Интернет, социальные сети и фирменные интерфейсы как первоклассные компоненты системы
Freedomotic может быть интегрированный с популярными технологиями автоматизации зданий, такими как BTicino OpenWebNet, Modbus RTU, Z-wave, а также к назначенных для пользователя проектами автоматизации с использованием устройств Arduino, самодельных плат, посторонних графических интерфейсов, механизмов превращение текста в язык, обнаружение движения с использованием потока IP-камер, социальные сети да много другого ... Все или
функции могут быть доставлены с торгового площадки в виде загружаемых плагинов.
Freedomotic написан на Java. Таким образом, он может работать в Windows, Linux, Mac и Solaris. Поддерживает Raspberry Pi. Freedomotic доступен более нож на 20 языках (рис. 2.10)
ioBroker
ioBroker – это платформа автоматизации с открытым исходным кодом, написана за помощью NodeJS и работает на Windows, Linux, macOS и SBC
«Одноплатные компьютеры», такие как Raspberry Pi. Это полноценная платформа для IoT «Интернета вещей», которая с легкостью поддерживает добавление, настройку и управление устройствами.
ioBroker имеет сотни адаптеров, которые напоминают сервисы, устройства, другие платформы, датчики, системы безопасности и протоколы [16].
ioBroker – это платформа Интернета вещей на основе JavaScript, которая может управлять освещением, замками, термостатами, мультимедиа, веб-камерами и т.е. д. Он находится под лицензией MIT (рис 2.11).
Рис. 2.11 Платформа ioBroker открытым исходным кодом для систем Windows, Linux, macOS и SBC
fHem
FHEM - это Perl-сервер под GPL для домашней автоматизации. Он используется для автоматизации некоторых общих задач в дома, таких как переключение ламп/жалюзи/отопление и т.д., а также для регистрации событий, таких как температура / влажность / потребление энергии. Программа работает как сервер, вы можете управлять им через веб-интерфейс или интерфейс смартфона, telnet или TCP/IP непосредственно.
Чтобы использовать FHEM, вам понадобится круглосуточный сервер (NAS, RPi, ПК, MacMini и т.е. Д.) (рис. 2.12).
Основные особенности:
OpenNetHome
OpenNetHome – это программно-аппаратная система с открытым выходным кодом для домашней автоматизации. Он основан на Java и Apache Maven и работает в системах Windows, macOS и Linux. Его также можно установить на Raspberry Pi. Он предлагает веб-панель для легкого контроля, управления, мониторинга да автоматизации функций разумного дома.
С помощью этой платформы умного дома с открытым выходным кодом вы можете контролировать и управлять многими устройствами, включая диммеры, пожарную сигнализацию, термометры, датчики влажности и много другого. OpenNetHome выпущен под GPLv3 (рис. 2.14) [18].
AGO Control – это система домашней автоматизации по лицензии GPLv3, создана для Raspberry Pi и встроенных систем. Он также предлагает мост- связь с другими системами разумного дома, такими как LinuxMCE.
AGO Control поддерживает множество интеллектуальных и мультимедийных устройств, таких как Z-Wave, 1wire, KNX/EIB, MySensors, Chromoflex USP3, AV-ресиверы Onkyo и много других (рис. 2.15).
Основные особенности:
HomeBridge
Homebridge позволяет интегрироваться с устройствами умного дома, которые сначала нет поддерживают HomeKit. Существует больше 2000 плагинов Homebridge, что поддерживают тысячи разных интеллектуальных аксессуаров.
Платформа в большей степени назначена для интеграции устройств разумного дома с другими платформами, а именно HomeKit - экосистема компании Apple, какая дает возможность управлять устройствами за помощью голосового ассистента Siri. Помимо этого платформа имеет в своем арсенале множество дополнительных плагинов для всех популярных ассистентов, а именно Google, Alexa, Alisa да другие.
piDome
piDome – это платформа домашней автоматизации на базе RaspberryPi. Его цель – предоставить простую в использовании систему для нетехнических специалистов. piDone поддерживает мультимедийную систему MySensors, RFXCOM, KODI. Он предлагает сервер, на которому, как мы уже упоминали, работает RaspberryPi, и клиенты для разных систем.
С помощью piDome пользователь может создавать и настраивать свою панель управление, использовать мониторы с разным разрешением и запускать клиенты piDome в Windows, Android и macOS. Он предлагает решение как для конечных пользователей, да и для разработчиков и любителей (рис. 2.16) .
Кроме того, что он является сервером, он также включает клиентов для нескольких платформ.
Основные особенности:
Рис. 2.16 Платформа piDome для домашней автоматизации на базе RaspberryPi
Pimatic
Pimatic – это фреймворк для домашней автоматизации, работающий на node.js. Он предоставляет общую платформу для задач управление домом да автоматизации. Плагин мобильного интерфейса предоставляет приятный веб-интерфейс с обзором датчиков, управлением устройствами да определением правил. Веб- интерфейс построен с использованием Express и jQuery Мобильный.
Pimatic поставляется с архитектурой, готовой к плагинам, позволяющей разработчикам добавлять устройства, службы и протоколы (рис. 2.17).
Основная внимание в этой структуре уделяется гибкости: ее можно использовать достаточно быстро и «легко». Благодаря встроенным функциям вы можете сразу автоматизировать задачи, подключив домашние устройства и добавив условные правила. Поддерживает Raspberry Pi.
Рис. 2.17 Платформа Pimatic как фреймворк для домашней автоматизации
MyController
MyController – это платформа для домашней автоматизации и Интернета вещей с открытым исходным кодом Сначала он начал поддерживать проект MySensors. Он разработан для работы на машине с ограниченными требованиями к оборудование. Поскольку он построен на Java, он работает на «одноплатных компьютерах» Windows, Linux, macOS и SBC, включая Raspberry Pi, Pine64, Rock64, Orange Pi.
MyController поддерживает множество сетей, шлюзов, протоколов и устройств. Это сама совместимая система домашней автоматизации с MySensors в этом списка (рис. 2.18).
Поддерживает несколько шлюзов с несколькими протоколами: Serial, Ethernet и MQTT.
Рис. 2.18 Платформа MyController для домашней автоматизации и Интернет вещей с открытым исходным кодом
SmartHomatic
Smarthomatic (SHC) – это система домашней автоматизации с открытым выходным кодом, что обеспечивает основу для создание большей сети датчиков и исполнительных механизмов, работающих вместе. Он состоит из нескольких полностью разработанных аппаратных устройств, которые вы можете создать самостоятельно, и программного обеспечение, что работает на этих устройствах.
Этот проект сосредоточен на аппаратных устройствах и их программном обеспечении (прошивцы), а нет на назначенных для пользователя интерфейсов для управление такими задачами, как веб-интерфейсы или приложения для смартфонов. Тем не менее, эта система назначена для легкой интеграции в такие системы (рис. 2.19).
Лицензированный под GPLv3, он используется для таких вещей, как управление освещением, приборами и влажностью воздух, измерение температуры окружающего среды и нет забывайте поливать растения.
EventGhost
EventGhost - это популярная программа домашней автоматизации с открытым выходным кодом (GPL v2) для Windows, какая используется многими в сообществе для автоматизации простых задач. Благодаря этой простой структуре вы можете создавать так называемые наборы задач, с одной стороны пути автоматизации, через которые проходят ваши устройства.
Одна из лучших особенностей EventGhost состоит в том, что он расширяемый и имеет более 300 доступных уникальных расширений (плагинов). Некоторые примеры устройств, с какими может взаимодействовать EventGhost, - это Yamaha, Denon / Marantz, Pioneer, Sony, Sonos, Samsung, RTI, Amazon Echo, MicasaVerde Vera, Phillips Hue и много других. Поддерживаемые протоколы автоматизации включают, помимо прочего, MQTT, IFTTT, TCP/IP, последовательный (RS-232), CIR (ИК-пульты), X10, xAP, xPL, практически любой разговорный человеческую язык. EventGhost может даже автоматизировать Задача на компьютере, на котором он установлен. Такие вещи, как операции с клавиатурой, движения мыши, открытие и закрытие запущенных программ, изменение настроек звука и видео, а также включение и выключение мониторов. Некоторые примеры событий, которые запускаются из-за различных изменений на компьютере, включают подключение или отключение USB-устройства, когда он переходит с розетки на питание от батареи (ИБП или ноутбук), вход в систему или выключение, запуск и остановка сеансов удаленного рабочего стола, вы может даже EventGhost инициировать событие, если файл был изменен. Подобные способности делают его самым мощным инструментом в вашему арсенали домашней автоматизации.
EventGhost позволяет пользователям управлять мультимедийными ПК и подключенным оборудованием с помощью плагинов, запускающих макросы, или путем написание собственных скриптов Python (рис. 2.20) [21].
Рис. 2.20 Платформа EventGhost программа домашней автоматизации с открытым выходным кодом (GPL v2) для Windows
MajorDoMo
MajorDoMo - это платформа домашней автоматизации с открытым выходным кодом, назначена для использование в многопротокольной и мультисервисной среде. Доступно для ОС Windows и Linux. Он имеет
поддержку нескольких брендов и нескольких протоколов (MQTT, ZWave, 1-wire, ModBus, SNMP, Ethernet).
Он создан группой разработчиков из России, поэтому он все еще расширяет свои территории на международный рынок с лучше поддержкой на английском языке.
Интерфейс представляет собой веб-интерфейс, простой в использовании для нетехнических пользователей. Пользователь может добавлять комнаты, устройства, настраивать автоматические события, интегрировать веб-приложения и облачные сервисы (рис. 2.21) [22].
LinuxMCE
LinuxMCE или Linux Media Center Edition действует как мост между медиа и технологиями разумного дома. LinuxMCE - это полный пакет домашней автоматизации, созданный как дистрибутив Linux, работающий на Raspberry Pi. Он поставляется с предварительно созданным и предварительно настроенным сервером и системой пользовательского интерфейса, обеспечивающей простую интеграцию со многими службами устройств с поддержкой многих протоколов интеллектуальных устройств, таких как VoIP, QoS, HDMI да других(рис. 2.22).
Gladys
Gladys - это легкая домашня автоматизация, написана за помощью NodeJS, какая работает в Windows, Linux, macOS и Raspberry Pi. Gladys3 - текущая стабильная версия, но она несовместима с Raspberry Pi. Gladys4 Alpha в настоящее время находится на стадии тестирование.
Gladys пока представляет собой армейский проект одного человека, но он начинает привлекать внимание разработчиков и, надеюсь, скоро получит большее поддержку сообщества.
The Thing System
Система Thing - это набор программных компонентов и сетевых протоколов. Наше программное обеспечение Steward написано на node.js, что делает его портативным и легко расширяемым. Он может работать на вашему ноутбуки или на небольшом Одноплатный компьютеры, такому как Raspberry Pi.
Управляющий находится в центре системы и подключается к вещам в вашему доме, будь то медиаплееры, такие как Sonos или Apple TV, термостат Nest, система управления домом INSTEON или лампочки Philips Hue – будь то ваши вещи соединяются вместе через Wi-Fi, USB или Bluetooth Low Energy (BLE)
Pytomation
Pytomation - это легкая система автоматизации с открытым выходным кодом, написано на Python. Это программное обеспечение можно использовать для домашней автоматизации и управления освещением, хотя оно, конечно же, не ограничивается только этими приложениями. Он может работать на любое какой платформе, поддерживающей Python (Windows, Mac OS X, Linux и т.д.) (рис. 2.25).
Основные особенности:
Eclipse Smart Home
Eclipse SmartHome – это платформа для создания решений для разумного дома. Обладая очень гибкой архитектурой, он поддерживает модульность, что предоставляется OSGi для приложений Java. Таким образом, Eclipse SmartHome складывается с богатого набора пакетов OSGi, которые служат для разных целей. Нет
все решение, основаны на Eclipse SmartHome, потребуют всех этих пакетов - вместо этого они могут выбрать, какие части им интересные (рис. 2.26).
Существуют следующие категории комплектов:
модель: поддержка предметно-ориентированных языков (DSL).
дизайнер: Eclipse RCP поддерживает DSL и другие файлы конфигурации.
NODE-RED
Node-RED - это инструмент программирование IoT для объединение аппаратных устройств, API и онлайн-сервисов новыми и интересными способами.
Node-RED предоставляет редактор потоков на основе браузера, позволяющий легко объединять потоки, используя широкий диапазон узлов в палитре. Затем потоки можно развернуть во время исполнение одним щелчком мыши.
Функции JavaScript можно создавать в редакторе за помощью редактора текста фиксированной. Встроенная библиотека разрешает сохранять полезны функции, шаблоны или потоки для повторного использование. Облегченная Исполнительная построена на Node.js и в полный степени использует его неблокирующих модель, управляемую событиями. Это делает его идеальным для работы на границе сети на недорогом оборудование, такому как Raspberry Pi, а также в облака.
Имея более 225 000 модулей в репозитории пакетов Node, легко расширить диапазон узлов палитры для добавление новых возможностей. Потоки, созданы в Node-RED, сохраняются с использованием JSON, какой можно легко импортировать и экспортировать для общего использование с другими (рис.2.27).
Рис. 2.27 Платформа Node-RED – инструмент программирования IoT для объединение аппаратных устройства
На основе проработанных систем управления и автоматизации для умных домов поняла, что дана задача достаточно популярная в пользователей и Да есть разнообразие вариантов свидетельствует о то, что на сегодняшний день нет существует идеального решение и каждый пытается Найти подходящую для своих задач платформу. Именно поэтому важным фактором в проектировании архитектуры устройств максимально универсальный подход и абстрагирование от системы управление. Да есть решение позволит нет сковывать пользователя в рамках одной платформы, а даст ему возможность выбора более подходящей. Таким образом проработав большую количество платформ было понятно,
что каждая с них имеет свои преимущества да недостатки, каждая разрешает решать много разнообразных задач да имеет свои преимущества.
Для тестирование разработанных устройств и их программного обеспечение было выбрано несколько платформ по нескольких простых критериях:
Этим критериям полностью отвечает система HomeBridge, поскольку не ориентирована на большое количество интеграции и создана для решения нескольких задач, а именно быстрая настройка и запуск, быстрое подключение девайсов, возможность управление с веб интерфейса да настройка голосовых ассистентов. Именно две последние возможности показывают, что при правильно построенной архитектуре на стороне устройств разумного дома, их можно подключать в системы, которые дают инструмент для решения нетривиальных задач, таких как голосовое управление с мобильного телефона, что не простоя задачей и заставляет отдельных производителей вкладывать в их решение с стороны систем автоматизации.
Выводы
Во втором разделе работы был выполнен обзор современных подходов к управление система умного дома. На основе анализа было выделено два основных способа:
на основе обзора можно сделать заключение, что первый способ делает невозможным, или делает интеграцию посторонних устройств очень сложной и не дает достаточной гибкости для конечного пользователя выполнять поставленные задачи по автоматизации собственного дома или индустрии. Второй же способ, дает возможность пользователям устройств разумного дома выбор в управляющей платформе, дает возможность выбрать систему, которая может удовлетворить основные потребности да выполнить поставлении задачи, кроме этого через большие скопление целевой аудитории облегчит процесс настройка да сделать его максимально комфортным.
После проведен обзор существующих способов и подходов по управлению, был определен основной вектор развития собственной архитектуры, а именно поиск оптимального способа интеграции с большинством современных платформ автоматизации ради лучшего пользовательского опыта пользователя.
Для интеграции в существующую систему существует несколько основных способов:
РАЗДЕЛ 3
ВЫБОР ИНСТРУМЕНТОВ И АППАРАТНОГО ОБЕСПЕЧЕНИЯ ДЛЯ СОВЕРШЕНСТВОВАНИЕ АРХИТЕКТУРЫ УСТРОЙСТВ УМНОГО ДОМА
На сегодняшний день самой сложной задачей для пользователя является не только вопрос управление своими устройствами разумного дома, а еще и доступность их интеграции в современные системы менеджмента. Это позволит удобно и в едином подходе настраивать процесс управления всей экосистемой с одной точки.
Кроме этого, важной задачей есть поддержка программного обеспечение в актуальном состоянии и простота его модификации в случае потребности.
Для решение этих да других важных вопросов, что улучшают пользовательский опыт, на этапе планирование архитектуры было поставлено ряд приоритетных задач, которые должны стать основными продуктовыми преимуществами да улучшат существующие архитектуры да подходы в процессах управление разумным домом.
Проработав ряд современных систем управления умным домом сформированы понимания и подходы к работе с девайсами. На основе этого понимание было создано список функциональных да нефункциональных требований для разрабатываемой архитектуры.
Функциональные требование к программного обеспечение устройства:
Нефункциональные требования к архитектуры программного обеспечение:
Проработав больше 25 современных платформ было сделано заключение по возможным способам интеграции с ими.
Наиболее популярным способом, какой предлагают сами производители платформ автоматизации является разработка собственных модулей или расширение на уровни архитектуре программного обеспечение (рис. 3.1). Такой подход имеет ряд преимуществ - стабильность работы через точное описание требований со стороны платформы, возможность использование ресурсов платформы для разработки да другие. Но недостатков в такого способа значительно больше:
Поскольку данный подход нет дает возможности выполнить все поставлены требования к архитектуре, его использование становится невозможным.
Вторым по популярности способом интеграции является разработка поддержки открытых API платформ на стороне ПО (рис. 3.2). Проработав все найдены платформы было сделано заключение, что большинство с них имеют открытое API для интеграции, но в каждой системе структура и подходы работы с ими полностью отличаются. Этот факт свидетельствует о том, что данный способ да как и первый делает невозможным выполнение требования к универсальности. Хотя этот способ и не заставляет разрабатывать ПО на уровне платформы, но имеет все остальные недостатки, что и первый.
сторонним разработчиком. Данный способ является достаточно популярным именно из-за того, что в большинстве платформ значительно развит союз пользователей, отдельную нишу которых занимают разработчики, которые берут активную участие в развития проекта и занимаются разработкой внешних модулей для своих нужд или потребностей других пользователей.
Выполняя анализ современных платформ, было обращено внимание на то, что одним с популярных модулей является модуль MQTT брокеру. Это технология достаточно распространена в сфере IoT и является одним из основных способов интеграции устройств. Доказательством этого факта является то, что в 22 с 26 обработанных платформ MQTT модуль доступен для установки, а в некоторых платформах входит в состав ядра всей платформы, что еще больше доказывает его работоспособность да распространение.
Да например, в OpenHab компонент MQTT является наиболее популярным расширение всей платформы.
На основе анализа было принято решение использовать именно третий подход, а именно выполнять интеграцию с современными платформами через встроенные модули MQTT. Такой подход позволяет унифицированно интегрироваться с платформами, что поддерживают MQTT, а таких большинство. Кроме этого большинство логики интеграции будет выполняться на уровне готовых инструментов самих компонентов,а архитектура ПО устройства разумного дома будет абстрактно работать по стандартной технологии через MQTT Брокер.
MQTT – это технология, которая первоначально использовалась для создания соединений в спутниковой сети. Легкий протокол разрешил снизить пропускную способность и энергопотребление
Эффективность использование ресурсов MQTT сыграла важную роль в системе, работая через дорогу спутниковый связь. Позже MQTT стал
использоваться с более доступными и недорогими каналами связи и в различных областях применения, включая Интернет вещей (IoT).
Принцип работы
Протокол использует шаблон публикации-подписки и включает в себя следующие компоненты:
Сервер или брокер, который общается с клиентами (издателями и подписчиками) через интернет-соединение или локальную сеть.
Публикатор создает сообщение и публикует их с определенной темы [24].
Подписчик получает сообщение, что относятся к темы, на какую он подписанный (рис. 3.3).
Рис. 3.3 Схема работы MQTT
Публикаторы и подписчики могут поменяться ролями, а иногда клиенты MQTT берут на себя обе роли. Количество издателей и подписчиков может быть неограниченным. Это будет зависеть только от мощности сервера. В клиентов есть идентификаторы, за какими их идентифицирует сервер.
MQTT передает сообщение пакетами. Пакет складывается из:
В зависимости от возможностей ЦП MQTT может подключать много тысяч или даже миллионы устройств. Кроме масштабируемости, он простой в использовании. Он имеет низкие системные требования и высокую совместимость с приложениями, подключенными к Интернета [25].
Вот почему эта сетевая технология да популярная в IoT. Он также находит широкое применение в бытовой электронике, автомобилестроении да индустрии.
Использование в IoT
Протокол MQTT IoT может передавать данные даже при нестабильных соединениях. Он предоставляет три варианты качества обслуживание (QoS), которые отвечают за доставку сообщений. Выбор варианту зависит от важности данных и стабильности соединение:
QoS 0 (за по умолчанию): издатель отправляет сообщение, нет приглашая гарантированную доставку. Вы можете использовать его, когда передается информация не критическая, а соединение стабильное.
QoS 1: издатель отправляет сообщение, пока нет получит подтверждение доставки. Вы можете использовать его, когда передается информация критическая, а соединение нестабильно. QoS 1 гарантирует, что подписчик получает сообщения.
QoS 2: издатель отправляет сообщение только один раз с гарантированной доставкой. Вы можете использовать его, когда передается информация критическая, а соединение нестабильно. QoS 2 гарантирует, что подписчик получит сообщение только один раз, без дубликатов да накладных затрат.
MQTT хорошо вписывается в эту концепции, что IoT это сеть подключенных устройств, которые обмениваются данными друг с другом. Это легкий протокол с быстрое время отклика, что делает взаимодействие между устройствами эффективным, независимо от их количества.
Привлекательной особенностью архитектуры протокола MQTT являются минимальные накладные расходы. Это обеспечивает плавную передачу данных с низкой пропускной способностью и снижает нагрузка на ЦП и оперативную память.
Библиотеки MQTT с открытым выходным кодом и публичные брокеры минимизируют расходы на разработку и ускоряют процесс разработки
Свободно доступная документация и большое сообщество разработчиков делают реализацию протокола MQTT прост и возможна в любой среде с использованием готовых или предназначенных для пользователя библиотек.
Чтобы развернуть протокол MQTT для устройств IoT, вам понадобится библиотека и брокер, какой может быть вашим локальным или облачным сервером.
Безопасность
Если вы планируете использовать MQTT в своему приложения IoT, вам необходимо убедиться, что переданы данные есть конфиденциальными и безопасными.
Безопасность протокола MQTT основана на криптографических протоколах TLS
/SSL и достаточно слабой аутентификации. Так что MQTT не входит в число лучших протоколов с точки зрения безопасности. Вы можете ввести дополнительные функции, чтобы обеспечить надежную защиту MQTT и защитить свою систему IoT от уязвимостей.
Вы можете добавлять механизмы безопасности на разных уровнях. Например, вы можете использовать брандмауэр для защиты брокера на сетевом уровни. Или вы можете использовать алгоритмы шифрования для обеспечение безопасности MQTT на уровни приложения. Внедрение сквозного шифрование разрешает передавать конфиденциальные сообщение между клиентами.
Вы также можете использовать токен доступа для идентификации клиентов да предотвращение несанкционированного доступа к всей системы.
Чтобы улучшить аутентификацию, вам нужно изменить протокол и, следовательно, брокера. Поскольку стандартный брокер нет допускает таких перемен, вам придется развернуть своего собственного брокера и настроить его [26].
IoT приложения, что используют MQTT
MQTT – это гибкая и простая в использовании технология, которая обеспечивает эффективный связь в системе IoT. Да что нет удивительно, что существует множество популярных приложений Интернета вещей, использующих протокол MQTT. Например, платформа IBM Watson IoT Platform использует MQTT в качестве основного протокола связи.
Amazon Web Services использовал MQTT в качестве основы для сервисов AWS IoT. AWS IoT Core имеет брокер сообщений на основе MQTT и поддерживает два уровня MQTT QoS.
Microsoft Azure предлагает службу Azure IoT Hub для создания приложений IoT с использованием протокола MQTT.McAfee, Red Hat, Cisco и IECC также входят в число компаний, которые выбрали MQTT для решение разных задач.
Другие протоколы связи, такие как HTTP, CoAP, AMQP, имеют аналогичную функциональность Вы также можете использовать их в приложениях Интернета вещей. Чтобы получить точное представление о производительность и значимости протокола MQTT для Интернета вещей, давайте рассмотрим ситуацию в перспективе[27].
Альтернативы протокола да их сравнение
Бесперебойное общение - один с ключевых моментов хорошо функционирующей системы Интернета вещей. Вы можете добиться этого, выбрав подходящий протокол связи. MQTT может стать хорошим вариантом для вашего IoT-продукта, но есть и альтернативы.
HTTP да MQTT
HTTP использует TCP / IP в качества транспортных протоколов, но будущий HTTP/3 будет основанный на UDP.
HTTP – это веб-протокол, который часто используется вместе с HTML для связи с веб-браузер.
HTTP - это текстовый протокол, какой работает по модели запроса / ответы и использует URI или URL в качества тем сообщений. Клиент отправляет запрос на сервер, а сервер отправляет ответ. Нет никаких конкретных ограничений на размер сообщение; это сервер, который устанавливает ограничение.
В отличие от MQTT, HTTP является тяжеловесным, потому что это текстовый протокол. Это подразумевает передачу сообщений большого размера и большие накладные расходы
HTTP тяжелый. Ему нужно больше энергии и ресурсов памяти, нож MQTT и любого другого легковес протокола.
HTTP можно использовать с несколькими устройствами. Однако чем больше устройств вы добавляете, тем большую нагрузку вы предоставляете на сервер. Это отрицательно сказывается на общей производительности.
HTTP не имеет качества обслуживания или других служб, поэтому полагается на TCP только как на гарантию доставки сообщений.
Первоначально HTTP был разработан без механизмов безопасности. HTTPS – это зашифрован HTTP, какой имеет тот же уровень безопасности, что и MQTT. Он использует TLS/SSL для аутентификации клиентов и шифрования передаваемых данных [28].
CoAP и MQTT
Протокол ограниченного применение (CoAP), разработан IETF, есть протоколом на основе UDP. В него много общего с HTTP, и или два протоколы надежно работают один из одним.
CoAP - это бинарный протокол, какой поддерживает два режимы связи: публикация / подписка и запрос / ответ. Как и HTTP, он публикует сообщение по URI. Максимальный размер сообщение определяется мощностью сервера.
Которые предназначено для устройств с ограничениями, CoAP имеет небольшой размер сообщение и минимальные накладные расходы. Кроме того, CoAP использует UDP - простой транспортный протокол, какой нет имеет подтверждений связи и гарантированной доставки. Это также минимизирует накладные расходы и размер сообщения. В этом случае CoAP имеет преимущество над MQTT. Несмотря на легкую архитектуру и небольшой размер сообщения, MQTT работает по протокола TCP, какой содержит запросы на соединение, рукопожатие и гарантию доставки.
CoAP разработан для устройств с ограниченными ресурсами. Так что его основные преимущества – это энергоэффективность и низкое потребление памяти. Иногда CoAP может быть более ресурсоэффективность, чем MQTT.
AMQP да MQTT
Расширенный протокол очереди сообщений (AMQP) был разработан в JPMorgan Chase & Co. в 2003 году как открытый протокол обмена сообщениями для банковских систем.
AMQP - это двоичный протокол на основе TCP, какой может использовать или модель публикации / подписки, или шаблон запроса / ответы.
Компонент обмена протокола получает сообщение от издателя и направляет его в очередь. Очередь сохраняет сообщение к тех пор, пока клиент нет сможет его обработать.
AMQP легкий и нет требует больших затрат. Но он уделяет большую внимание доставку сообщений, что увеличивает накладные расходы и делает их более высокими в сравнить с MQTT.
AMQP нет требует слишком много ресурсов оперативной памяти и процессора. Однако он потребляет их больше, чем MQTT, из-за более сложной системы обмена сообщениями.
AMQP масштабируем и позволяет использовать несколько подключений. Оба протокола, AMQP и MQTT, имеют функции и возможности для обеспечение надежного обмена сообщениями. Они работают по TCP и применяют QoS для обеспечение стабильной да надежной передачи данных. AMQP обеспечивает два уровня QoS, а MQTT - три с них. Кроме того, в MQTT есть да колокола опция «последней свободы и завещания». Гарантирует доставку сообщение
клиенту в случае отключение.
AMQP имеет предпочтение перед MQTT с точки зрения безопасности. Он использует различные расширения TLS, включая SNI и SASL, для аутентификации клиентов и шифрование данных [29].
Бенчмаркинг пропускной способности и задержки
Чтобы получить более четкое представление о производительность MQTT в сравнивая с его альтернативами, мы провели собственный сравнительный анализ. Мы создали среду тестирования для измерения задержки и пропускной способности. Это измеримые параметры, которые подчеркивают эффективность протокола.
Мы определили пропускную способность как максимальное количество сообщений в секунду, отправляемых от издателя брокеру или серверу. При измерении задержки мы взяли минимальное время отклика на сервер. Мы использовали Apache JMeter и его плагины как инструмент погрузочного тестирование.
Оборудование издателя работало на одноядерном процессоре с рабочей частотой 700 МГц и 512 МБ оперативной памяти В серверном оборудовании использовался одноядерный процессор с 2 ГБ оперативной памяти. Размер полезного нагрузка каждого сообщение, какое мы отправляли с использованием протоколов, составлял 64 Кб.
Согласно с нашими результатами тестирование (рис. 3.5), CoAP показал выдающуюся производительность по пропускной способности. Ему удалось отправить вдвое больше сообщений, чем MQTT из QoS 0. HTTP и MQTT из QoS 1 и QoS 2 были примерно на одному уровни с самой низкой пропускной способностью.
Те же протоколы (HTTP; MQTT из QoS 1 и 2) имели задержки во времени ответа сервера. MQTT с QoS 0, CoAP и AMQP показали нулевую задержку.
Рис. 3.5 Результаты бенчмарков
Перспективы протокола
Согласно Google Trends (рис. 3.6), за последние 5 лет уровень интереса к MQTT в всему мире вырос в четыре раза. Эта тенденция поддерживается быстрым расширением рынке Интернета вещей и стойкой тенденцией к простоты и эффективности использования ресурсов
Рис. 3.6 График популярности протокола
Просто архитектура, легкая реализация, надежная доставка сообщений и высокая масштабируемость - сильные преимущества, которые сохранят интерес к протокола MQTT для IoT.
OASIS выпустил последнюю версию протокола, MQTT 5.0, в марте 2019 года. В v5.0 добавлены новые функции: окончание срока действия сообщение, общая подписка и псевдоним темы. Они оптимизировали производительность MQTT и сделали его более привлекательным для разработчиков Интернета вещей [30].
Модель публикации / подписки
на отличие от традиционной модели клиент-сервер, в какой клиент непосредственно связывается с конечной точкой, клиенты MQTT разделены на две группы: отправитель (называемый в MQTT издателем) и потребитель, какой получает данные
(подписчик MQTT). Издатель и подписчик ничего не знают друг о друга и, в сущности, никогда не находятся в прямом контакте друг с другом. Третий компонент (брокер MQTT) действует как «гаишник», направляя сообщение от издателя до любых конечных точек, выступающего в качестве подписчиков (рис. 3.7).
Темы MQTT
Сообщения отправляются от издателя через брокера к одному или нескольким подписчикам, использующим темы. Темы представляют собой иерархические строки UTF-8. Каждый уровень в теме отделяется косой чертой. каждое уведомление от издателя должно включать тему. Чтобы получить опубликованное сообщение, объект, использующий сообщение, должен подписаться по той же теме. Брокер отправляет полученное сообщение только тем клиентам, которые подписались на ту же тему.
Итак, MQTT – сильный конкурент в области передачи данных и сетевых. коммуникаций, хочет он нет есть номером один в всех отношениях. Например, CoAP превосходит MQTT по пропускной способности и накладных затрат. И AMQP играет ведущую роль в обеспечении безопасности.
Однако есть несколько ключевых преимуществ, которые MQTT предоставляет своим пользователям:
Все это делает MQTT подходящим вариантом для IoT-устройства. При Разработка решения IoT MQTT используется как часть стека протоколов. Это один из любимых вариантов для маломощных беспроводных устройств. нестабильным подключением.
Однако MQTT нет определяет структуру и содержание этих сообщений и их взаимосвязь. Устройство IoT публикует данные и предоставляет возможности взаимодействия, но контролирующий объект должен быть специально настроенный, чтобы иметь возможность взаимодействовать с устройством. Преимущество Homie определяет стандартизированный способ того, как устройства и онлайновые вещи объявляют себя и свои данные на брокера MQTT.
Таким образом, это самый важный аспект протокола MQTT для автоматического обнаружение, настройки да использование устройств и служб [31].
Для проектирование архитектуры программного обеспечение нужно определиться с аппаратным обеспечением, что будет выполнять написано ПО. на сегодняшний день существует множество разнообразных вариантов аппаратного обеспечение на основе которого строятся устройства разумного дома. Для работы было выделено ряд основных требований к аппаратной часть для удовольствие потребностей пользователя и в тот же время возможности исполнение всех функциональных да нефункциональных требований к ПО.
Поставлены требования к аппаратного обеспечение:
Плата микроконтроллера считается небольшим компьютером, построенным на микросхеме с металлооксидных полупроводника. Все типы микроконтроллеров состоят с одних и тех же основных частей корпуса:
Микроконтроллеры используются в автоматически управляемых продуктах и устройствах, таких как системы управление автомобильными двигателями, что имплантируются медицинские устройства, пульты дистанционного управление, офисные машины, бытовая техника, электроинструменты, игрушки и другие встроенные системы.
Инженеры, энтузиасты и программисты также используют одни и те же платы микроконтроллеров для создания проектов DIY и в обучающих целях. В процессе анализа было выбрано 11 самых популярных на сегодняшний день микроконтроллеров, которые используются в разработке устройств разумного дома но хотя бы в какой-то степени отвечают предъявляемым требованиям к аппаратному обеспечение.
Arduino Microcontroller Board
Компания, что занимается электроникой и технологиями, Arduino выпустила версию Arduino Uno R3 в 2011 году. Она основана на чипе под названием ATmega328P (плата с открытым исходным кодом). Плата имеет разные контакты ввода-вывода, с помощью которых вы можете подключать ее к остальным платам и схемам. К нему подключены разные порты, включая порт USB-подключение, четырнадцать контактов ввод-вывод, заголовок ICSP, разъем источники питание и кнопку сброс. Его можно легко подключить непосредственно к вашего персонального компьютера или ноутбука через USB кабель.
Плата Arduino Uno R3, основанная на IoT, является самой дешевой, готовой к подключение платы к разным доступным онлайн-библиотекам и ресурсам (рис. 3.8). Кроме этого, существует множество других комплектаций данного микроконтроллера из разными техническими характеристиками и стоимостью.
Teency 4.0
Плата микроконтроллера Teensy 4.0 (процессор 600 МГц) - новейшая и самая быстрая плата, доступная на сегодняшний день. Она имеет небольшие размеры по сравнению с другими досками и может использоваться для выполнения разных типов проектов своими руками. Все команды подаются на плату через два порта USB. Teensy 4.0 можно запрограммировать с помощью Arduino IDE за помощью небольшого дополнение.
Микроконтроллер можно подключить к ПК или ноутбуку с помощью кабеля USB (рис. 3.9). Он имеет 1024 КБ ОЗУ по сравнению с 16 КБ в Arduino Uno для более современных приложений [32].
Рис. 3.9 Teensy 4.0
Arduino Pro Mini 328
Arduino Pro Mini 328 – еще одна лучшая плата микроконтроллера от технологии Arduino. Эта мини-плата предназначена только для небольших приложений до 5 вольт. Плата Arduino Pro Mini 328 имеет загрузчик на 16 МГц. на плате нет встроенных разъемов и портов, поэтому вам, возможно, придется припаять соединение самостоятельно. Однако если в вас небольшой бюджет, то эта плата микроконтроллера - хороший выбор для вас (рис. 3.10).
Рис. 3.10 Arduino Pro Mini 328
Raspberry Pi 4
Выпущена в 2019 году Raspberry Pi 4 есть самой быстрой платой микроконтроллер на сегодняшний день. Благодаря 4 ГБ оперативной памяти вы Вы можете создавать мощные и продвинутые электронные проекты. Raspberry Pi 4 может обеспечивать ток к 1,2 А для USB-устройств. Доступны разные варианты оперативной памяти от 1 ГБ до 4 ГБ Дополнительные функции включают встроенную беспроводную локальную сеть, Bluetooth 5.0, два порта USB 2.0 и USB 3.0, два порты Micro HDMI и порт Gigabit Ethernet (рис. 3.11).
Рис. 3.11 Raspberry Pi 4
ESP32
Плата микроконтроллера ESP32 представляет собой комбинированный модуль Bluetooth и Wi-Fi на однокристальной плате (2,4 ГГц) со сверхнизким энергопотреблением. Плата считается лучшим выбором для приложений, где нужно лучшая производительность RF. Плата микроконтроллера ESP32 используется для проектов DIY, таких как умный дом и проекты на основе Интернета вещей (рис. 3.12) [33].
Рис. 3.12 ESP32
MBED LPC1768
Плата микроконтроллера MBED LPC1768 в основном предназначена для создание прототипов. Он включает в себя встроенный программатор USB FLASH. Плата основана на 32-битном ядре ARM M3 NXP LPC1768. ОПГ составляет 32 КБ, флеш-память 512 КБ (рис. 3.13).
Он состоит из периферийных устройств ввода-вывода, порты USB и встроенного Ethernet. Для новых разработчиков да инженеров в MBED есть
несколько онлайн-сообществ для обмена библиотеками да ресурсами, которые могут быть легко доступны любому пользователю для создание прототипов решений.
Рис. 3.13 MBED LPC1768
BeagleBone Black
BeagleBone Black – одна из самых дешевых доступных плат для разработки. Вы можете начать разработку всего за пять минут, подключив свой компьютер за помощью простого USB кабеля. Он складывается с 512 МБ ОЗУ и флеш-памяти 4G. Он имеет 46×2 контактов заголовка, Ethernet, 2 порта USB. Больше количество контактов введение / вывод делает его более подходящим для проектов электроники. Он также имеет пониженное энергопотребление без потребности в радиаторах.
ESP8266
ESP8266 имеет небольшие размеры в сравнить с другими
микроконтроллерами, поддерживающими IoT. Он имеет очень низкую стоимость (около 3 долларов США). Его можно использовать для проектов умного дома своими руками, включая Интернет вещей. Эту доску также можно использовать для создания ваших личных помощников, таких как Кортан или Алекс. Он включает в себя 128 КБ ОЗУ и 4 МБ флеш- памяти, но что делает ESP8366 лучше, да это то, что его можно
использовать для создания собственной сети для подключения других устройств (рис. 3.15).
Рис. 3.15 ESP8266
Quark D2000
Микроконтроллер Quark D2000 есть одним с самых надежных микроконтроллеров и имеет больше элементов управления вводом-выводом, нож другие микроконтроллеры. Он основанный на семействе микроконтроллеров Intel
× 86. Это 32-битный микроконтроллер, работающий на частоте 32 МГц с 8K SRAM и 32K FLASH. Он чрезвычайно универсален, поскольку требует постоянного тока всего к 3,3 В (рис. 3.16).
Рис. 3.16 Quark D2000
Launchpad MSP430
Launchpad MSP430 наиболее полезен для применение встроенной эмуляции и отладка Energy Trace. Это также микроконтроллер с сверхнизким энергопотреблением и 4 КБ ОЗУ, какой можно использовать в качества альтернативы для Arduino Uno R3. Он имеет специальное программное обеспечение для программирование (IDE), какое используется для кодирование и отладка, которая называется Energia, она более удобна для пользователя и похоже на IDE Arduino (рис.3.17).
Рис. 3.17 Launchpad MSP430
Raspberry Pi Zero W
Raspberry Pi Zero W расширяет семейство микроконтроллеров Pi Zero и поставляется с добавленной WLAN активное возможностью подключение по Bluetooth. Он обладает всеми функциями оригинального Pi Zero. Он имеет одноядерный процессор с тактовой частотой 1 ГГц и 512 МБ оперативной памяти Raspberry Pi Zero W – отличный выбор для создания собственных проектов встроенного Интернет вещей (IoT) (рис. 3.20). Это очень экономично и стоит около 10 долларов США [34].
на основе приведенного списка можно сделать заключение, что на
сегодняшний день существует множество способов создавать устройства разумного дома на разный аппаратный части. Все с описанных плат для программирование
прекрасно подходят для создание на их основе разных девайсов разумного дома, но не все удовлетворяют поставлении требования.
На основе проведенного анализа были выбраны микроконтроллеры ESP по ряда причин, а именно:
Помимо этих преимуществ, важнейшим является то, что большая часть современных Wi-Fi. устройств умного дома построена именно на основе микроконтроллеров ESP, что позволит использовать созданное программное обеспечение на готовых устройствах без потребности создание своих плат да корпусов.
Поскольку в виде аппаратного обеспечение было выбрано устройства семейства ESP, то и инструменты программирование нужно выбирать отталкиваясь от архитектуры и возможностей микроконтроллер. на сегодняшний день существует большая количество инструментов для программирование, но нужно выбрать наиболее целесообразный и совместимый с ESP фреймворк, какой разрешает выполнить все поставленные требования и задачи.
Для инструмента, на котором должно создаваться программное обеспечение было поставлено одно основное требование – низкий порог входа пользователей и возможность разработки программного обеспечения самостоятельно без необходимости изучение специфических языков программирование.
Для удовлетворения поставленного требования был проведен обзор существующих инструментов и определено ряд их преимуществ да недостатков. Micro Python
MicroPython - одна с программных платформ для микроконтроллеров ESP32 и ESP8266. Здесь используется язык программирования Python 3, включающий небольшой подмножество стандартной библиотеки Python и оптимизирован для работы на микроконтроллерах ESP.
Платы ESP32 и ESP8266 – это микроконтроллеры с поддержкой Wi-Fi, которые запускают MicroPython на «голом железе», предоставляя вам низкоуровневую операционную систему Python, которую можно использовать для управления всеми видами электронных проектов.
MicroPython имеет расширенные функции, такие как интерактивное приглашение, закрытие, генераторы, обработка исключений и много другого. Эта операционная система будет работать всего из 256 КБ кодового пространства и 16 КБ ОПГ.
Circuit Python
Схема Python основана на Python. Это легко использовать с платами ESP32 и ESP8266. Если в вас уже есть знание Python, вы можете легко применить их в Circuit Python. Если у вас нет опыта, начать очень просто.
Circuit Python простой в использовании, поэтому что все, что вам нужно, это плата ESP32 или ESP8266, USB-кабель и компьютер с USB-соединением.
Mu - это простой редактор кода для Circuit Python, он работает с Windows, Mac и операционной системой Linux. Проверьте следующее ссылка для редактора Mu.
Arduino
Arduino очень мощный и простой в программировании. У него есть большое всемирное сообщество, так что оно может делиться нашими знаниями и получать ответы от многих людей. Arduino поставляется с собственным программным обеспечением. Это программное обеспечение работает с операционными системами Windows, Linux и Mac. Вы можете программировать онлайн. Если вы знаете C и C ++, это облегчит вам программирование.
Проект Arduino стартовал в 2003 году как программа для студентов Института дизайна взаимодействия Ивреа в Ивреа, Италия, с целью предоставить недорогой и простой способ для новичков и профессионалов создавать устройства, которые взаимодействуют с окружающим средой за помощью датчиков и исполнительных механизмов. Распространенными примерами таких устройств, назначенных для начинающих любителей, есть простые работы, термостаты и датчики движения.
После установки Arduino IDE необходимо установить плату для ESP 8266 и ESP32, чтобы скачать и проверить коды
NodeMCU
NodeMCU – это прошивка на основе Lua для ESP32 и ESP8266 WiFi SOC от Espressif, использующего файловую систему SPIFFS на основе встроенной флэш-памяти. Прошивка сначала разрабатывалась как сопутствующий проект популярных модулей разработки NodeMCU на базе ESP8266, но теперь проект поддерживается сообществом, и теперь прошивку можно запустить на любому модули ESP.
Mongoose
Mongoose os – это среда разработки прошивки для ESP32 и ESP8266. ОС Mongoose - это платформа для создание приложений для маломощных микроконтроллеров, какая складывается с следующих основных компонентов:
Инструмент Мос. Предоставляет возможности управления устройством и создания прошивки,
Набор инструментов для сборки. Это образ докера, какой содержит SDK изготовителя оборудования вместе с исходными кодами mongoose-os. Mos собирает прошивку, принимая файл mos.yml в текущем каталоге и вызывая образ докера сборки удаленно или локально. готовых приложений и библиотек.
Espruino
Espruino - это несколько вариантов микроконтроллерных устройств, в которых прошитый встроенный интерпретатор JavaScript. Espruino Pico - именно миниатюрное с них. Оригинальный интерпретатор JavaScript, что используется в Espruino, назначен для быстрой разработки на устройствах с ограниченными процессорными ресурсами Есть его версии для целого списка платформ, начиная с ESP8266 и к Raspberry Pi.
Для Espruino существует большое количество готовых подгружаемых модулей. для самого разного периферийного оборудование, совместимого с экосистемой Arduino и инструкции по его подключению [35].
Проведя ознакомление с разнообразие современных инструментов для программирование, было сделано выбор в предпочтение Espruino по ряда причин:
Выводы
В третьем разделе было проведено ряд аналитических задач для продумывание будущей архитектуры ПО для устройств разумного дома. В В результате анализ современных платформ и систем управления был сформирован список функциональных да нефункциональных требований для программного обеспечение на основе современных потребностей пользователей да их повседневных задач.
Для простой и гибкой интеграции с современными платформами, что даст возможность управлять и считывать данные с устройств было выбрано использование MQTT как протокола для посылка с брокером. Такой способ дает возможность подключать устройства в большинство современных систем управление, или в обычный MQTT брокер и управлять устройством с посторонних веб или мобильных клиентов. Для стандартизации и самодекларативного описания девайсов было выбрано Homie как базовую MQTT конвенцию.
Кроме этого в результате анализа было получено понимание преимуществ и недостатков протокола и возможных сценариев его использование.
В результате данного раздел также был обработан список большинства современных микроконтроллеров да их возможностей. Выбор остановился на микроконтроллерах семейства ESP, из-за их доступности, вариативности, низкой стоимость да необходимую техническую составляющую для решение поставленных задач.
Последним этапом было проведено анализ возможных инструментов для программирование на микроконтроллерах ESP и выбрано Espruino для реализации проекта.
В конце третьего раздела было полностью сформировано ряд требований, необходимых для начала разработки собственной архитектуры да определено все технические возможности и барьеры, с которыми можно было столкнуться в процессе разработки.
РАЗДЕЛ 4
ВАРИАНТ РЕАЛИЗАЦИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С СОВЕРШЕНСТВОВАННОЙ АРХИТЕКТУРОЙ
Для создания универсального программного обеспечения было выбрано подход, согласно которому программное обеспечение должно конфигурироваться в едином файле по описанным инструкциям. Таким образом все что необходимо пользователю
— это ознакомиться с документацией по написанию конфигурационного файла, описать его согласно конвенции и указать его при загрузке программного обеспечение на устройство и ПО будет сформировано на основе данного файла. Такой подход позволяет полностью сохранить гибкость для пользователя и дать ему возможность использовать все возможности написанных модулей для работы с физическим сенсорами и устройствами в будь какой их комбинации.
Обязательным задачей было даты возможность экспертным пользователям самостоятельно масштабировать да развивать проект собственными силами. Так возможность стол возможной через вынос бизнес логики работы с устройствами да компонентами прибора через изолированные модули, каждый с которых опционально может быть внесен в конфигураций файл.
Первоочередной задачей после настройка среды разработки стало вопросы работы с конфигурационным файлом, в именно его разбиение и передачу необходимых данных компилятора для сбора необходимых бинарных файлов, которые Дальше имеют загружаться на устройство.
Для описание конфигурационного файла было выбрано популярный и понятный формат JSON. В самом начале был создан формат файла и разбит его на главные составляющие.
Условно файл конфигурации был разбит на несколько вложенных объектов (рис. 4.1). Весь основной контент контет было вынесено в объект extensions для будущего масштабирование. Основной объект складывается с нескольких дополнительных:
Вторым основным объектом конфигурационного файла является deviceConfig. Именно в этом месте конфигурационного файла выполняется формирование структуры девайса в брокеры согласно конвенции Homie.
Согласно конвенции каждый девайс представлен в виде набора дочерних сущностей - нод. Каждая нода имеет набор сенсоров, опций и телеметрии. Каждое из этих понятий является абстрактным и служит только для унифицированного подхода к отображению гаджета в брокере. Кроме этого, согласно конвенции, в самого девайса могут быть опции да телеметрия, но сенсоры - это атрибуты
только нод. Именно на основе этого конфига будет формироваться стейт девайса и его топики в MQTT (рис. 4.2). на рисунка показано пример объекта deviceConfig, что описывает девайс, какой складывается с нескольких телеметрий, одна из которых айпи адрес устройства, одной стандартной опции и нескольких нод. на рисунка видно, что уход к описание сенсоров, опций и телеметрий и девайсов и нод совершенно одинаков, что свидетельствует об универсальности и едином подходе. на рисунка также изображено, что каждая нода имеет ряд специфических обязательных атрибутов:
Аналогичным способом нужно описывать состояние сенсоров, опций да телеметрии и размещать их в нужных местах девайса (в ноде или в самом девайси). на рисунка 4.3 представлено список обязательных атрибутов сенсоров:
settable - атрибут, какой описывает возможность изменения состояния в топиках этого сенсора (так например для датчика температуры этот атрибут должен быть false, поскольку отредактировать значение температуры может только сам микроконтроллер, а для аналогового выхода - true, поскольку сенсоры такого типа будут регулироваться пользователем)
- name – атрибут, описывающий статическое название сенсора; валидация этого атрибута отличается от id, что дает возможность описать в нем более комфортную название для идентификации
В объекте mapping выполняется соотношение модулей к конкретным сенсоры, опций или телеметрий из объекта в deficeConfig . Да у каждой ноды, сенсора, опции и телеметрии уникальный в рамках девайса идентификатор, который разрешает сформировать полный топик к него, что дает возможность передать его в модуль для передачи в него данных. Таким образом массив mapping складывается с объектов, что описывают соотношение модуля к топика сущности. В каждого объекта есть набор обязательных атрибутов:
pin - атрибут, что описывает физический выход на девайси, с каким он общается с датчиком или управляемым устройством, type — атрибут, описывающий тип модуля с библиотеки тех, поддержка которых была реализована
topic - атрибут, какой описывает соотношение с сенсором, опция или телеметрия конкретной ноды в формате node-id/sensor-id
options - атрибут, в котором опционально указываются дополнительные характеристики для работы модуля, этот объект отличается для каждого модуля и уникальный в рамках каждого.
На рисунке (рис. 4.4) изображен пример объекта mapping с вариацией нескольких модулей
Рис. 4.4 Пример объекта с описанием соотношение модулей к сенсоров
После формирование структуры конфигурационного файла в основном исполняющему файле было написана функция парсинга конфига, какая по описанной конфигурации собирает необходимые данные из других файлов и формирует структуру топиков которые нужно отправить в броокер и подписаться.
Рис. 4.5 Функция считывания и обработки данных в файле конфигурации Данный файл конфигурации подвергается минификации и загружаются на
встроенная память устройства и функция обращается к нему во время каждого загрузка устройства. Кроме этого функция отправляет в брокер необходимы по конвенции топики с нужными значениями за по умолчанию (рис.4.5).
Для полноценного функционирование программного обеспечение необходимой составляющей является подключение необходимых модулей для работы с физическими датчиками и устройствами. Для считывания данных и отправки команд на устройства в разработке программного обеспечение существует множество подходов да каждый с внешних устройств в основном нуждается специфического подхода. Для уменьшение расходов памяти да ресурсов микроконтроллера было предложено выносить бизнес логику работы с каждым типом устройства в отдельные модули и подключать их только в случае, когда они нужны, а следовательно описаны в файле конфигурации.
В ходе разработки проекта были разработаны модули для самых популярных посторонних типов датчиков и шин, а также заложена возможность создавать новые модули самими пользователями или разработчиками.
Для корректной работы с модулями файл с бизнес логикой имеет быть вынесен в отдельную папку, согласно документации, и назван таким образом, как будет подключаться в файле конфигурации.
Output
Самым простым примером является модуля для работы управляемым выходами микроконтроллера Ярким примером является включение диода, подключенного к нужной ножке микроконтроллера или включения отключения реле. Модуль был назван output, а бизнес логика по работе была занесена в файл Output.js (рис. 4.6) .
Пример работы с output (цифровыми устройствами) был взят из стандартной библиотеки Espruino. Модуль разрешает отправлять на цифровой выход управляющие команды 1 или 0, включая или выключая его. Состояние цифрового устройства отправляется в брокер в топики с типом данных boolean, где 1 соответствует значению true, а 0 - false соответственно.
Рис. 4.6 Модуль Output
Модуль поддерживает дополнительный режим реверса, что описывается в расширенных настройка конфигурационного файла и переводить режим работы в инвертированный, то есть значению 1 отвечает false, а 0 — true.
Input
Следующим базовым модулем был Input. Это модуль какой используется для приема сигнала с устройства/датчика работающих в режиме input / input_pullup / input_pulldown (получение сигнала с устройства на контроллер).
Режимы работы модуля:
на рисунка изображен код, что обеспечивает работы с сенсорами данного типа (рис.4.7).
Рис. 4.7 Модуль Input
AnalogInput
Модуль какой используется для приема сигнала с устройства / датчика которые работают в режиме input и считывают аналоговые значение (получение сигнала с устройства на контроллер)
В модули AnalogInput реализована логика reverse какая разрешает работать с портом в инвертном режиме, для этого необходимо указать "options": {"mode": "reverse"} (рис. 4.8).
Рис. 4.8 Модуль AnalogInput
Telemetry
Дополнительный стандартный модуль, позволяющий передать в брокер мак адрес и айпи адрес устройства, имеющегося в локальной сети. Этот модуль создан для удобства пользователя да быстрого поиска парметров устройства.
Для настройка модуля на определенные порты в mapping необходимо поле type заполнить именем модуля, а ключ поля sensors названием полей объекта которые возвращается из модуля, то есть {"Mac": "default", "ip": "default"} а значение величиной единицы измерения (рис. 4.9). Функция для получение мак да айпи адрес является стандартной в Espruino.
DHT22
Далее модули были реализованы не так универсально, а специфически под типы сенсоров. Так, например, модуль DHT22 - модуль какой
используется для считывания значений с DHT2x/AM230x/RHT0x датчиков температуры и влажности.
Для настройка модуля на определенные порты в mapping необходимо поле
type заполнить именем модуля.
В поле options.interval указать значение интервала считывания информации из DHT, значение задается в миллисекундах.
Доступны значение для температуры и влажности:
- "C" - цельсий, "K" - кельвин. "%" - процентное представление значение.
Как видно в данном модули появляется дополнительная логика по работе с устройством (рис. 4.10).
Рис. 4.10 Модуль DHT22
Дополнительные модули для работы с разными типами сенсоров
По аналогии с другими приведенными примерами была создана библиотека с других модулей, что позволяют взаимодействовать с основными сенсорами да устройствами, а также заложено механизм разработки новых модулей экспертными пользователями.
Список дополнительных модулей да их короткий описание:
После реализации первого модуля было создано функцию, какая занимается парсингом модули, которые нужно подключать в бинарные файлы и занимается их включением в финальный сборник. Далее код каждого из модулей хранится на микроконтроллере и выполняется, когда вызывается из основной функции.
Разработка инструментов для загрузка да обновление программного обеспечение
Для установка программного обеспечение на устройство было создано ряд .sh скриптов, которые запускают докер контейнер со всеми необходимыми инструментами для компиляции и загрузки программного обеспечения на устройство.
Прежде всего пользователю необходимо инициализировать докер контейнер и установить в нем все нужные инструменты. Для этого достаточно просто запустить скрипт install_modules.sh (рис. 4.11).
Следующим шагом является очищение микроконтроллера от старой прошивки и установка на него среда Espruino для возможности запуска разработанного ПО на ESP. Для этого необходимо просто запустить скрипт flush.sh (рис. 4.12), передав первым аргументом порт, через который подключен контроллер к компьютеру, а вторым аргументом - название файла конфигурации, что находятся в стандартной директории.
Дану процедуру необходимо выполнять только в случае, когда на контроллеры нет установлена Esptuinoi, или установлено старое программное обеспечение. под время исполнение скрипта пользователю нужно следовать подсказкам (например перезагрузить вовремя девайс). Последним шагом остается сбор да загрузка программного обеспечение на микроконтроллер. Для этого нужно выполнить скрипт provision.sh , передав первым аргументом порт, через который подключен контроллер к компьютеру, а вторым аргументом - название файла конфигурации, что находятся в стандартной директории.
Рис. 4.12 Скрипт для установка Espruino
Каждый раз при запуске данного скрипта будут собираться необходимые бинарные файлы и подтягивать изменения в файле конфигурации. Кроме этого после первого программирования контроллера и получения им адреса айпи появляется возможность загрузить новое программное обеспечение уже через технологию OTA, есть без физического подключение к него, а по протокола TCP, зная только его айпи адрес. Примеры запуска команды на перепрограммирование и формат аргументов изображены на рисунка (рис. 4.13).
Рис. 4.13 Пример запуска команды на перепрограммирование
Таким образом было создано ряд скриптов для сбора и загрузка ПО на микроконтроллеры. Важным критерием является то, что пользователю достаточно установить на компьютер только систему Docker и проследить инструкцию. Использование Docker позволяет стандартизировать подход к перепрограммирование да нет заставлять пользователей самостоятельно устанавливать на свою машину дополнительные инструменты, все они будут установлены в рамках контейнера докера после запуска соответствующей команды. Кроме этого важной преимуществом является наличие возможности перепрограммирование “по воздуху”, что значительно облегчает процесс добавление нового функционала или обновление старого. Одним из недостатков является то, что через технические специфики работы Docker установка программного обеспечение доступно только с OS Linux.
После программирование устройства разработанным программным обеспечение в него нужно передать параметры подключение в локальную сеть да адрес на каком хосте и порту находится брокер. В первой версии программного обеспечение данные параметры вкладывались в файл конфигурации, но в процессе использование приборов было обнаружено, что данный способ не является практичным и нуждается постоянного перепрограммирование в случае изменения одного с параметров Для удобного использование устройств нужно было создать постоянный веб сервер для приема REST запросов с необходимыми параметрам. Первым шагом было программирование серверной части, какая запускалось на микроконтроллеры после его загрузки (рис. 4.14).
Сервер принимает следующие необходимы параметры:
По умолчанию устройство проверяет наличие параметров на файле системе и, если их нету, переходит в режим раздачи точки доступа за по умолчанию. В этом случае пользователь может подключиться к этой сети и передать необходимые параметры с помощью запроса REST. После получение параметров, устройство записывает их на файловую систему, автоматически перезагружается и после этого подключается к указанной сети да брокеру с полученным параметрам.
Для очищение полученных параметров было создано отдельный системный модуль для очистки парметров из файловой системы после взаимодействия с кнопкой, какая соединена с нужной ножкой микроконтроллера.
Заменить параметры подключение устройства к сети Возможно путем перевода девайса в режим точки доступа путем длительного замыкания GPIO0 (для ESP32 / ESP8266 это кнопка boot или flash).
Для этого необходимо подключить моудль Output в extensions.modules , потом указать в mapping режим модуля Output в reset_creds (рис. 4.15).
Таким образом смену параметров можно инициировать как физическим замыканием кнопки на ножке, или сделать это через брокер, отправив в Требуемый топик значения true. Следующим шагом стала разработка базового веб интерфейса для передачи параметров доступа. Для решение данной задачи было создана простая html страница с формой, состоящая из необходимых полей для каждого по параметрам (рис 4.15).
Рис. 4.16 Базовая веб страница для передачи параметров доступа
Таким образом по умолчанию данная веб-страница будет доступна на айпе адресу веб сервера 192.168.4.1, когда устройство находится в режиме точки доступа, а после подключения устройства в локальную сеть будет возможность подключиться к нее по айпе адресу девайса в локальной сети
Для тестирование программного обеспечение было использовано стандартную реализации на базе реализации с открытым кодом компании EMQX. MQTT брокер был настроенный на стандартном порта 1883 и хостится на домашнем персональном компьютер. Таким образом устройства с установленным на них программным обеспечением подключались к броокеру по айпи адреса ПК и порта брокера.
Для разграничение параметров доступа в интерфейсе брокеру было настроено ACL (Access Control List), а именно базовый набор логинов да паролей, которые давали доступ конкретном девайса в конкретную выделенную для него область топиков в брокеры.
Таким образом, зная параметры для подключения к локальной сети, адрес брокера, а также логин и пароль для него можно было передавать получены данные через веб-интерфейс.
на рисунка (рис. 4.17) изображено состояние девайса в броокеры после подключение. Для мониторинга состояния девайса использовалась стандартная утилита MQTT Explorer, которая по факту является обычным клиентом пробера, но подключается к нему с правами администратора, что давало возможность видеть в управлять всеми девайсами, что подключены в него.
Для тестирование всех модульных компонентов было получено ряд сенсоров да датчиков, да прототипы реальных устройств было собрано на макетных платах по инструкция в открытых источниках.
Таким образом было протестировано следующие реальные устройства да проверено следующие сценарии:
Таким образом за помощью макетной платы да обычного микроконтроллера ESP32 было проверено работоспособность модулей, данные получались через брокер и их можно было просматривать за помощью утилиты MQTT Explorer.
Следующим шагом стало тестирование программного обеспечение на реальных промышленных устройств. Для этого был закуплен ряд девайсов, построенных на основе микроконтроллеров ESP, которые можно было комфортно демонтировать и установить на ных ПО.
Такими устройствами стали реле и розетки двух известных брендов Sonoff да BlitzWolf:
на этих 6 устройствах было проверено программное обеспечение в реальных пользовательских сценариях. До них было подключено разные построении приборы (лампы, обогреватели, устройства контроля влажности да другое). Кроме этого устройство Sonoff Dual имеет на борту выход для подключение аналоговых датчиков температуры, к него было подключено один с сенсоров и значение температуры замерялись в реальном времени.
Устройства на макетных платах прошли проверку на функционирование, но нет в длительной временной форме. А вот устройства от реальных производителей проверялись часов да были протестированы в отрицательных сценариях использование, а именно:
Для тестирования был также написан небольшой ряд скриптов, которые по настроенном графику включали или выключали нагрузка на выходе устройств. Такой сценарий повторяет полностью реальные случаи и был использован для включение освещение для домашних питомцев.
После тестирования с помощью стандартных утилит и скриптов было проведено ряд тестов для проверки возможности интеграции со посторонними платформами. В ходе анализа существующих платформ был выбран HomeBridge как одну с самых интересных платформ. Благодаря ней за минимальный срок было настроено голосовое управление устройствами да возможность ез управление через веб интерфейс платформы да мобильный приложением Home от iOS.
Для проведение данного эксперимента платформу HomeBridge было развернуто на домашнем ПК по инструкциям с официального сайта. Платформа была развернутая как отдельный докер контейнер и присоединилась доброкера, что был развернутый раньше.
Для настройки было установлено несколько плагинов платформы для работы с брокером и двумя голосовыми помощниками (Siri и Google)
После настройки плагинов, был описан конфигурационный файл для работы с топиками реального устройства. Этот процесс дал понять, что архитектура дает возможность абстрагироваться от платформы и давать разным платформам работать с абстракцией в виде топиков.
Файл конфигурации складывается с описания аксессуаров, которые Дальше будут отображаться в веб-интерфейсе и взаимодействовать с голосовыми ассистентами. В документации HomeBridge описаны все имеющиеся аксессуары, а для тестирования было выбрано стандартный switch для переключение нагрузка (рис. 4.19).
После сохранение файла конфигурации в веб интерфейсе HomeBridge появился компонент для взаимодействия с аксессуаром и отображения его состояния и логов (рис. 4.20).
После проверки базового функционала следующим шагом стало настройка голосовых ассистентов Siri и Google. Для этих целей в Home Bridge есть отдельные плагины, какие были установлены на предыдущем этапе.
Рис. 4.19 Файл конфигурации в HomeBridge
Для настройки интеграции с голосовыми ассистентами нужно просто проследить инструкции и установить соответствующие приложения на мобильном телефоне.
После выполнения необходимых действий, занимающих не более трех минут устройство, что управляется разработанным программным обеспечением был доступны в приложении Home для iOS и Google Home. Именно это дало возможность включать да выключать свет для домашних любимцев за помощью голосовых команд (рис. 4.21). По такому же принципу можно прибавлять большое количество аксессуаров, что доступны в HomeBridge, а именно:
Голосовые ассистенты корректно отрабатывают с всеми стандартными аксессуарами и интерактивно отвечают на поставлены вопросы.
Выводы
В четвертом разделе работы было предложено собственную реализации программного обеспечение устройств разумного дома из усовершенствованной архитектуры.
В процессе реализации программного обеспечения были выполнены следующие задачи:
на основе проведенного тестирование было сделано заключение о работоспособность программного обеспечения и соответствие его возможностей всем поставленным задачам.
Существующие архитектуры были улучшенные за счет:
РАЗДЕЛ 5
РАЗРАБОТКА СТАРТАП-ПРОЕКТА
В этом разделе будет предложено реализация стартап проекта на основе предложенной усовершенствованной архитектуры для постройки устройств разумного дома, проведено маркетинговый анализ да выбрано основные векторы развития проекта, а также оценено его маркетинговую ценность.
Идея проекта состоит в построении устройств умного дома на базе усовершенствованной архитектуры, за счет использование реализованного программного обеспечение для устройств на базе микроконтроллеров ESP.
В таблицы 5.1 изображено содержание идеи да возможные сферы для поиска потенциальных пользователи.
Таблица 5.1. Опыс идеи стартап проекта
Содержание идеи | Направления определение | Удобства для пользователя |
Использование разработанного программного обеспечение в устройствах разумного дома | Домашняя автоматизация | Быстрое и гибкое настройка устройств многих типов |
Автоматизация промышленных процессов | Стандартизация процессов управление устройствами в единой экосистеме |
В идеи стартап проекта предлагается использование разработанного программное обеспечение в разумных устройствах. Главной целью проекта является Поиск производителей умных девайсов, или даже обычных бытовых приборов с возможностью интеграции в них микроконтроллера ESP32 для запуска программного обеспечение, какое разрешает интегрировать устройство в системы управление или автоматизации.
Для валидации потенциальных технико-экономических преимуществ программного обеспечение с популярными игроками на рынке было проведено анализ
существующих предложений программного обеспечение да проведено их сравнительный анализ с предложенной идеей.
Для сравнение было выбрано два популярных решение, которые были найдены как альтернативные виды предложенного варианту:
Таблица 5.2. Определение сильных, слабых да нейтральных хаpактеpиcтик идеи
проекта
№ | Характерист тики проекта | (потенциальные) товары/концепции конкурентов | W | N | S | |||
Мой проект | ESPHome | Tasmota | Blynk | |||||
1. | Порог входа | Высокий | Низкий | Средний | Высокий | + | ||
2. | Пользова льницкий опыт | Высокий | Средний | Средний | Высокий | + | ||
3. | Стабильный ть работы | Высокий | Средний | Высокий | Средний | + | ||
4. | Гибкость | Высокий | Высокий | Низкий | Высокий | + |
В таблице указана оценка каждого из конкурентов по шкале Высокий- Средний-низкий, где первый соответствует оценке отлично. В правой части таблицы отмечен сравнительный анализ представленного проекта в сравнение с конкурентами. Анализ конкурентов и изучение их позиций на рынке дало понять, что каждый имеет свою аудиторию, но полностью не отвечает всем потребностям пользователей. В таблицу специально были вынесены эти критерии, хорошие и отрицательные показатели в которых показали конкуренты.
В рамках данного подразделения было проведено аудит технологической возможности создания проекта
Определение технологической свершенности идеи проекта предполагает анализ составных которые указаны в таблицы 5.3.
Таблица 5.3. Технологическая свершенность идеи проекта
№ п/п | Идея проекта | Технологии ее реализации | Наличие технологий | Доступность техно- логий |
1. | Программное обеспечение для устройств разумного дома | Загрузка ПО | Наяна | Доступная |
Обновление ПО | В наличии | Доступная | ||
Компиляция на основе файла конфигурации | В наличии | Доступная | ||
Тестирование | В наличии | Доступная | ||
Выбор технология реализации идеи проекта: налицо да доступная на рынка |
В работе представлен вариант технической реализации проекта. Для полноценного запуска в маркеты продукт нуждается в доработках, но вся техническая база имеющаяся на рынке и проект возможен для реализации.
Для определения актуальности и целесообразности разработки проекта необходимо провести анализ рыночных возможностей его запуска, т.е. все преимущества да угрозу, которые могут повлиять на маркетинговую стратегию развития.
В таблице приведена базовая характеристика потенциального рынка, на который будет выходить проект, а именно рынок устройств разумных домов. (таблица 5.4).
Таблица 5.4. Предыдущая хаpактеpиcтика потенциального рынка cтаpтап-проекта
№ | Показатели состояния рынка (наименование) | Характеристика |
1 | Число главных игроков, oд | 10 |
2 | Общий объем пpодаж, грн | 10000 гpн |
3 | Динамика рынка | Окончательно |
4 | Наличие ограничений для входа | Потребность сертификация |
5 | Сегодня норма pентабельности в отрасли (или по рынка), % | 17% |
Для анализа потенциальных возможностей выхода на рынок было проанализировано несколько источников, свидетельствующих об активном росте самого рынка умных устройств, и даже наличие большого количества ключевых игроков не делает невозможным успех проекта из-за значительного спроса со стороны пользователей и производителей устройств.
Целево аудитопия проекта это две группы:
В таблице приведена характеристика потенциальных клиентов и их основные потребности, которые могут стать Гарантией успеха стартап-проекта и имеют обязательно быть впровождены (табл. 5.5).
Поскольку по анализу конкурентов видно, что спрос есть со стороны двух групп пользователей, можно заключить, что заинтересовать первую группу будет не сложно, а для интерес второй нужно будет контактировать на прямую и помогать настраивать процессы, но основным фактором для них станет стоимость проектов в перспективе по счет сокращение расходов [36].
Таблица 5.5. Характеристика потенциальных клиентов cтаpтап-проекта
№ п/ п | Нужно, что формирует рынок | Целево аудитория (целевые сегменты рынка) | Отличия в поведения разных потенциальных целевых группа клиентов | Требования потребителей до товара |
1 | Гибкость в | DIY | Порог входа да | Возможность |
создании новых | пользователи | стоимость | самостоятельно | |
версий ПО | реализовывать | |||
новые модули для | ||||
сенсоров | ||||
2 | Быстрая разработка | Производители | Стоимость | Быстрее |
новых вариаций ПО | умных | проекта | ный процесс | |
устройств | реализации | |||
новых | ||||
версий ПО |
Для актуальной оценки возможностей выхода на рынок было проанализировано несколько факторов риски, которые могут повлиять на успех проекта(табл. 5.6).
Риски icнуют, тоже нужно иметь прочный фундамент в выгляди документов, сертификатов, подтверждающих все возможные намерения, результаты тестирований да выделение основных перевес этого протокола для большей эффективности беспроводных сенсорных сетей. Несмотря на наличие рисков спрос и развитие рынка свидетельствует о том, что в случае гибкого подхода и подстройка и быстрой реакции на запросы пользователей проект может получить успех. А за счет наличия нескольких целевых аудиторий векторы развития можно изменять или Искать новые, что значительно повышает шанс занять свою нишу.
Таблица 5.6. Факторы загpoз
№ | Фактop | Содержание загpoзы | Возможна реакция компании |
1. | Спроса | Существующие игроки могут закрывать потребности пользователя | Анализ и внедрение инструментов для решение других задач |
2. | Экономическая | Собрание инфляции | Поиск возможностей для дешевого тестирования и разработки |
№ | Фактop | Содержание загpoзы | Возможна реакция компании |
3. | Конкуренция | Выход новых игроков на рынок | Увеличение проверок да хороших отзывов |
4. | Научно- техническая | Быстрый свиток науки | Мониторинг научных новостей и поиск новых путей совершенствования проекта |
После анализа конкуренции проведем больше подробный анализ умов конкуренции в отрасли(табл. 5.7).
Таблица 5.7. Анализ конкуренции в отрасли за М. Поpтеpом
Составляющие анализа | Прямыми конкуренты в отрасли | Потенци- ини конкуpен- ты | Поставщики | Клиенты | Товары- замен- ники |
Tasmota,Sonoff, Blynk | Новые игроки | Ценообразование | Задачи | Некачественные замен- ники | |
Выводы | Высокая конкуренция свидетельствует о высокий спрос | Новые игроки могут выйти с доводим всех существующих конкурентов | Влияют на ценообразование | Клиенты диктуют основные условия на рынка | могут неблагоприятно повлиять на авторитет |
на основе проведенного анализа можно сформировать список основных факторов, которые свидетельствуют о высокую конкурентоспособность проекта (табл. 5.8). Таблица 5.8. Обоснование фактов конкурентоспособности
№ п/ п | Фактop конкурентоспособности | Обоснование (наведение факторов, что poблять фактop для сравнение конкуpентных проектов значимым) |
1 | Цена | Цена интеграция влияет на принятие решение. А наша цена выгоднее, чем в аналогов. |
2 | Актуальность | Рынок нуждается решение поставленных задач |
3 | Спрос | Развитие рынке свидетельствует о активный спрос |
4 | Гибкость | Заложенные механизмы позволят оставаться в ногу с потребностями |
5 | Инновационность | Побить украинский науку на уровни с другими странами. |
Финальным этапом рыночного анализа возможностей внедрение проекта является составление SWOT-анализа (матрицы анализа сильных (Strength) и слабых (Weak) сторон, угроз (Troubles) и возможностей (Opportunities) на основе выделенных рыночных угроз да возможностей, да сильных и слабых сторон (табл. 5.10). Список рыночных угроз да рыночных возможностей складывается на основе анализа факторов угроз да факторов возможностей маркетингового среды. Рыночные угрозы да рыночные возможности есть последствиями (прогнозируемыми результатами) влияния факторов, и, на отличие от них, еще нет есть реализованными на рынке да имеют определенную вероятность осуществление [37].
Таблица 5.9. Сравнительный анализ сильных да слабых стопин
№ п/ п | Фактop конкурентоспособности | Балл и 1- 20 | Рейтинг товаров-конкурентов в сравнение с проектом | ||||||
– 3 | – 2 | – 1 | 0 | + 1 | + 2 | + 3 | |||
1 | Цена | 18 | + | ||||||
2 | Актуальность | 17 | + | ||||||
3 | Спрос | 20 | + | ||||||
4 | Гибкость | 20 | + | ||||||
5 | Инновационность | 18 | + |
Из таблиц 5.9 и 5.10 что факторы конкурентоспособности позволят выйти на рынок, но успеха можно будет добиться только за счет качественной реализации и продуманной маркетинговой политики.
Таблица 5.10. SWOT- анализ cтаpтап-проекта
Сильные стороны: | Слабые стороны: |
Возможности: услуги. | Угрозы: рынка. |
Это снова подтверждает, что даже несмотря на свою специфику, наш проект требует значительных усилий для того, чтобы войти в рынок, зафиксироваться да предлагать свои возможности своим клиентам (табл. 5.11).
на основные SWOT-анализ poзpoбляем альтернативы рыночной.
Таблица 5.11. Альтернативы рыночного сопровождение cтаpтап-проекта
№ п/ п | Альтернатива (ориентировочный комплекс заходов) рыночной поведения | Вероятность получение ресурсов | Строки реализации |
1 | Стратегия нейтрализации рыночных загpoз сильными сторонами cтаpтапа | 70% | 3 месяцы |
2 | Стратегия компенсации слабых стопин cтаpтапа имеющимися рыночными возможностями | 70% | 3 месяцы |
3 | Стратегия выхода с рынка | 80% | 6 местных жителей |
С указанных альтернатив выбираем стратегию компенсации слабых стопин cтаpтапа имеющимися рыночными возможностями.
Разрешение рыночной стратегии первым шагом предполагает определение стратегии охвата рынка: опрека целевых групп потенциальных потребителей (табл. 5.12).
Таблица 5.12. Выбор целевых группа потенциальных потребителей
№ п/п | Описание профиля целевой группы потенциальных клиентов | Готовность потребителей cпpийнять продукт | Опиентированный спрос в пределах целевой группы (сегмента) | Интенсивность конкуренции в сегменты | Простота входа в сегмент |
1 | DIY пользователи | Да | Высокий | Сегодня | Средняя |
2 | Промышленные производители | Да | Средний | Средняя | Средняя |
Который целевые группы обрaно: Под час анализа потенциальных групп потребителей было принято решение что компания будет работать с обеими группами пользователей и в будущем выбирать векторы дальнейшего развития |
Для работы с выбранными целевыми группами пользователей рынка необходимо сформировать базовую стратегию по свитку (табл. 5.13).
Таблица 5.13. Определение базовой стратегии по развитию
№ п/п | Выбор альтернатива по развитию проекта | Стратегия охлаждение рынка | Ключевые конкурентоспособные позиции соответствующе до избранной альтернативы | Базово стратегия повиты* |
Подсиление | Переговоры с | Выделение предпочтений этого способа в денежному эквивалент для будущих потребителей. | ||
1 | сильных стоpин cтаpтапа за счет рыночных | производителями и агрессивный маркетинг для DIY | Стратегия подкрепление своих перевес | |
возможностей | пользователей |
Следующим шагом есть выбор стратегии конкуpентной поведения (табл. 5.14). Таблица 5.14. Определение базовой стратегии конкуpентной поведения
№ п/п | Есть ли проект «переходчиком» на рынку? | Будет ли компания Искать новых потребителей, или забирать существующих в конкурентов? | Будет ли компания копировать основные хаpактеpиcтики товара конкуpента, i какой? | Стратегия конкуpентной поведения |
1 | Нет | Забирать | Да, недостаточные | Стратегия |
существующих | функции по работе | подкрепление | ||
с новыми | своих перевес | |||
датчиками | и копирование | |||
необходимых | ||||
характеристы | ||||
к |
На основе требование потребителей с избранного сегмента к поставщику и продукта, а так же в зависимости от стратегии по развитию да стратегии конкуpентной поведения poзpoбляем стратегию позиционирование какая определяется в формирование рыночной позиции, за каким Потребители имеют идентифицировать пpoект(табл. 5.15).
Таблица 5.15. Определение стратегии позиционирование
№ п/п | Требования к товара целевой аудитории | Базово стратегия по развитию | Ключевые конкурентоспособные позиции собственного cтаpтап-проекта | Выбор ассоциаций, которые должны сформировать комплексную позицию собственного проекта (три ключевых) |
1 | Обширная | Гибкость да | Экспертиза да | Качество. |
документация | скорая | готовность | Срок службы. | |
ия и | реакция на | подстраиваться под | Гибкость. | |
поддержка в | смену | потребности клиента | Легкость. | |
случае | Дешевизна. | |||
потребности |
Результатом данного подразделения есть система решение по поводу рыночной поведения компании, она определяет в каком направлении будет работать компания на рынка ради успешного выхода и увлечение аудитории.
Под час разработка маркетинговой пpoгpами первым шагом есть poppoбка маркетинговой концепции товара, который получает потребитель. В таблице (табл. 5.16) подытожим результаты анализа конкурентоспособности товары.
Таблица 5.16. Определение ключевых перевес концепции товара
№ п/п | Потребность | Удобство, которое предлагает товар | Ключевые преимущества перед конкуpентами (существуя или такой, что нужно создать) |
1 | Конкурентоспособности | Гибкость и простота | Самый низкий порог входа и возможность интеграции с будь какой платформой |
Выводы
В результате пятого раздела было представлено стартап-проект для продвижение предлагаемой архитектуры на рынок устройств разумного дома. В ходе анализа и разработки стартапа был проведен обзор и ознакомление с основными игроками в сфере да их преимуществами да недостатками. Результатом проекта является продуманная стратегия выхода на рынок, маркетинговый план, да избранные стратегии для работы с потенциальными клиентами двух категорий. В результате было сделано вывод, что через высокий спрос и активное развитие сферы IoT спрос в новых решения огромен и при наличии качественного продукта Возможно получить определенный объем клиентской внимания.
ОБЩИЕ ВЫВОДЫ РАБОТЫ
Целью магистерской диссертации является усовершенствование современной архитектуры постройки устройств разумного дома. В результате работы было выбрано нишу устройств на базе микроконтроллеров ESP, что занимают большую часть современных умных девайсов на основе технологии Wi-Fi и представлена собственная реализацию программного обеспечение с решение проблем существующих альтернатив.
В ходьбе работы было проведено анализ современных технологий, что используются в основе устройств разумного дом да выбрано оптимально для решения поставленных задач. Для полного понимания потребностей пользователей было проработано более двадцати платформ, позволяющих интегрировать устройства в одну экосистему и выбрано стратегию для универсализации подхода к работе с большинством платформ. Это было сделано за счет выбора MQTT протокола в основе процессов передачи данных между устройством и системой, именно за его счет были достигнуты абстракции от системы управления, а для стандартизации и самодекларативности девайса была выбрана специализированная конвенцию.
После выбора технология да формирование идеи было проработано возможное аппаратное обеспечение для реализации поставленных задач и выбрано микроконтроллер ESP за основу устройств с усовершенствованной архитектуры.
на основе полученных данных в результате анализа было спланировано универсальную, гибкая да масштабируемую архитектуру, какая разрешает неопытным пользователям интегрировать свои устройства в системы разумного дома любого производителя за счет использования стандартных методов интеграции на стороне платформ.
Для улучшение пользовательского опыт в программное обеспечение было внедрено ряд инструментов для удобной компиляции да загрузка ПО на устройство, а также разработан механизм обновления без физического взаимодействия с девайсов.
После реализации кодовой базы было проведено ряд тестовых экспериментов для проверки работоспособности продукта и его возможностей. В результате тестирования было построено около 20 устройств на макетных. плата да проверено возможность установка ПО на готовы популярные устройства от известных производителей.
Для подтверждение усовершенствование архитектуры разработаны устройства было интегрировано с несколькими системы контроль разумного дома да платформами автоматизации, а также проведен стресс тестирования в реальных условиях использование.
Финальной частью работы явилась разработка стартап-проекта, в основе которого лежит использование представленного программного обеспечение. В результате было сделано заключение, что проект может стать основой успешного проекта через выделены преимущества да заложены механизмы работы.
на основе выполненной работы можно сделать заключение, что в ходьбе реализации магистерской диссертации была сформирована идея успешного проекта для разработки программного обеспечение для большой количества девайсов с возможность интеграции в современные системы автоматизации.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
https://publications.jrc.ec.europa.eu/repository/bitstream/JRC113988/kjna29 750enn_1.pdf
https://ati.ec.europa.eu/sites/default/files/2020-06/Smart%20Home-
%20Technologies%20with%20a%20standard%20battle%20%28v1%29.pdf