Разработка интерактивного программно-аппаратного комплекса для демонстрации функционирования облачной платформы Rightech IoT Cloud

Анализ существующих решений систем "умный дом". Облачная платформа Rightech IoT Cloud. Проектирование и прототипирование 3д-моделей здания. Разработка системы умного дома. Настройка Raspberry Pi. Подключение к платформе и разработка общего скрипта.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 04.12.2019
Размер файла 4,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

И.А. Мотайленко

Разработка интерактивного программно-аппаратного комплекса для демонстрации функционирования облачной платформы Rightech IoT Cloud

Выпускная квалификационная работа

Аннотация

Данная выпускная квалификационная работа посвящена созданию интерактивного программно-аппаратного комплекса для демонстрирования спектра возможностей применения облачных технологий в управлении системой «умный дом». Поставленная цель будет реализована на примере использования облачной платформы Rightech IoT Cloud.

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

В результате проделанной работы был создан интерактивный макет «умного дома» с базовым функционалом управления на основе Rightech IoT Cloud.

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

Объем выпускной квалификационной работы - 51 страниц, количество иллюстраций - 23, количество таблиц - 1, количество приложений -0, количество использованных источников - 51.

Abstract

This final qualifying paper is devoted to the creation of an interactive software and hardware system to demonstrate the range of applications of cloud technologies in the management of the smart home system. The goal will be implemented on the example of using the Rightech IoT Cloud cloud platform.

During the project, key design principles and modern solutions for creating smart home systems were explored. Based on a comparative analysis of existing tools and technical tools for the implementation of systems, the best methods for developing and designing elements of a software and hardware complex integrated into the cloud were determined.

As a result of the work done, an interactive layout of the “smart home” with the basic management functionality based on the Rightech IoT Cloud was created.

The designed system is designed to be used both as a core for the development of more specific smart home system solutions, and as one of the tools of an integrated training program for specialists in the field of the Internet of Things.

The volume of final qualifying work - 51 pages, the number of illustrations - 23, the number of tables - 1, the number of applications -0, the number of sources used - 51.

Оглавление

Введение

1. Анализ существующих решений систем «умный дом»

1.1 Концептуальные особенности прототипов систем «Умный Дом»

1.2 Анализ структуры систем «умный дом»

2. Облачная платформа Rightech IoT Cloud

3. Разработка сценариев

4. Проектирование и прототипирование 3д-моделей здания

5. Разработка системы умного дома

5.1 Микроконтроллер

5.2 Настройка Raspberry Pi

5.3 Подключение периферии к Raspberry Pi

5.4 Подключение Raspberry Pi к платформе и разработка общего скрипта

5.5 Основные принципы взаимодействия платформы с Raspberry Pi

5.6 Тестирование

Заключение

Список литературы

умный дом облачная платформа

Введение

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

Интеллектуализация здания любого назначения - это существенное повышение комфорта и безопасности [2], экономия трудозатрат и времени, сбережение энергии [3] и семейного бюджета, поэтому рынок систем «умный дом» так стремительно развивается по всему миру. Тем не менее, аналитики данного рынка считают, что к 2020 году количество автоматизированных домохозяйств в России достигнет всего лишь 5%, тогда как в Северной Америке и Европе эта цифра приблизится к отметке 35% и 20% соответственно [4], [5].

Приведенные выше данные, с одной стороны, демонстрируют низкий уровень привлекательности подобных предложений в России, а с другой - свидетельствуют о значительном потенциале развития рынка «умных домов» за счет повышения доступности системы и её популяризации среди жителей России [6].

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

Использование при разработке систем «умный дом» таких преимуществ может благотворно сказаться на динамике развития соответствующего рынка и является актуальной задачей в сфере интернета вещей (Internet of Things - IoT) [7]. IoT представляет собой систему взаимосвязанных вычислительных машин и устройств, которые обладают уникальным идентификатором и способны обмениваться между собой информацией без вмешательства человека.

Целью данного дипломного проекта является разработка и реализация интерактивного макета «умный дом» с системой управления на базе облачной платформы Rightech IoT Cloud [8].

Для достижения поставленной цели необходимо решить следующие задачи:

- Провести исследование существующих решений систем «умный дом».

- Проанализировать возможности облачной платформы Rightech IoT Cloud.

- Разработать сценарии демонстрации функционала Rightech IoT Cloud.

- Спроектировать и разработать аппаратную часть системы «умный дом» в соответствии с разработанными сценариями.

- Произвести информационное проектирование и прототипирование макета системы «умный дом».

- Интегрировать аппаратную часть комплекса с физическим прототипом системы «умный дом».

- Разработать алгоритмы программной части комплекса.

- Разработать программное обеспечение системы «умный дом».

- Протестировать и отладить работу программно-аппаратного комплекса.

Результатом дипломного проекта является демонстрационный интерактивный программно-аппаратный комплекс на базе облачной платформы Rightech IoT Cloud. Макет позволяет продемонстрировать основные функции системы «умный дом» на примере удаленного контроля и управления освещением, вентиляцией, открытием дверей, сигнализацией, датчиками систем безопасности и уровня шума в помещении. Комплекс сопровождается руководством для эксплуатации.

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

1. Анализ существующих решений систем «умный дом»

1.1. Концептуальные особенности прототипов систем «Умный Дом»

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

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

В первых прототипах «умных домов» управление системой осуществлялось через проводной телефон и при помощи удаленного контроллера и персонального компьютера [9]. Данный метод управления имел весьма существенные недостатки. Во-первых, работоспособность системы полностью зависела от телефона. Во-вторых, было невозможно создать и подключить любой клиентский интерфейс, облегчающий взаимодействие с системой.

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

Настоящим прорывом в сфере разработок и внедрения систем «умный дом» оказалось появление концепции Интернета вещей. Благодаря использованию таких форматов, как Wi-Fi [10], Bluetooth [11], RFID [12] значительно возросла скорость передачи и обработки данных с показателей датчиков, создание логики. Управление системой стало более доступным. Тем не менее, разработка и внедрение комплексов в повседневную жизнь все еще требует значительных финансовых затрат, а клиентский интерфейс слишком труднодоступен для понимания большинства пользователей.

К примеру, прототип «умного дома» на основе беспроводной технологии Bluetooth с возможностью удаленного управления системой через мобильное приложение на Android[13] имеет настолько ограниченный радиус связи контроллера и телефона, что фактически взаимодействия пользователя с системой возможно только в пределах самого дома [14]. Стоимость разработки такой системы все еще высока. Управление «умным домом» достаточно сложное для пользователя.

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

Более энергоэффективной и соответствующей современной концепции «умного дома» системой можно назвать решение, реализованное на Arduino Uno[16], нескольких датчиках, клиентском приложении на мобильном телефоне и персональном компьютере [17]. Такое решение позволяет снизить требования к вычислительной мощности компьютера. Кроме того, при желании пользователя можно полностью удалить компьютер из цепочки управления.

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

В работе по созданию системы умного дома на основе микроконтроллера PIC16F84A [18] было предложено удаленное управление системой посредством мобильного приложения, используя напрямую ресурсы микроконтроллера [19]. Основной целью данного исследования является управление электричеством в умном доме и защиты доступа от незарегистрированного пользователя. Чтобы получить доступ к системе пользователю требуется ввести номера выводов, после чего данные сверяются посредством микроконтроллера на совпадения данных на нем и введенных пользователем, затем открывается доступ. Минусом такой системы является высокая сложность ее использования.

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

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

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

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

1.2. Анализ структуры систем «умный дом»

С позиции управления системами «умный дом» можно выделить два основных класса структур автоматических систем управления, применяемых в данной сфере:

· Централизованные

· Децентрализованные

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

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

Для того, чтобы сравнить какой способ проектирования автоматизированных систем возьмем централизованную Crestron [21] и децентрализованную KNX [22].

Crestron направлена на сбор и объединение различных систем в одну единственную с контролем через один микроконтроллер. Наиболее известные микроконтроллеры, применяющиеся в этой системе это RMC3 [23] и СP2E [24]. Их производительность приблизительно равна 257 миллионов операций в секунду (Million instructions per seconds - MIPS) [25]. Преимуществом системы является возможность объединить управление всем комплексом в единый центр. Но, главным недостатком такой системы является то, что при поломке какого либо элемента в системе, или даже выхода из строя одного из датчиков полностью ломается система, приходится ее останавливать и устранять поломку, отключая целиком все остальные модули.

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

Недостатком такой системы является невысокая скорость передачи данных, низкая помехозащищенность, высокая цена.

Таким образом, проанализировав типы автоматизированных систем, было решено, что разрабатываемый программно-аппаратный комплекс должен быть децентрализованным. Помочь убрать недостатки такой системы должна облачная платформа Rightech IoT Cloud.

2. Облачная платформа Rightech IoT Cloud

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

Облачная платформа Rightech IoT Cloud предоставляет набор функциональных возможностей [26]. Данный набор описывает состояние платформы на текущий момент и предоставляет функционал, позволяющий удовлетворять пользовательские требования. Каждая из возможностей подробно описывается ниже.

1. Быстрое подключение различных устройств

Взаимодействие устройств с платформой Rightech IoT Cloud начинается с их подключения. Данный процесс заключается в настройке оборудования при помощи конфигурационных файлов, создании модели, которая содержит в себе параметры и команды подключаемого объекта, и добавлении объекта.

2. Нормализация данных в соответствии с моделями устройств

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

· параметры, значения которых передаются устройствами;

· команды, которые устройства выполняют;

· условия обработки данных, контроля выполнения операций по времени, нахождения объекта в геозоне.

3. Обработка и наращивание данных в режиме реального времени

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

4. Формирование сценариев автоматизации на основе принципа конечных автоматов

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

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

5. Хранение и выгрузка данных

Платформа Rightech IoT Cloud позволяет осуществлять хранение данных. Подключенные устройства отправляют свои данные в платформу для передачи их другим устройствам или внешним сервисам. Для того, чтобы пакеты данных не были потеряны в процессе передачи, они сохраняются в базу данных. При этом в процессе наращивания данных обработанные и “сырые” данные сохраняются параллельно. Стоит учитывать, что в ней задается определенное ограничение по объему сохраняемых данных, которое может регулироваться в зависимости от требований и потребностей пользователя. Однако заданный лимит превышен быть не может.

6. Отображение информации об устройстве

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

7. Быстрая интеграция со сторонними сервисами

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

Из облачной платформы в сторонний сервис может быть выведена следующая информация:

· данные об устройствах и телеметрии;

· статистическая информация;

· состояние исполнения сценариев автоматизации;

· результаты исполнения сценариев автоматизации;

· статическая информация о сущностях системы.

3. Разработка сценариев

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

Для реализации данного функционала были разработаны следующие сценарии:

1. «Проникновение через окно». На окне установлен датчик удара, который отслеживает состояние покоя окна. При фиксации датчиком удара или тряски загорается индикатор, и на облачную платформу передается сигнал о том, что произошел взлом и на каком окне.

2. «Проникновение через дверь». На двери установлен магнитный датчик. При размыкании датчика срабатывает сигнализация, и отправляется информация о том, что произошло открытие двери.

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

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

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

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

7. «Превышении допустимой нормы звука». В комплексе установлен датчик звука, отслеживающий превышение заданного порога звука.

В реализации сценариев в программно-аппаратном комплексе участвуют те же датчики и индикаторы, которые используются в реальных системах. По принципу действия все эти устройства можно разделить на две группы - датчики и актураторы (англ. Actuator [27]).

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

Периферия аппаратной части комплекса:

Датчики:

1. Датчик удара KY-031 [28]. Является замыкающимся при срабатывании переключателем. Его применение в безопасности достаточно широко, но отрицательной стороной является очень высокая чувствительность. Датчик лучше всего применять на статичных или плавно перемещающихся объектах, чтобы минимизировать ложные показания. Задействуется он в сценарии проникновения злоумышленника через окно. Актуатором в данном случае будут являться зуммер (KY-006 или KY-012) или светодиод. На рисунке 1 представлена распиновка датчика.

Рис.1. KY-031.

2. Кнопка KY-004 [29]. В нормальном положении контакты разомкнуты. При нажатии на кнопку - замыкаются, на выходе появляется напряжение низкого уровня. Резистор 10 кОм впаян между контактами «S» и «средний контакт». Ее задача будет заключаться в работе электронного звонка. Также кнопка может быть использована в качестве вызова каких либо-служб или инициатором какого-либо дальнейшего сценария или действия. На рисунке 2 представлена распиновка датчика.

Рис.2. KY-004.

3. Датчик магнитного поля KY-025[30]. Цифоровой датчик с герконом. Замыкается при поднесении к нему магнита. Имеет два светодиода. 1 - светится при подаче питания на сенсор, 2 - светится при при срабатывании датчика.Данный датчик будет участвовать в сценарии открытия запертых дверей. Актуатором в данном случае будут являться зуммер или светодиод. На рисунке 3 представлена распиновка KY-025.

Рис.3. KY-025.

4. Датчик звука KY-037[31]. Модуль содержит микрофон. Реагирует на шаги, щелчки замка и т. д. Превышение порога шума определяется компоратором LM393YD. Настройка порога шума осуществляет потенциометр, расположенный на плате. Задача - отслеживать превышения заданного уровня звука. На рисунке 4 представлена распиновка датчика.

Рис.4. KY-037.

5. Датчик температуры и влажности KY-015[32]. Основные компоненты модуля: датчик температуры и относительной влажности DHT11, светодиод индикации питания, вилка соединителя. В DHT11 есть: емкостной датчик влажности, терморезистор, микроконтроллер. Задача - cбор данных о температуре и влажности в помещении. На рисунке 5 представлена распиновка датчика KY-015.

Рис.5. KY-015.

6. Фоторезистор KY-018[33]. Состоит из фоторезистора и резистора. Сопротивление резистора уменьшается при увеличении интенсивности света и наоборот. Задача - сбор данных об освещенности помещения. На рисунке 6 представлена распиновка датчика.

Рис.6. KY-018.

Актуаторы:

1. Трехцветный светодиод KY-009, KY-016, KY-011[34]. Светодиод KY-009. Содержит два компонента: трехцветный светодиод 5050 full color, штыревой соединитель на 4 контакта. Светодиод на 3 излучателя (красный, зеленый, синий). Могут светиться одновременно или поочередно. Данные светодиоды являются основными показателями выполнения сценариев. Другие светодиоды имеют аналогичную структуру. На рисунке 7 представлена распиновка актуатора.

Рис.7. KY-009.

2. Сервопривод SG92R[35]. Его задача осуществлять различные действия внутри макета, например открывание дверей или окон. Распиновка сервопривода показана на рисунке 8.

Рис.8. SG92R.

3. Пассивный зуммер KY-006[36] и активный зуммер KY-012[37]. Используются для подачи звуковых сигналов. KY-006 создает различные шумы в зависимости от входной частоты. Датчику требуется внешний звуковой генератор. На рисунке 9 представлена распиновка актуатора.

Рис.9. KY-006.

KY-012 - печатная плата с 5-вольтовой пьезосиреной. Для включения звука нужно просто подать питание 5 В на излучатель. На рисунке 10 можно увидеть распиновку активного зуммера.

Рис.10. KY-012.

4. Проектирование и прототипирование 3д-моделей здания

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

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

С учетом вышеописанных параметров создается 3d-модель здания в среде трехмерного моделирования Autodesk 3ds Max 2019 [38].

Данный профессиональный программный пакет предназначен для работы с трехмерной графикой, анимацией и визуализации фотореалистичных изображений. На текущий момент 3ds Max имеет самую обширную библиотеку архитектурных материалов [39], работает с большинством существующих модулей визуализации и располагает оптимальным набором встроенных и интегрируемых плагинов, поэтому считается наиболее подходящим для архитектурного и интерьерного моделирования профессиональным программным обеспечением. Средства 3ds Max позволяют гибко настраивать любые параметры макета.

В 3d-моделировании существует различные технологии создания моделей [40], которые можно разделить на следующие основные типы:

1. «Полигональное моделирование». Основной единицей редактирования и создания объектов является полигон - набор компланарных граней. Такой метод наиболее распространен в современном мире и используется почти во всех сферах, в которых требуется 3d-моделировании. Применяется в для создания сложных объектов, визуализации и низкополигональных моделей для игр. Чаще всего при таком моделировании любые сложные объекты получаются при помощи преобразования в Editable Poly из параметрического объекта Box.

2. «Сплайновое моделирование». Основной единицей является сплайн - линия, заданная двумя координатами. Именно этот метод широко применяется в архитектурном и ландшафтном моделировании.

3. «NURBS - моделирование на основе неоднородных рациональных B-сплайнов». В 3ds Max-е этот метод слишком примитивен, поэтому практически не используется специалистами.

4. «Editable patch - Моделирование на основе поверхностей Безье». Чаще всего используется для моделирования тел вращения.

5. «3d-скульптинг». Имитирование процесса «лепки» модели путем изменения полигональной сетки модели различными инструментами.

6. Твердотельное моделирование - моделирование при помощи Boolean операций. Взаимодействие во время создания модели идет целиком с ее оболочкой, а не поверхностями.

7. «Поверхностное моделирование». Моделирование сложных поверхностей путем деформирования отдельных плоскостей.

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

Первоначально эскизы каждого этажа были помещены в рабочее пространство 3ds max. Затем при помощи сплайнов обведены контуры и основные линии эскиза (внешние стены, проемы окнон и дверей). С помощью модификатора Extrude проработана внешняя часть модели.

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

Рис.1. Основные части макета.

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

Рис.2. Активные части макета.

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

Требуемый размер модели составил 440*280*215 мм. Модель такого размера не может быть напечатана на имеющихся в распоряжении принтерах. Это усложнило прототипирование. Проблема была решена делением крупногабаритных фрагментов модели на квадратные части со стороной 150 мм. Каждый этаж здания разрезался отдельно. В итоге получается 16 частей для печати.

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

Рис.3. Итоговая модель.

5. Разработка системы умного дома

Основными задачами при разработке системы являются:

1. Подключение датчиков к Raspberry Pi [41].

2. Разработка скрипта, в котором будут прописаны все функции датчиков

3. Подключение Raspberry Pi к платформе для обмена данными между ними

4. Проектирование и написание сценариев автоматизации

5. Разработка архитектуры логики автоматизации элементов этой системе и описание основных команд

6. Тестирование и отладка

5.1. Микроконтроллер

Задача микроконтроллера в системе умного дома это обрабатывать поступающую информацию с датчиков и отправлять полученные данные на платформу, а также принимать сообщения от платформы, обрабатывать их и передавать команды актуаторам. Кроме микроконтроллера для выполнения этой задачи подходит и одноплатный компьютер. Самыми популярными микроконтроллерами в сфере систем «умный дом» являются Arduino Uno и Raspberry Pi. Их преимущество заключается в небольшом размере, высокой производительности. Результаты сравнения Arduino Uno и Raspberry Pi 3 по параметрам, требуемым для системы умного дома приведены в табл. 1.

Таблица 1

Устройство

Arduino Uno

Raspberry Pi 3

Многозадачность

-

+

Наличие ОС

+-

+

Wi-Fi

-

802.11/b/g/n

Bluetooth

-

+

Пины

32 (27 GPIO)

40 (27 GPIO)

Оперативная память

1024 МБ

2 КБ

Цена

30$

60$

Размеры

68.6 x 53.4

85.6 x 56.5

Из таблицы 1 следует, что для реализации умного дома подходит и микроконтроллер, и одноплатный компьютер. Но Raspberry Pi 3 обладает всем необходимым функционалом для разработки умного дома без подключения дополнительных модулей. Одноплатный компьютер может решать более трудные задачи в отличие от микроконтроллера, поэтому он наиболее подходит для разработки сложных систем.

По окончанию анализа наиболее популярных решений, для реализации умного дома был выбран Raspberry Pi 3.

5.2. Настройка Raspberry Pi

Для организации беспроводного соединения с Raspberry Pi используется VNC [42] сервер. Передача данных осуществляется по протоколу RFB [43]. Управление компьютером происходит путем передачи нажатий клавиш и ретрансляции экрана через сеть. Данные с одноплатного компьютера будут передаваться через VNC сервер, который устанавливается через командную строку.

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

Чтобы пользователь мог управлять Raspberry Pi, ему необходимо установить на персональный компьютер или мобильное устройство программу VNC-клиент, который позволит соединить два устройства и получить удаленный контроль над одноплатным компьютером. Для выполнения этих задач использовалось приложение VNC Viewer [44], в котором для корректной работы требуется ввести IP-адрес и порт сервера, а также логин и пароль, которые задаются на самом устройстве.

5.3. Подключение периферии к Raspberry Pi

Первыми подключаются датчики, с которых мы получаем информацию. Такими являются датчики: удара KY-031, температуры и влажности KY-015, определения уровня звука KY-037, датчик освещенности - KY-018, кнопка - KY-004, датчик наклона KY-027.

Одной из проблем таких датчиков является потеря работоспособности при транспортировке, поэтому перед подключением датчика к платформе требуется его протестировать. Для тестирования на Raspberry Pi создаются отдельные скрипты под определенный датчик, c помощью которых можно просматривать показания каждого датчика. Эти скрипты остаются на Raspberry Pi, чтобы в случае неполадок с датчиком пользователь мог напрямую обратиться к датчику и проверить его показатели отдельно от всей системы, не прекращая ее работу.

Для примера рассмотрим подключение датчика KY-015. C него на Raspberry Pi будут поступать данные о температуре и влажности в помещении. Подключение осуществляется следующим образом: к контакту VCC подводится питание от Raspberry Pi 3,3 В. Контакт GND соединяется с землей, а выход OUT присоединяется к одному из цифровых пинов GPIO [45]. Датчик можно подключать как напрямую к платформе, так и через беспаячную макетную плату (breadboard) 46], которая упрощает подключение нескольких элементов. На рисунках 4 и 5 представлены монтажная и принципиальная электрическая схемы подключения.

Рис.14. схема подключения KY-015.

Рис.15. Принципиальная электрическая схема подключения KY-015.

Перед разработкой скрипта для корректной работы датчика требуется установить библиотеку Adafruit_python_library. Также нужно убедиться, что система способна компилировать расширения Python, после чего через командную строку установить библиотеку. Чтобы Raspberry Pi мог обмениваться данными через шину i2c, необходимо активировать данную функцию в конфигурациях. Это осуществляется путем редактировании boot.txt добавляя строчку с командой для активации. После выполнения этих действий прописываем скрипт, представленный на рисунке 6.

Рис.16. Скрипт для тестирования KY-015.

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

Примером для актуаторов служит трехцветный индикатор KY-016. Подключается следующим образом, контакт GND соединяется с землей на Raspberry Pi. Контакты синего, зеленого и красного цвета присоединяются к GPIO 4, 5 ,6 соответственно. На рисунках 7 и 8 представлены монтажная и принципиальная электрическая схемы подключения.

Рис.17. Монтажная схема подключения KY-016.

Рис.18. Принципиальная электрическая схема подключения KY-016.

Управлять диодом можно в двух режимах. Просто включение определенного цвета по принципу единицы и нуля, и управление яркостью каждого отдельного цвета при помощи широтно-импульсной модуляции (ШИМ)[47]. Работа ШИП заключается в управлении подачи мощности к нагрузке путем изменения длительности импульса при постоянной частоте следования. В Raspberry Pi используется цифровая модуляция. На рисунках 9 и 10 показаны скрипты для управления диодом, первый без применения ШИМ, а второй с его использованием. Для тестирования датчика достаточно первого варианта скрипта.

Рис.29. Скрипт без ШИМ.

Рис.20. Скрипт без ШИМ.

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

Остальные датчики подключаются по аналогии с описанными выше. Итоговые монтажная и принципиальная электрическая схемы подключения представлены на рисунках 11 и 12 соответственно.

Рис.21. Итоговая монтажная схема.

Рис.22. Итоговая принципиальная электрическая схема.

5.4. Подключение Raspberry Pi к платформе и разработка общего скрипта

Платформа Rightech IoT Cloud предоставляет возможность обмена данными с Raspberry Pi по двум протоколам: Wialon IPS [48] и MQTT[49]. Wialon IPS представляет собой протокол передачи данных для применения в ГЛОНАСС [50] и GPS трекерах, который инкапсулируется в TCP или UDP протоколы. MQTT (англ. message queuing telemetry transport) - это упрощенный протокол передачи данных, который позволяет облегчить передачу телеметрических данных клиентам с ограниченными ресурсами. MQTT очень широко применяется в IoT (Internet of things) и M2M (взаимодействие двух машин).

В системе умного дома обмен данным происходит по протоколу MQTT, так как он наиболее подходит для стабильной работы с беспроводными сетями. Чтобы устройство могло общаться по этому протоколу с клиентом, на него необходимо установить брокер Mosquitto MQTT[51]. В цепочке передачи пакета данных от устройства к клиенту брокер выступает в роли сервера, который перенаправляет пакет от издателя к определенному клиенту. Также его задачами являются установка подключения для обоих сторон, разъединение, публикация информации в топике. Топиком называет адрес, по которому отправляется пакет от издателя. Он имеет древовидную структуру. Если рассматривать на примере умного дома, то он будет выглядеть следующим образом: /smart_home/room/sensor1/humidity. Такой адрес означает следующее: первым идет указание имени подписчика, зачастую это название проекта, далее следует уточнение из какой именно комнаты и какого сенсора поступает информация, а затем уже конкретный требуемый параметр. То есть, например с помощью датчика KY-015 можно считывать два параметра - температуру и влажность, поэтому при публикации следует уточнять, какой именно параметр передается подписчику. Алгоритм работы брокера можно увидеть на рисунке 23.

Рис.23. Алгоритм работы MQTT брокера

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

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

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

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

Рис.24. Cтруктура модели умного дома.

После того, как модель создана, создается программная часть системы. За нее отвечает скрипт, который хранится на Raspberry Pi. Он является основным и при запуске системы постоянно находится в исполнении.

Разрабатывать скрипты для Raspberry Pi можно на таких языках, как Python, Java, C/C++, JavaScript. В разрабатываемой системе умного дома используется Python, так как он более распространен и удобен для разработки скриптов и экспорта их на компьютер.

Скрипт можно разделить на три основных части. Первая - это объявление пинов с присоединенными датчиками и настройка их режима работы. Режима всего два: считывание данных и отправка поступающих на Raspberry Pi команд. Также тут прописывает широтно-импульсная модуляция для управления яркостью диодов и сервоприводом.

Вторая часть - описание подключения к платформе и всех связанных с ним функций. Подключение к платформе описывается на рисунке 14. Тут указываются: объект класса mqtt с ID проекта на платформе, логин и пароль для подключения к объекту, а также хост и порт платформы.

Рис.25. Фрагмент кода с описанием подключения к платформе.

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

Рис.26. Фрагмент кода с описанием подключения к платформе.

Третья часть - непрерывно выполняющийся цикл, в котором c заданной периодичностью происходит отправка данных на платформу. В разработанной системе перерыв между сообщениями равен 5 секундам. Минимальный возможный перерыв 4 секунды по причине того, что некоторые датчики считывают информацию с периодичностью от 2 до 4 секунд. Также в этом цикле прописывается автоматическое подключение к платформе, в случае непредвиденного разъединения.

После включения компьютера скрипт запускается через командную строку и функционирует автономно, пока Raspberry Pi включен. В случае перезагрузки или выключения компьютера его надо запускать снова. Чтобы решить эту проблему, следует настроить автоматический запуск скрипта при включении одноплатного компьютера.

5.5. Основные принципы взаимодействия платформы с Raspberry Pi

Rightech IoT Cloud предоставляет возможность как и ручного, так и автоматизированного управления системной. Все данные выводятся на графическом интерфейсе платформы, который показан на рисунке 16. В нем можно отслеживать состояние системы.

Рис.27. Графический интерфейс Rightech Iot Cloud

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

Автоматизация работы системы заключается в создании циклического сценария, который автоматически следит за системой и выполняет действия в зависимости от проставленных заранее условий. Каждый сценарий прописывается во вкладке «Логика», в систему добавляется и запускается во вкладке «автоматы». На рисунке 16 представлен сценарий взлома через окно. Он имеет циклическую структуру, постоянно отслеживая состояние датчика удара, в случае удара включается звуковой сигнал и начинает мигать красный свет, также отправляются сигналы оператору.

Рис.28. Сценарий с описанием последовательности действий системы при взломе.

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

5.6. Тестирование

Тестирование системы включает в себя 4 уровня:

1. Локальный уровень. Проверяется подключение датчиков, правильность получаемой информации и длительность задержек.

2. Сетевой уровень. Происходит проверка соединения платформы с компьютером, корректности отправляемых данных, правильность получаемых команд и отсутствия коллизии при выполнении нескольких действий одновременно

3. Уровень платформы. Проверяется правильность выполнения логики, ее структура. Кроме этого, проверяется правильность отображения на графическом интерфейсе получаемых данных и отсылки команд на компьютер.

4. Всей системы целиком. Этот этап заключительный. В процессе его проведения проводится тестирование сценариев демонстрации.

Заключение

В ходе выполнения выпускной квалификационной работы был разработан интерактивный программно-аппаратный комплекс для демонстрации функционала облачной платформы Rightech IoT Cloud.

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

Вторым этапом работы стало исследование и анализ функций, предлагаемых облачной платформой Rightech IoT Cloud.

На окончательном этапе выпускной квалификационной работы осуществлена пошаговая разработка самой системы «умный дом»: информационное моделирование и прототипирование, включившие в себя проект и разработку 3д-модели здания, 3д-печать, написание программы для работы и взаимодействия системы с облачной платформой Rightech IoT Cloud, окончательная сборка системы. Проведены тестирование и отладка как компонентов комплекса, так и всей системы в целом.

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

Список литературы

1. What is Smart Home? [Электронныи? ресурс]. - Режим доступа: https://home.bt.com/tech-gadgets/internet/connected-home/what-is-a-smart-home-11364214165664 - (дата обращения: 19.03.19)

2. Kumar, S. Ubiquitous Smart Home System using Android Application.International Journal of Computer Networks & Communications, 2014, 6(1), pp.33-43.

3. Cottone, P., Gaglio, S., Re, G. L., & Ortolani, M. User activity recognition for energy saving in smart homes. Pervasive and Mobile Computing, 2015, 6, pp.156-170.

4. К 2020 году каждый пятый дом в Европе станет умным [Электронныи? ресурс]. - Режим доступа: https://iot.ru/gorodskaya-sreda/k-2020-godu-kazhdyy-pyatyy-dom-v-evrope-stanet-umnym - (дата обращения: 19.03.2019)


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.