- Дипломы
- Курсовые
- Рефераты
- Отчеты по практике
- Диссертации
Разработка системы «Интернета вещей» на основе чат-бота
Внимание: Акция! Курсовая работа, Реферат или Отчет по практике за 10 рублей!
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Код работы: | W012917 |
Тема: | Разработка системы «Интернета вещей» на основе чат-бота |
Содержание
Министерство образования и науки Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования «Уральский федеральный университет имени первого Президента России Б.Н.Ельцина» Нижнетагильский технологический институт (филиал) Кафедра информационных технологий ДОПУСТИТЬ К ЗАЩИТЕ _______________________ «____» ______________2018 г. Зам. директора по ОиН Миронова М.В. Разработка системы «Интернета вещей» на основе чат-бота выпускная квалификационная работа ПОЯСНИТЕЛЬНАЯ ЗАПИСКА 090302 60301101 001 ПЗ Руководитель ктн, доц., доцент каф. ИТ Иваницкий С. В. Консультант по экономике ктн, доц., доцент каф. ИТ Иваницкий С. В. Консультант по правовому обеспечению в сфере информационных технологий старший преподаватель каф. ИТ Карелова Р. А. Нормоконтролер старший преподаватель каф. ИТ Манакова И. П. Студент гр. ТВ-533901-НТ ИСТ Бузунов И. А. 2018 СТРАНИЦА С ЗАДАНИЕМ 2 РЕФЕРАТ Пояснительная записка содержит 63 страницы, 23 рисунка, 2 таблицы, 6 формул, 26 библиографических источников. Ключевые слова: «Интернет вещей», Internet of Things (IoT), «умный дом», система мгновенного обмена сообщениями, мессенджер, чат-бот, бот, API, MQTT, голосовое управление. Объектом исследования работы является создание системы «Интернета вещей». Предмет исследования заключается в применении системы мгновенно-го обмена сообщениями для управления и получения данных от устройств «Интернета вещей». Цель работы – разработать систему удаленного взаимодействия поль-зователя с устройствами, позволяющую управлять включением бытовой тех-ники и возможностью отслеживать состояние среды в помещении. В данной работе проведен анализ концепции создания «Интернета ве-щей», рассмотрены некоторые из существующих решений. В работе пред-ставлен процесс проектирования и разработки системы, в основе управления которой программное обеспечение в виде чат-бота, а взаимодействие с поль-зователем происходит в приложении системы мгновенного обмена сообще-ний – мессенджере. Устройствами в составе разработанной системы «Интер-нета вещей» являются сенсоры и «умные» розетки. Практическая значимость работы заключается в том, что разработанная система будет использоваться для удаленного управления устройствами и способствует увеличению комфорта жизни человека. Теоретическая значимость работы в том, что на основе представленной в проекте системы возможно проектировать и создавать схожие подобные решения с самым разнообразным функционалом. 3 СОДЕРЖАНИЕ Реферат 3 Введение 6 1. Техническое задание 8 1.1. Общее описание системы 8 1.2. Состав и требования к системе 8 2. Теоретическая часть 12 2.1. Рассмотрение концептуальных моделей архитектуры «интернета вещей» 12 2.1.1. Эталонная модель международного союза электросвязи ITU-T Y.2060 12 2.1.2. Эталонная модель всемирного форума «интернета вещей» 14 2.2. Особенности протокола MQTT 16 3. Аналитическая часть 19 3.1. Обзор и анализ существующих платформ и реализаций 19 3.2. Проектирование архитектуры системы 22 3.3. Выбор средств разработки 24 3.4. Функциональная модель системы 28 3.5. Проектирование базы данных 29 3.6. Взаимодействие пользователя с системой 33 4. Практическая часть 37 4.1. Разработка программного обеспечения микроконтроллеров 37 4.2. Разработка базы данных и функционала взаимодействия с микроконтроллерами 38 4.3. Разработка чат-бота 40 3.4 Разработка функционала голосового управления 44 5. Оценка экономических последствий внедрения системы «интернета вещей» на основе чат-бота 45 5.1. Резюме 45 4 5.2. Оценка экономического эффекта проекта 45 5.3. Гарантии исполнения проекта и риски 48 5.4. Выводы 48 5. Правовое обеспечение выпускной квалификационной работы 49 5.1. Авторское право в сфере информационных технологий 49 5.2. Разрабатываемый программный продукт как объект авторского права 51 5.3. Инструментарий технологий разработки как объект авторского права 51 Заключение 54 Список использованных источников 55 Приложение A 58 Приложение Б 60 Приложение В 61 5 ВВЕДЕНИЕ В настоящее время создаются вычислительные сети, элементами кото-рых являются не только компьютеры или какие-либо вычислительные устройства, а также предметы и вещи со встроенными технологиями для вза-имодействия друг с другом и с внешней средой, данная концепция получила название «Интернет вещей». Одно из направлений развития концепции явля-ется создание систем удаленного управления освещением и бытовой техни-кой, мониторинга среды в помещении, такие системы принято называть «ум-ный дом». Многие подобные системы сталкиваются с проблемами совмести-мости устройств различных производителей, также требуется установка до-полнительного программного обеспечения, которое часто предоставляется на платной основе. Данная работа во многом решает проблему совместимости за счет при-менения «умных» розеток, так же не требуется установка и покупка специ-ального программного обеспечения, достаточно наличия приложения мес-сенджера, которое уже наверняка установлено у пользователя. В работе представлено решение на основе системы мгновенного обме-на сообщениями (мессенджера), и специального API – позволяющего созда-вать внутри системы подпрограммы, так называемые чат-боты. Боты пред-ставляют собой аккаунты управляемые программным обеспечением, могут интегрироваться с другими службами, передавать команды другим сервисам, напоминать пользователям о чем-либо, обладать функциями искусственного интеллекта. Для взаимодействий с системой пользователю достаточно подключить-ся к боту, создав с ним чат, зарегистрироваться или авторизоваться в системе, после чего будет доступен функционал управления устройствами. Объектом исследования работы является создание системы «Интернета вещей». 6 Предмет исследования заключается в применении системы мгновенно-го обмена сообщениями для управления и получения данных от устройств «Интернета вещей». Цель работы – разработать систему удаленного взаимодействия поль-зователя с устройствами, позволяющую управлять включением бытовой тех-ники и возможностью отслеживать состояние среды в помещении. Для достижения поставленной цели были определены следующие зада- чи: ? исследовать архитектурные модели, позволяющие реализовать кон-цепцию «Интернета вещей»; ? провести анализ существующих продуктов и решений; ? спроектировать программно-аппаратную архитектуру системы со-гласно требованиям технического задания и рассмотреть ее состав-ные части; ? реализовать прототип системы «Интернета вещей»; ? оценить экономические последствия создания системы; ? рассмотреть правовые аспекты разработки и использования системы. Практическая значимость работы заключается в том, что разработанная система будет использоваться для удаленного управления устройствами и способствует увеличению комфорта жизни человека. Теоретическая значимость работы в том, что на основе представленной в проекте системы возможно проектировать и создавать схожие подобные решения с самым разнообразным функционалом. Теоретическим базисом для написания работы послужили публикации: Интернет вещей: сетевая архитектура и архитектура безопасности [5]; Про-токол MQTT. Особенности, варианты применения, основные процедуры MQTT Protocol [6]; Платформа Интернета вещей [7]. 7 1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ В техническом задании отражены назначение, требования к системе, а также ее состав и функционал. 1.1. ОБЩЕЕ ОПИСАНИЕ СИСТЕМЫ Разрабатываемая система «Интернета вещей» (IoT) предназначена для дистанционного управления и мониторинга среды внутри помещения, созда-ния комфортных условий для человека. Архитектурная модель системы должна основываться на общепринятых стандартах и рекомендациях таких как: МСЭ-Т рекомендация Y.2060 (ITU-T Y.2060 «Overview of the Internet of things»), эталонная модель всемирного форума IoT (IoT World Forum, IWF). Система должна иметь отдельные управляемые модули. Модуль дол-жен представлять из себя программируемый микроконтроллер с поддержкой Wi-Fi. К микроконтроллеру, в свою очередь, должны быть подключены устройства в виде датчиков и реле. Датчики предназначены для анализа со-стояния различных показателей в помещении, таких как температура, отно-сительная влажность, состояние закрытия и открытия дверей и окон, наличие движений и перемещений в пространстве помещения. Реле же должны нахо-диться в составе «умных» розеток, к которым должна быть возможность под-ключать бытовую технику и различное оборудование, например: светильник, кондиционер, обогреватель, холодильник и т. п. Пользователь при взаимо-действии с системой должен использовать функционал чат-бота, в котором должно быть реализовано кнопочное и голосовое управление. Также должен быть реализован функционал определяющий права доступа пользователей к устройствам. 1.2. СОСТАВ И ТРЕБОВАНИЯ К СИСТЕМЕ Система содержит аппаратные и программные компоненты. К аппарат-ным компонентам следует отнести: 8 ? устройства пользователей с установленным приложением мессен-джера, такие как смартфоны, персональные компьютеры, планшеты и др.; ? серверная часть, на которой распложены основные программные компоненты системы, среди них: программное обеспечение чат-бота, база данных, специальное программное обеспечение для ра-боты с сетевым протоколом; ? сторонняя северная часть, сюда следует отнести сервера системы обмена мгновенными сообщениями, сервис по распознаванию речи; ? оборудование интернет-шлюза с точкой доступа Wi-Fi, например роутер; ? программируемые микроконтроллеры с поддержкой Wi-Fi; ? устройства – розетки и датчики, подключаемые к микроконтролле-рам; ? оборудование – осветительные приборы и бытовая техника пользо- вателя, которая подключена к устройствам (в данном случае, в ка-честве устройств подразумеваются «умные» розетки). К программным компонентам следует отнести: ? программное обеспечение чат-бота функционирующее на сервере; ? база данных – хранит и обновляет информацию о пользователях си-стемы, микроконтроллерах, подключенных устройствах, данные о состояниях устройств, показания датчиков, текст голосовых ко-манд; ? программное обеспечение для работы с сетевым протоколом MQTT; ? программное обеспечение микроконтроллеров, обеспечивающее взаимодействия системы с устройствами «Интернета вещей». Функциональные требования к системе: ? регистрация пользователей; 9 ? авторизация пользователей; ? подключение пользователем модулей (микроконтроллеров с устройствами) к системе; ? удаление пользователем модулей; ? при добавлении модуля, для имеющихся в его составе устройств, пользователь должен иметь возможность задавать имена устрой-ствам; ? отправка пользователем команд, и их исполнение в виде включения и выключения «умных» розеток; ? отправка пользователем команд на получение данных от датчиков; ? предоставление права доступа к модулю владельцем модуля друго-му пользователю, без права внесения каких-либо изменений; ? отмена владельцем модуля предоставления права доступа к модулю другому пользователю; ? настройка, запуск и остановка сценария установления температурой воздуха, необходимо наличие подключенных и добавленных в си-стему устройств обогрева, охлаждения и датчика температуры; ? запуск и остановка сценария оповещений пользователя с датчиков открытия двери или окна, необходимо наличие подключенных к си-стеме устройств в виде датчиков Холла или герконов; ? запуск и остановка сценария оповещений пользователя с датчиков движения, необходимо наличие подключенных к системе устройств в виде инфракрасных датчиков движения; ? должна быть реализована возможность голосового управления устройствами; ? пользователь должен иметь возможность создавать и удалять свои голосовые команды для управления устройствами. Нефункциональные (технические) требования к системе: 10 ? разработка системы интернета вещей должна основываться на воз-можностях систем обмена сообщениями, таких как WhatsUp, Tele-gram, Viber. При разработке следует использовать один из про-граммых интерфейсов для создания ботов; ? система должна обладать непрерывной работоспособностью; ? система требует наличия интернет соединения; ? в качестве постоянного хранилища данных система должна исполь-зовать базу данных с информацией о пользователях, микроконтрол-лерах, устройствах, данные с устройств, текст голосовых команд; ? масштабируемость системы при добавлении новых пользователей и микроконтроллеров должна обеспечиваться возможностями сервера с функционирующим программным обеспечением чат-бота, а также системой обмена мгновенными сообщениями; ? удобство использования с точки зрения пользователя должно обес-печиваться взаимодействием пользователя с ботом через чат содер-жащий кнопки, поддержка голосового управления должна осу-ществляться при помощи сторонних средств и сервисов по распо-знаванию речи, которые необходимо встроить в программную структуру чат-бота. ? время отклика системы «Интернета вещей» на запрос пользователя следует предусмотреть не более пяти секунд; ? безопасность авторизации и регистрации пользователей предусмат-ривается системой обмена сообщениями по номеру телефона, поль-зователю на основе телефонного номера становятся доступны мик-роконтроллеры и подключенные к ним устройства; ? безопасность сервера и базы данных обеспечивается парольной за-щитой; ? для безопасности передаваемых данных следует использовать алго-ритмы шифрования. 11 2. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ В данной главе рассматриваются концепции создания сети «Интернета вещей». Также представлено общее описание и принципы работы протокола MQTT, оценка возможности применения для реализации проекта выпускной работы. 2.1. РАССМОТРЕНИЕ КОНЦЕПТУАЛЬНЫХ МОДЕЛЕЙ АРХИТЕКТУРЫ «ИНТЕРНЕТА ВЕЩЕЙ» В настоящее время ведется разработка международных стандартов для типовой архитектуры IoT, в частности с 2015 года идет работа по созданию стандарта ISO/IEC 30141 «Internet of Things Reference Architecture (IoT-RA)», также с 2014 года разработкой стандартов занимается IEEE Working Group P2413 и ISO/IEC «Working Group on Internet of Things (WG10)». Существует ряд принятых стандартов и правил, к ним следует отнести стандарт Международного союза электросвязи ITU-T Y.2060 «Overview of the Internet of things» и эталонная модель принятая на Всемирном форуме ин-тернета вещей (IoT World Forum, IWF). Необходимость стандартизации объ-ясняется зрелостью технологии и возможностями ее массового внедрения. 2.1.1. ЭТАЛОННАЯ МОДЕЛЬ МЕЖДУНАРОДНОГО СОЮЗА ЭЛЕКТРОСВЯЗИ ITU-T Y.2060 Стандарт ITU-T Y.2060 «Overview of the Internet of things» (ITU-T Y.2060 «Обзор Интернета вещей») описывает фундаментальные основы и концепцию архитектуры интернета вещей, согласно которой типовая архи-тектура включает четыре уровня [5]: ? уровень устройства (device layer); ? уровень сети (network layer); ? уровень поддержки услуг и поддержки приложений (service support and application support layer); ? уровень приложения (application layer). 12 На рисунке 2.1 представлена типовая модель архитектуры IoT по ITU-T Y.2060. Рисунок 2.1 – Типовая модель архитектуры «Интернета вещей» стандарт ITU-T Y.2060 Возможности устройства определяются физическими вещами, которые могут быть идентифицированы и интегрированы в сети связи, это могут быть устройства по сбору данных, какие-либо сенсоры, исполнительные устрой-ства. Возможности шлюза определяются поддержкой различных технологий доступа к устройствам, позволяя устройствам обмениваться данными друг с другом и с сетью (интернет или корпоративная сеть). Такие схемы доступа могут, например, включать поддержку беспроводных технологий передачи данных ZigBee, Bluetooth и Wi-Fi. К возможностям сети относятся взаимодействия устройств и шлюзов. Транспортные возможности (возможности трафика) относятся к транспорту 13 информации служб и приложений IoT. В общих чертах уровень сети соответ-ствует сетевому и транспортному уровням сетевой модели OSI. Уровень поддержки услуг и поддержки приложений предоставляет возможности, которые используются приложениями. Например, сюда можно отнести общую обработку и управление данными из баз данных. Уровень приложения состоит из всех приложений, взаимодействующих с IoT-устройствами. Возможности управления охватывают традиционные функции управ-ления сетью, такие как: управление неисправностями, управление конфигу-рацией, управление учетом, управление показателями работы и управление безопасностью. Возможности обеспечения безопасности включают в себя общие воз-можности обеспечения безопасности, такие как: авторизация, аутентифика-ция, защита конфиденциальности и целостности данных приложения, защита неприкосновенности частной жизни, аудит безопасности и антивирусная за-щита. Специализированные возможности обеспечения безопасности тесно связаны с требованиями приложений, например, требованиями безопасности мобильных платежей. 2.1.2. ЭТАЛОННАЯ МОДЕЛЬ ВСЕМИРНОГО ФОРУМА «ИНТЕРНЕТА ВЕЩЕЙ» Другая общепризнанная типовая модель для архитектуры «Интернета вещей» была представлена на Всемирном форуме интернета вещей (IoT World Forum, IWF). Эта эталонная модель является дополненной, в сравне-нии с моделью ITU-T Y.2060. Предложена семиуровневая модель, представ-лена на рисунке 2.2. Первый уровень включает физические устройства и контроллеры, ко-торые могут управлять несколькими устройствами. Этот уровень можно со-отнести с уровнем устройства в модели ITU-T Y.2060. 14 Рисунок 2.2 – Типовая модель архитектуры Всемирного форума IoT Второй уровень модели IWF соответствует уровню сети в модели ITU-T Y.2060. Главное различие в том, что модель IWF относит шлюзы к уровню 2, в то время как в модели ITU-T Y.2060 они относятся к уровню устройства. На третьем уровне происходят граничные или «туманные вычисления», которые позволяют фильтровать данные возникшие вследствие деятельности тысяч или миллионов «умных» устройств. Термин «туманные вычисления» выбран потому, что туман стелется по земле, в то время как «облака» нахо-дятся высоко в небе. На четвертом уровне происходит накопление данных полученных от объектов интернета вещей. Пятый уровень предназначен для абстрагирования данных, что обеспе-чивает более эффективный и управляемый доступ приложениям. Шестой уровень содержит приложения любого типа, использующие данные IoT на входе или управляющие IoT-устройствами. 15 Седьмой уровень рассматривает IoT как возможность и результат по-лезного взаимодействия с человеком. Сюда можно отнести возможности уча-стия IoT в бизнес-процессах и другой деятельности людей. 2.2. ОСОБЕННОСТИ ПРОТОКОЛА MQTT Согласно техническому заданию для обмена данными следует исполь-зовать сетевой протокол MQTT . Протокол MQTT – Message Queuing Telemetry Transport – протокол для передачи последовательности сообщений с телеметрическими данными, то есть информации от датчиков температуры, влажности, освещенности и дру-гое [6]. Впервые протокол MQTT был представлен консорциумом OASIS (Or-ganization for the Advancement of Structured Information Standards) в октябре 2014 г. В июне 2016 г. стандарт был признан Международной организацией по стандартизации (ISO). MQTT Version 3.1.1 был зарегистрирован техниче-ским комитетом по информационным технологиям ISO (JTC1) под номером ISO/IEC 20922. Основные черты протокола MQTT: ? обмен сообщениями происходит по принципу «издатель- подписчик» (Pub-Sub); ? размер заголовка сообщения составляет 2 байта, а полезная нагруз-ка может варьироваться от 1 байта до 260 Мбайт; ? в протоколе заложена возможность выбора одного из трех уровней обслуживания. Издатель и подписчик не передают друг другу сообщения напрямую, не устанавливают прямой контакт, могут не знать о существовании друг дру-га. Координирует и управляет передачей сообщений от издателя к подписчи-ку и от подписчика к издателю брокер (Broker). 16 Брокер является основным элементом системы «издатель-подписчик». Он отвечает за прием всех сообщений, их фильтрацию, принятие решения о том, кому интересны эти сообщения, и, в конечном итоге, за пересылку со-общений всем клиентам-подписчикам. MQTT-клиент – это устройство, оснащенное микроконтроллером, под-держивающим стек TCP/IP. Клиентские библиотеки MQTT доступны для большого числа языков программирования, например Arduino, C, C++, C#, Go, Java, JavaScript и других. Среди серверных реализаций брокера можно выделить IBM WebSphere MQ; открытое ПО Mosquitto; решение, основанное на облачном сервисе Eurotech Everywhere Device Cloud; легко масштабируемый и высокопроизво-дительный открытый сервер emqttd, HiveMQ. Упрощенный процесс обмена информацией представлен на рисунке 2.3. Рисунок 2.3 – Принцип «издатель-подписчик» Упрощенный процесс обмена информацией можно описать следующим образом: 17 1. Издатель передает сообщение с данными (например, информация с датчиков температуры) на брокер, указывая при этом тему (Topic), к которой эти данные относятся (например, «Temp»). 2. Брокер анализирует, какие из подписчиков имеют подписку на опре-деленные темы, в данном случае – на тему «Temp». 3. Подписчикам, которые подписаны на тему «Temp», брокером будет отправлено сообщение с информацией от датчиков температуры. На основе рассмотренных особенностей использования протокола MQTT можно заключить, что он оптимально подходит для реализации про-екта по созданию «Интернета вещей». 18 3. АНАЛИТИЧЕСКАЯ ЧАСТЬ В данной главе представлен обзор и анализ существующих решений в области «Интернета вещей», описан ход проектирования системы согласно техническому заданию, выбор средств разработки. Также представлено опи- сание элементов проектируемой системы. Кроме того в главе описана функ-циональная модель системы в соответствии с правилами нотации IDEF0, раз-работана структура базы данных, описан цикл взаимодействий пользователя с чат-ботом. 3.1. ОБЗОР И АНАЛИЗ СУЩЕСТВУЮЩИХ ПЛАТФОРМ И РЕАЛИЗАЦИЙ При выборе для обзора и анализа существующих реализаций «Интер-нета вещей» следует учитывать специфику деятельности, в которой исполь-зуются предлагаемые системы. В настоящее время существуют сотни систем и решений «Интернета вещей» для различных областей деятельности чело-века. Согласно техническому заданию, из всего множества существующих сейчас реализаций предпочтение следует отдать платформам и решениям, специализирующимся на возможности создания «умного» дома. Система NooLite – набор для простой и быстрой установки беспровод-ной системы управления освещением и электроприборами. На рисунке 3.1 представлен состав набора. Основная особенность системы NooLite заключается в наличии беспро-водных пультов-выключателей для управления силовыми блоками 220 В. Система представляет собой локальную беспроводную сеть связываемую Ethernet-шлюзом. Есть возможность управления через веб-интерфейс и при-ложение со смартфона или планшета. Следует отметить, что система не явля-ется платформой «Интернета вещей», не предусматривает удаленного досту-па через интернет, так же нет голосового управления. 19 Рисунок 3.1 – Набор системы NooLite Комплект Xiaomi Smart Home Security Kit представлен на рисунке 3.2. Комплект состоит из беспроводных Bluetooth датчиков, подключающихся к шлюзу поддерживающему Bluetooth и Wi-Fi. Рисунок 3.2 – Комплект Xiaomi Smart Home Security Kit 20 Комплект Xiaomi также нельзя отнести к платформе «Интернета ве-щей», данный комплект предназначен для решения вопросов безопасности и представляет собой локальный модуль, поддерживаются устройства только производителя Xiaomi. Для взаимодействия с устройствами пользователю необходимо установить специальное приложение для смартфона. Система домашней автоматизации Home Assistant. Данную систему можно отнести к полноценной платформе «Интернета вещей». Система уста-навливается в виде отдельного программного обеспечения, имеет большой функционал, поддерживает множество технологий в области IoT. Пользова-телю предлагается самостоятельно настраивать и подключать устройства к системе, что требует определенных навыков и компетенции в области ин-формационных технологий. Настройка и управление осуществляется при по-мощи веб-интерфейса. К недостаткам можно отнести отсутствие русифика-ции. Продукты iRidium mobile. Компания предлагает пользователю с помо-щью специальных средств спроектировать удобную для себя систему «Ин-тернета вещей», в том числе предлагается возможность разработать пользо-вательский интерфейс, после чего приобретается лицензия и производится установка системы специальным интегратором либо пользователем самосто-ятельно. Продукты компании так же поддерживают множество технологий в области IoT. Рассмотрим преимущества и недостатки представленных решений в таблице 3.1. Таблица 3.1 – Сравнительный анализ решений в области IoT Характеристики Поддержка обо- Простота Поддержка Система IoT рудования раз- Удобство экс- внедрения си- голосового личных произво- плуатации стемы управления дителей Система NooLite +/- +/- + - 21 Продолжение таблицы 3.1. Комплект Xiaomi Smart Home Security - + + - Kit Система Home + +/- + + Assistant Продукты iRidium + - + + mobile На основе проведенного анализа можно сделать вывод, что разрабаты-ваемая система должна иметь возможность подключения различного обору-дования, обладать простотой внедрения и эксплуатации, иметь возможности голосового управления. 3.2. ПРОЕКТИРОВАНИЕ АРХИТЕКТУРЫ СИСТЕМЫ На основе технического задания и рассмотренных концептуальных моделей «Интернета вещей» была разработана схема системы с отображени-ем потоков данных в ней, рисунок 3.3. В схеме следует выделить следующие составные элементы: ? оборудование и бытовая техника – принимает управляющие сигналы от устройств, в данном случае от «умных» розеток; ? устройства – к ним отнесены «умные» розетки и сенсоры, к розеткам подключено оборудования и бытовая техника, сенсоры обеспечива-ют сбор различных параметров о текущем состоянии в помещении; ? микроконтроллеры – предназначены для управления подключенны-ми к ним устройствами, к каждому микроконтроллеру может быть подключено несколько устройств, в составе микроконтроллер имеет Wi-Fi модуль для связи с интернет-шлюзом; ? MQTT сервер (брокер) – связующее звено между микроконтролле-рами и программным обеспечением чат-бота, организует потоки данных по протоколу MQTT; 22 Рисунок 3.3 – Схема архитектуры системы ? сервер баз данных – обеспечивает хранение данных о пользователях, микроконтроллерах, устройствах, данные с датчиков, голосовые ко-манды и другую необходимую информацию; ? сервис распознавания речи – сервис, позволяющий преобразовывать речевую информацию в текст; 23 ? программное обеспечение чат-бота – определяет основную логику и функционал работы системы, включает пользовательский интерфейс бота, программные компоненты для обеспечения взаимодействия между MQTT сервером, базой данных, сервисом распознавания речи; ? пользователи – непосредственные участники, использующие мессен-джер и взаимодействующие с ботом и системой. Следующим этапом проектирования системы следует определит сред-ства разработки. 3.3. ВЫБОР СРЕДСТВ РАЗРАБОТКИ В качестве микроконтроллеров для подключения устройств «Интернета вещей» выбраны модули Esp8266 NodeMcu v3 (ESP-12E) (рисунок 3.4). Рисунок 3.4 – плата модуля Esp8266 NodeMcu v3 Основные характеристики модуля NodeMcu v3 [9]: ? поддержка Wi-Fi протоколов 802.11 b/g/n; ? Wi-Fi Direct (P2P), soft-AP; ? встроенный стек TCP/IP; ? встроенный TR переключатель, balun, LNA, усилитель мощности и соответствие сети; ? встроенный PLL, регуляторы, и система управления питанием; ? выходная мощность +20.5 дБм в режиме 802.11b; 24 ? поддержка диверсити антенн; ? SDIO 2.0, SPI, UART; ? STBC, 1?1 MIMO, 2?1 MIMO; ? A-MPDU & A-MSDU aggregation & 0.4?s guard interval; ? пробуждение и отправка пакетов за время до 22 мс; ? Номинальное напряжение: 3,3 В; ? Входное напряжение: 3,7–20 В; ? Максимальный потребляемый ток: 220 мА. Для разработки программного обеспечения модуля выбрана среда раз-работки Arduino IDE (рисунок 3.5). В качестве основы для разработки в дан-ной среде используется язык С++. Рисунок 3.5 – Arduino IDE В качестве системы управления данными (СУБД) выбрана MariaDB, которая в настоящее время наиболее активно развивается, а также имеет ряд преимуществ в сравнении с MySQL. 25 Для создания, просмотра и редактирования таблиц базы данных выбра-но приложение HeidiSQL, которое позволяет просматривать и редактировать данные, создавать и изменять таблицы, представления и многое другое (ри-сунок 3.6). HeidiSQL также предоставляет возможность экспортировать структуры и данные в SQL-файлы, буфер обмена или переносить на другие сервера. Рисунок 3.6 – HeidiSQL Для обмена данными между чат-ботом и микроконтроллерами выбран MQTT сервер Eclipse Mosquitto. Данный MQTT сервер (брокер) в полной ме-ре поддерживает все возможности протокола MQTT. В качестве сервиса распознавания речи выбран Yandex SpeechKit Cloud, который представляет собой интерфейс программирования, что поз- волит использовать его в составе чат-бота. Также необходимо определить используемый программный интерфейс для разработки чат-бот. Среди наиболее популярных мессенджеров, позво-ляющих создавать ботов, возможностями создания кнопочного интерфейса обладают Viber и Telegram. Преимуществом Telegram является наличие ин- 26 лайн режима, дающего возможность создавать кнопки внутри чата, поэтому в качестве программного интерфейса предпочтение отдано Telegram Bot API. В качестве среды разработки чат-бота выбрана интегрированная среда разработки PyCharm предназначенная для программирования на языке Py-thon (рисунок 3.7). Данный язык представляется наиболее привлекательным, так как его акцент сосредоточен на производительности разработчика и чита-емости кода. Рисунок 3.7 – PyCharm IDE Кроме того для Python существует ряд библиотек необходимых для осуществления взаимодействий в рамках системы «Интернета вещей», среди них библиотеки позволяющие работать с базами данных и протоколом MQTT. 27 3.4. ФУНКЦИОНАЛЬНАЯ МОДЕЛЬ СИСТЕМЫ Следующим этапом при проектировании была разработана функцио-нальная модель IDEF0. Контекстная диаграмма дает представление о взаимо-действии системы с окружающим миром, а ее функциональная декомпозиция дает представление о процессах внутри системы. На рисунке 3.8 представлена контекстная диаграмма IDEF0 для разра-батываемой системы «Интернета вещей». Рисунок 3.8 – Контекстная диаграмма На входе система получает номер телефона и команду пользователя, на выходе, в виде результата работы системы, получаем какое-либо действие в виде исполнения команды, например включения освещения или получения данных с датчиков, пользователь получает сообщение, так же делается за-пись в базу данных. В качества механизмов, обеспечивающих функциониро-вание системы можно определить программное обеспечение чат-бота и мик-роконтроллеров, а также сами микроконтроллеры и подключенные к ним устройства. Информация о работе системы определяется базой данных. На рисунке 3.9 представлена декомпозиция диаграммы, позволяющая видеть функциональные зависимости внутри системы. 28 Рисунок 3.9 – Диаграмма декомпозиции Функциональный блок авторизации и регистрации пользователя, а также блок обработки команды обеспечивается средствами чат-бота и руко-водствуется записями в базе данных. Исполнение команды выполняется мик-роконтроллером и подключенными к нему устройствами. 3.5. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ На основе схемы архитектуры системы, функциональной модели IDEF0 и требований технического задания была спроектирована база данных. Структура базы данных должна отвечать требованиям нормализации, каждое поле сущности должно храниться один-единственный раз, поскольку дубли-рование может привести к несогласованности между копиями одной и той же информации. Следует избегать любых неоднозначностей, а также избыточ-ности хранимой информации. В ходе проведенного анализа были выделены следующие сущности: 1. Пользователи (Номер телефона, Telegram_id, Дата создания). 2. Контроллеры (КонтроллерId, Код активации, Инфо, Дата активации). 29 3. Пользователи_Контроллеры (Номер телефона, КонтроллерId, Права). 4. Данные устройств (Топик (тема), КонтроллерId, Псевдоним топика, Тип устройства, Единицы измерения, Значение величины, Режим климата, Режим уведомлений, Время последнего обновления) 5. Голосовые команды (КомандаId, Топик, Тип команды, Текст коман- ды). Определив необходимые таблицы для сущностей нужно было устано-вить связи между ними для функционирования базы данных. Между сущно-стями «Пользователи» и «Контроллеры» определяется связь многие-ко-многим за счет таблицы «Пользователи_Контроллеры», от сущности «Кон-троллеры» по нисходящей до сущности «Голосовые команды» определяются связи один-ко-многим. На основе определенных сущностей возможно спроектировать струк-туру базы данных в виде ER-диаграммы (рисунок 3.10). Следует пояснить назначение полей каждой из таблиц: ? «Номер телефона» (phone) – поле для хранения номера телефона пользователя, являе....................... |
Для получения полной версии работы нажмите на кнопку "Узнать цену"
Узнать цену | Каталог работ |
Похожие работы: