Разработка системы, которая определяет и настраивает устройства умного дома на основе протокола ZigBee
Анализ стандартизации технических параметров в протоколе ZigBee. Разработка клиент-серверной структуры. Исследование сетей, построенных на Wi-Fi, Bluetooth и иных радио-протоколах. Характеристика языков программирования. Проведение тестирования системы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 06.10.2017 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Оглавление
Введение
1. Исследовательская часть
1.1 Анализ заинтересованных сторон
2. Конструкторская часть
2.1 Анализ протокола ZigBee
2.2 Анализ существующих аналогов
2.3 Языки программирования
2.4 Выбор технологий
2.5 Компоненты и функции системы
3. Технологическая часть
3.1 Используемые средства
3.2 Процесс получения бинарной сборки системы
3.3 Тестирование
Выводы
Аннотация
Приложение
Введение
Умный Дом (англ. Smart Home) - общее название для технологий, позволяющих автоматизировать устройства находящиеся в доме, обеспечить комфорт всем его обитателям и организовать ресурсосбережение.
Рисунок 1 - Проблематика
Но при работе с устройствами возникает проблема конфигурации и обнаружения устройств. Решение этой проблемы будет рассмотрено в данной курсовой работе.
В целях повышения комфорта пользователя и создается система обнаружения и настройки ZigBee-устройств. Данная система самостоятельно обнаружит и настроит умные устройства пользователя.
1. Исследовательская часть
1.1 Анализ заинтересованных сторон
Для разрабатываемой системы был проведен анализ заинтересованных сторон и были выявлены стороны, изображенные на диаграмме заинтересованных сторон (рисунок 2).
На данной диаграмме систематизированы лица, имеющие непосредственное отношение к системе. В первом круге - круге «Система», изображены стороны, наиболее тесно связанные с системой.
На втором круге изображены стороны каким-либо образом поддерживающие работоспособность системы.
На третьем круге изображены стороны, которые могут повлиять на систему.
Рисунок 2 - Диаграмма заинтересованных лиц и систем
Для выявленных заинтересованных сторон были подобраны их представители, и была составлена диаграмма «Люди и заинтересованные лица» изображенная на рисунке 3.
У каждой из заинтересованных сторон есть свои собственные интересы, которые они хотят достичь, используя разрабатываемую систему. Все цели и их связь с заинтересованными лицами изображены на рисунке 3.
Рисунок 3 - Диаграмма «Заинтересованные лица и их представители»
Рисунок 3 - Диаграмма заинтересованных лиц и их целей
Далее перед началом работы над системой необходимо поставить границы для системы, и понять какие сценарии система должна выполнять. Границы и сценарии системы изображены на рисунках 5 и 6 соответственно.
Рисунок 5 - Диаграмма границ системы
Выявление функций
Рисунок 6 - Диаграмма сценариев
Таблица 1. Численные оценки
Численная оценка |
Значение |
Комментарии |
|
Сбор информации об ошибках автоматизирован |
Есть или нет |
Позволяет ускорить отладку системы |
|
Добавление нового типа устройств |
Менее чем за неделю |
Как скоро можно встроить в систему новый тип устройства |
|
Обнаружение одного устройства |
Менее 10 секунд |
||
Тестирование функций одного устройства |
Менее одного дня |
||
Обмен данными с устройствами |
От 50 устройств |
Со сколькими устройствами можно одновременно обмениваться данными |
Рисунок 7 - Функциональная декомпозиция
Постановка задачи
В данной курсовой работе стоит задача разработать систему, которая определяет и настраивает устройства умного дома на основе протокола ZigBee.
Требования к системе
Основными критериями качества разрабатываемой системы являются:
- модифицируемость - в систему можно легко добавить новый тип умного устройства;
- контролепригодность - систему можно проверить на правильность работы одним из тестовых случаев;
- кроссплатформенность - система должна работать на большинстве компьютеров, оборудованных современными процессорами;
- безопасность - система должна препятствовать перехвату управления над устройствами;
- система должна затрачивать на обнаружение одного устройства менее 10 секунд;
- система должна определять тип и имя устройства;
- система должна автоматически тестировать функции устройства;
- система должна быть кроссплатформенной;
- система должна конфигурировать устройства;
- система должна оповещать пользователя о своей работе;
- автоматически определять и настраивать устройство.
Из-за требований автоматизации тестирования функций, определения и настройки устройств в систему лучше всего будет встроить агента. Агент - программа обладающая независимым поведением и способная обмениваться сообщениями с другими агентами. Агент обладает набором поведений (функций, методов), для отработки заданной реакции на определенные события. Соответственно в задачу необходимо добавить требование построения системы на агентной платформе.
Остальные требования к системе вынесены в техническое задание (приложение 1).
Методы решения поставленной задачи
Основным методом решения поставленной задачи является использование мультиагентного подхода.
2. Конструкторская часть
Задачу, поставленную в пункте 1.3 и дополненную в пункте 1.5 можно разделить на две подзадачи:
- работа с ZigBee-устройствами. Данная задача подразумевает создание компонента, который позволяет детектировать и конфигурировать ZigBee-устройства;
- создание агента. В данной задаче необходимо выбрать агентную платформу и реализовать агента.
Решить поставленные задачи можно различными методами, используя различные библиотеки и языки программирования. В целях удобности разработки лучше всего использовать агентную платформу и библиотеку для работы с ZigBee написанные на одном и том же языке.
2.1 Анализ протокола ZigBee
ZigBee - это открытый стандарт беспроводной связи для систем сбора данных и управления. Технология ZigBee позволяет создавать самоорганизующиеся и самовосстанавливающиеся беспроводные сети с автоматической ретрансляцией сообщений, с поддержкой батарейных и мобильных узлов.
В настоящее время технология ZigBee широко применяется на практике для создания беспроводных сетей датчиков, систем автоматизации зданий, устройств автоматического считывания показаний счетчиков, охранных систем, систем управления в промышленности.
Сети ZigBee при относительно небольших скоростях передачи данных обеспечивают гарантированную доставку пакетов и защиту передаваемой информации.
Стандарт ZigBee предусматривает частотные каналы в диапазонах 868 МГц, 915 МГц и 2,4 ГГц. Наибольшие скорости передачи данных и наивысшая помехоустойчивость достигаются в диапазоне 2,4 ГГц. Поэтому большинство производителей микросхем выпускают приемопередатчики именно для этого диапазона, в котором предусмотрено 16 частотных каналов с шагом 5 МГц.
Скорость передачи данных вместе со служебной информацией в эфире составляет 250 кбит/c . При этом средняя пропускная способность узла для полезных данных в зависимости от загруженности сети и количества ретрансляций может лежать в пределах 5 ... 40 кбит/с.
Расстояния между узлами сети составляют десятки метров при работе внутри помещения и сотни метров на открытом пространстве. За счет ретрансляций зона покрытия сети может значительно увеличиваться.
Стандартизация
В протоколе ZigBee стандартизованы следующие технические параметры [6]:
- частота - 2,4 ГГц (в России);
- скорость передачи - 250 кБит/с на один канал;
- время выхода из спящего режима - не менее 1 мс;
- энергопотребление в режиме передачи - от 10 до 30 мА.
Далее стандартизованы идентификаторы и типы адресов, используемые в ZigBee-сети:
- IEEE адрес - уникальный адрес для всех ZigBee-устройств, имеет размер 64 бита;
- сетевой адрес - адрес, который идентифицирует устройство внутри сети, имеет размер 16 бит. Данный адрес выделяет координатор из списка незанятых адресов, сам координатор имеет адрес 0x0000;
- идентификатор персональной сети (PAN ID, Personal Area Network Identifier) - это 16-битный идентификатор сети, который присваивается вновь созданной сети координатором и передается всем устройствам подключённой к этой сети. Устройства, получившие данный идентификатор могут взаимодействовать только с устройствами имеющими такой же идентификатор;
- расширенный PAN ID (EPID, Extended PAN ID) - 64-битный идентификатор, использующийся при первом подключении нового элемента сети или при переподключении потерявшего связь устройства.
Топология
В основе сети ZigBee лежит ячеистая топология (mesh-топология). В такой сети, каждое устройство может связываться с любым другим устройством как напрямую, так и через промежуточные узлы сети. Ячеистая топология предлагает альтернативные варианты выбора маршрута между узлами. Сообщения поступают от узла к узлу, пока не достигнут конечного получателя. Возможны различные пути прохождения сообщений, что повышает доступность сети в случае выхода из строя того или иного звена.
В сети ZigBee существует 4 типа узлов: координатор, роутер, спящее устройство и мобильное устройство.
Главное устройство в ZigBee-сети - это координатор. Координатор выполняет функции по формированию сети, а также является одновременно доверительным центром (trust-центром). Доверительный центр устанавливает политику безопасности и задает настройки во время подключения устройства к сети.
Спящие и мобильные устройства используют режимы пониженного энергопотребления. Как правило, это узлы с батарейным питанием. Обычно, они играют роль датчиков или контроллеров каких-либо исполнительных устройств. Их количество диктуется потребностью конкретного приложения.
Роутеры осуществляют маршрутизацию пакетов по сети и должны быть готовы к передаче данных в любой момент времени. Поэтому эти узлы не используют режимов пониженного энергопотребления и имеют стационарное питание. Их количество в сети должно быть достаточным для обслуживания требуемого количества спящих и мобильных узлов.
Основная особенность технологии ZigBee заключается в том, что она при относительно невысоком энергопотреблении поддерживает не только простые топологии беспроводной связи («точка-точка» и «звезда»), но и сложные беспроводные сети с ячеистой топологией с ретрансляцией и маршрутизацией сообщений (рисунок 8).
Рисунок 8 - Примеры топологий протокола ZigBee
Стек протокола ZigBee
Спецификация ZigBee регламентирует стек протоколов взаимодействия узлов сети, в котором протоколы верхних уровней используют сервисы, предоставляемые протоколами нижележащих уровней.
В качестве двух нижних уровней (физического и уровня доступа к среде MAC) используется стандарт IEEE 802.15.4. MAC-уровень в сети ZigBee реализует механизм CSMA/CA (прослушивания несущей и устранения коллизий), сетевой уровень NWK отвечает за маршрутизацию сообщений, а уровень поддержки приложений APS обеспечивает интерфейс с уровнем приложения.
Сектор ZDO (ZigBee Device Object), связывающий три верхних уровня, отвечает за определение роли устройства в сети (будет оно являться координатором или конечным устройством), инициализацию и реакцию на запросы соединения и обнаружения, за установление надежного и безопасного соединения между устройствами сети. Сектор SSP (Security Service Provider) осуществляет операции, связанные с обеспечением безопасности на сетевом уровне и на уровне поддержки приложения (рисунок 9).
Рисунок 9 - Стек протоколов ZigBee
Одна из основных идей разработки стандарта ZigBee состояла в том, чтобы обеспечить возможность совместной работы в одной беспроводной сети устройств различных производителей. Очевидно, что для обеспечения совместимости на уровне приложения устройствам ZigBee требуется некий стандартный язык общения. Для реализации этой задачи была разработана библиотека ZigBee-кластеров ZCL (ZigBee Cluster Library).
Кластер похож на класс в объектно-ориентированном программировании и представляет собой совокупность:
- описания стандартного устройства ZigBee (осветительное устройство, диммер, выключатель, счетчик);
- описания стандартных атрибутов для этого устройства (вкл./выкл., яркость, показания счетчика);
- описания стандартных команд для этого устройства (установить уровень яркости, считать показания, включить/выключить);
- кластеры имеют клиент-серверную природу [7].
Рисунок 10 - Клиент-серверная структура
ZigBee-cервер - это устройство, которое хранит значение атрибута, в то время, как ZigBee-клиент дистанционно считывает или записывает значение этого атрибута. Например, пара стандартных устройств лампочка и выключатель могут вместе реализовать функционирование стандартного кластера включить-выключить. При этом лампочка будет ответственна за серверную часть кластера. Она хранит значение атрибута включено или выключено. Выключатель дистанционно устанавливает значение этого атрибута и реализует, таким образом, клиентскую часть кластера. Одно и то же устройство может содержать клиентские части одних кластеров и серверные части других. Например, выключатель в может дополнительно содержать серверную часть кластера конфигурация, при помощи которого он будет получать информацию о режимах своей работы от конфигурирующего устройства.
Библиотека ZCL группирует кластеры по функциональному признаку: общего назначения, для работы с датчиками, для управления осветительными устройствами, вентиляцией и т.д. Использование стандартных кластеров для пересылки сообщений является обязательным требованием новой спецификации ZigBee PRO Feature Set.
Профилем называется совокупность настроек программного обеспечения узлов сети, обеспечивающая их совместную работу. Спецификация профиля определяет такие параметры, как способы задания идентификационных параметров сети, режимы образования сети, способы защиты данных, используемый поднабор кластеров, который включает кластеры из разных функциональных групп библиотеки ZCL.
Профиль Home Automation дает возможность производителям беспроводных систем домашней автоматизации во всем мире разрабатывать совместимые устройства класса «умный дом» [6]. Он регламентирует работу таких устройств, как устройства управления осветительным оборудованием, системами кондиционирования, отопления, вентиляции и т.д.
2.2 Анализ существующих аналогов
Основными аналогами ZigBee с точки зрения домашней автоматизации являются сети построенные на Wi-Fi, Bluetooth и иных радио протоколах.
Z-Wave
Z-Wave - беспроводной протокол связи, разработанный для домашней автоматизации. Основное отличие Z-Wave от ZigBee это диапазон частот. Z-Wave работает в диапазоне частот до 1 ГГц [8].
Z-Wave также обладает ячеистой топологией и высокой энергоэффективностью т.к. Z-Wave оптимизирован для передачи простых управляющих команд.
Однако у Z-Wave есть ряд недостатков:
- данная технология не является открытой, а принадлежит компании Zensys;
- низкая скорость передачи данных;
- в сетях с 30 и более устройствах Z-Wave является более дорогим, чем кабельные системы;
- из-за ограниченного радиуса действия необходимо использовать повторители.
Bluetooth
В настоящее время появилась новая технология, основанная на технологии Bluetooth - Bluetooth Smart. Данная технология позволяет управлять различными системами дома, используя смартфоны, планшеты и прочие устройства оборудованные технологией Bluetooth Smart. Однако, умные устройства на основе данной технологии только начинают появляться на рынке устройств. протокол серверный сеть тестирование
Wi-Fi
Главным преимуществом Wi-Fi является, то что он хорошо знаком потребителям. Стандарт определяет только низкие уровни взаимодействия умных устройств, такие как методы передачи данных в двоичном виде и контроль ошибок. Для обеспечения же общения устройств на одном языке должен быть стандартизован верхний, прикладной уровень протокола. И так как каждый производитель может самостоятельно определять прикладной уровень, то обеспечить связь между устройствами будет сложно или невозможно, до тех пор, пока две компании не определят их совместно. Это ограничивает использование Wi-Fi в устройствах для умного дома. Wi-Fi Далее предполагает наличие центральной точки доступа в сеть, которая означает, что если точка доступа не работает, то сеть перестает функционировать.
Но Wi-Fi потребляет относительно много энергии по сравнению с другими протоколами, поэтому отлично подходит для использования в аппаратуре с питанием от силовой сети и ограниченно подходит для автономных устройств.
2.3 Языки программирования
Язык С++
Для реализации работы с ZigBee на языке C++ можно воспользоваться библиотекой ZigbeeLib [1]. Для создания агентов можно воспользоваться библиотекой agents.h.
Язык С#
Для реализации работы с ZigBee на языке C# можно воспользоваться библиотекой GBee [2]. Однако использование данной библиотеки накладывает дополнительное ограничение на аппаратную часть системы: данная библиотека разработана специально для работы с модулями XBee.
Библиотека, которая позволяет работать с агентами, не была найдена.
Язык Java
Для работы с ZigBee устройствами для языка существует несколько библиотек:
- библиотека zigbee4java [3];
- библиотека ZB4O [4].
Для работы с агентами можно воспользоваться агентной платформой JADE [5].
2.4 Выбор технологий
Наиболее целесообразно использовать язык Java. Данный язык является кроссплатформенным, быстрым, для него есть большое количество библиотек и документации.
Рисунок 11 - Диаграмма ограничений
Для работы с ZigBee сетями лучше всего подходит библиотека ZB4O т.к. в данной библиотеке помимо работы с ZigBee, как это сделано в zigbee4java, есть возможность использовать платформу OSGI, что увеличивает гибкость системы в целом.
Для разработки агентной составляющей системы необходимо воспользоваться библиотекой Jade, т.к. Jade одна из самых распространённых агентных платформ и отлично встраивается в проекты любой сложности.
Выбранные проектные решения отображены на рисунке 11.
ZB4O
ZB4OSGI - это набор OSGI бандлов (в терминах OSGI бандлы равносильны плагинам), которые позволяют интегрировать ZigBee сети вместе с платформой сервисов OSGI. Проект имеет следующие бандлы:
- драйвера для доступа USB аппаратным ключам (dongle);
- реализация библиотеки кластеров ZigBee;
- реализация ZigBee профилей;
- инструменты для взаимодействия с ZigBee устройствами и многое другое.
Теперь рассмотрим подробнее платформу OSGI. OSGi (Open Services Gateway Initiative) - спецификация динамической плагинной (модульной) подсистемы для создания Java-приложений, разрабатываемая консорциумом OSGi Alliance. Круг применений данной спецификации довольно широк: изначально разрабатывалась для создания встроенных систем (в частности, для автомобилей BMW, также в разработке спецификации активно участвует Siemens), но сейчас на базе OSGi строят многофункциональные приложения (например, Eclipse SDK) и Enterprise-системы (например, Naumen DMS).
Основная идея фреймворка OSGi - система состоит из бандлов. Основной способ взаимодействия между бандлами - сервисы: объекты, зарегистрированные в ядре системы с заявленными реализованными интерфейсами. Бандлы регистрируют сервисы для предоставления определенной функциональности другим бандлам. Помимо этого OSGi предоставляет механизм создания и обработки событий, управление импортом/экспортом java-пакетов и библиотек, методы адресации ресурсов.
Распределение ресурсов и jar-файлов по бандлам позволяет однозначно решить проблему загрузки классов (jar hell), а реализация взаимодействия в виде реестра сервисов и событийной модели позволяет не запутаться в обилии взаимодействующих частей (особенно в случае большого приложения) и практически безгранично расширять приложение. Самое важное то, что можно не перезапуская приложение, устанавливать, подключать, отключать и обновлять модули системы.
Агентная платформа JADE
Java Agent Development Framework -- одна из самых широко используемых платформ для создания агентов. Она включает в себя:
- библиотеку для создания агентов;
- runtime для исполнения агентов;
- инструменты для отладки, мониторинга и настройки агентов.
JADE реализована согласно FIPA (Foundation for Intelligent Physical Agents). Программная среда JADE подключается к любому проекту на языке Java. Агенты JADE могут быть совершенно разными - от простых, только реагирующих на события, до сложных многокомпонентных агентов.
2.5 Компоненты и функции системы
Все выше перечисленное приводит к определению компонентов и функций системы, а именно к компонентной декомпозиции системы. Данная декомпозиция изображена на рисунке 12.
Рисунок 12 - Компонентная декомпозиция
необходимо описать следующие данные системы:
- данные о модели данных (рисунок 13);
- данные о компонентах и сервисах (рисунок 14);
- данные о развертывание системы на оборудовании (рисунок 15).
На диаграмме, изображенной на рисунке 14, изображено, каким образом устроен проект ZB4O, его сервисы, его компоненты и связь с проектом IDM.
Рисунок 14 - Диаграмма компонентов и сервисов
В диаграмме, изображенной на рисунке 15, показано развёртывание компонентов системы на оборудовании.
3. Технологическая часть
3.1 Используемые средства
В данной работе использовались следующие средства:
- среда разработки Eclipse. Eclipse -- свободная интегрированная среда разработки модульных кроссплатформенных приложений. Развивается и поддерживается Eclipse Foundation;
- система контроля версий Git;
- язык программирования Java;
- агентная платформа Jade.
3.2 Процесс получения бинарной сборки системы
Для сборки системы в операционной системе Ubuntu Linux 14.04 необходимы следующие предустановленные компоненты:
- svn;
- git;
- Java 7;
- maven.
А Далее необходимо пройти следующие шаги:
1. Экспортировать проекты в Eclipse;
2. Последний этап - необходимо установить Target Platform из проекта IDM в окне Preferences.
Параметры запуска системы
Для запуска системы необходимо в окно параметры VM написать следующее:
-Dgnu.io.rxtx.SerialPorts=/dev/ttyACM0
-Declipse.ignoreApp=true
-Dosgi.noShutdown=true
-Dbundles.configuration.location=./configurations
-Dlog4j.configuration=file:log4j.properties
-Dzigbee.driver.tsb.resend.timout=1000
-Dzigbee.driver.tsb.resend.max=3
-Dzigbee.driver.tsb.resend.exceptiononly=false
-Dit.cnr.isti.zigbee.driver.flush=false
-Dit.cnr.isti.zigbee.driver.serial.portname=/dev/ttyACM0
-Dit.cnr.isti.zigbee.driver.serial.boudrate=115200
-Dit.cnr.isti.zigbee.pan.id=4954
-Dit.cnr.isti.zigbee.pan.channel=11
-Dit.cnr.isti.zigbee.driver.mode=Coordinator
-Dit.cnr.isti.zigbee.driver.network.browsing.period=900000
-Dit.cnr.isti.zigbee.driver.device.inspection.rate=10000
-Dit.isti.cnr.zigbee.ha.driver.cluster.discovery.mode=EitherInputAndOutput
-Dit.cnr.isti.zigbee.ha.reporting.min=60
-Dit.cnr.isti.zigbee.ha.reporting.max=0
-Dit.cnr.isti.zigbee.ha.reporting.change=0
-Dit.cnr.isti.zigbee.ha.reporting.overwrite=true
3.3 Тестирование
Тестирование системы было произведено при следующих исходных параметрах:
- Операционная система Ubuntu 14.04;
- ZigBee USB Dongle CC2531;
- Датчик дыма;
- Выключатель;
- Датчик разбития стекла;
- Датчик открытия двери.
Для начала работы необходимо запустить среду разработки Eclipse, сконфигурированную согласно предыдущим пунктам, вставить USB Dongle в свободный USB-порт компьютера, и удостоверится в том, что данный USB Dongle распознался системой. После этого можно переходить к тестированию системы.
Таблица 2 - План тестирования
№ |
Входные данные |
Ожидаемые результаты |
|
1 |
Включен только USB Dongle, система запускается в обычном режиме |
Нет обнаруженных устройств |
|
2 |
Включен USB Dongle и выключатель, система запускается в обычном режиме |
Система должна обнаружить выключатель и протестировать его функцию включения или выключения |
|
3 |
Включен USB Dongle и датчик дыма, система запускается в обычном режиме |
Система должна обнаружить датчик дыма и протестировать его функции |
|
4 |
Включен USB Dongle и датчик открытия двери, система запускается в обычном режиме |
Система должна обнаружить датчик открытия двери и протестировать его функции |
|
5 |
Данные с датчика разбития стекла принимаются каждую секунду, эмулируется разбитие стекла |
Датчик должен изменить данные о своем состоянии |
|
6 |
Включен USB Dongle и все датчики, система запускается в обычном режиме |
Последовательное обнаружение всех датчиков и тестирование их функций |
Полученные результаты тестирования представлены в таблице 3.
Таблица 3. Результаты тестирования
№ |
Входные данные |
Ожидаемые результаты |
Полученные результаты |
Заключение |
|
1 |
Включен только USB Dongle, система запускается в обычном режиме |
Нет обнаруженных устройств |
Соответствуют ожидаемым |
||
2 |
Включен USB Dongle и выключатель, система запускается в обычном режиме |
Система должна обнаружить выключатель и протестировать его функцию включения или выключения |
Соответствуют ожидаемым |
Работает обнаружение и автоматическое тестирование функций устройств |
|
3 |
Включен USB Dongle и датчик дыма, система запускается в обычном режиме |
Система должна обнаружить датчик дыма и протестировать его функции |
Обнаружены только имя и тип устройства |
||
4 |
Включен USB Dongle и датчик открытия двери, система запускается в обычном режиме |
Система должна обнаружить датчик открытия двери и протестировать его функции |
Обнаружены только имя и тип устройства |
||
5 |
Данные с датчика разбития стекла принимаются каждую секунду, эмулируется разбитие стекла |
Датчик должен изменить данные о своем состоянии |
Соответствуют ожидаемым |
||
6 |
Включен USB Dongle и все датчики, система запускается в обычном режиме |
Последовательное обнаружение всех датчиков и тестирование их функций |
Соответствуют ожидаемым |
Консольный вывод при тестировании обнаружения выключателя показа на рисунке 17.
Выводы
В рамках данной курсовой работы была проделана работа по выбору агентной платформы, библиотеки ZigBee-устройств в целях создания системы обнаружения и настройки ZigBee-устройств.
Были получены результаты работы системы, что подтверждается тестами.
В дальнейшем планируется встроить в текущую систему модуль Home Automation Bus [9] в целях получения полностью автоматизированной реализации умного дома, основанного на ZigBee.
Аннотация
В данной курсовой работе была проанализирована предметная область «Умного Дома», а именно проблема настройки и обнаружения умных устройств на основе протокола ZigBee. Был проведен анализ самого протокола, а также его аналогов. Были рассмотрены библиотеки, позволяющие решить поставленную задачу. Также, на основе протокола ZigBee была создана архитектура и был реализован агент обнаружения и настройки ZigBee-устройств умного дома, на основе выбранных библиотек ZB4O и JADE.
Приложение
Техническое задание
1.1 Общие сведения
В данной работе разрабатывается конфигуратор ZigBee устройств на основе открытой библиотеки ZB4O и агентной платформы JADE.
Срок выполнения работы - 14 недель, с 1 сентября 2014 года.
1.2 Назначение и цели создания системы
Система предназначена для автоматизации распознания ZigBee устройств профиля Home Automation.
В результате создания системы должна быть достигнута цель автоматического распознавания устройств без участия пользователя, с последующим тестом функций обнаруженных устройств.
1.3 Характеристика объектов автоматизации
Данная система применяется в системах «Умного Дома», «Умного Здания» и пр.
1.4 Требования к системе
В данной системе требуется успешно распознать ZigBee устройства и провести взаимодействие с обнаруженными устройствами.
Основными критериями качества разрабатываемой системы являются:
- модифицируемость - в систему можно легко добавить новый тип умного устройства;
- контролепригодность - систему можно проверить на правильность работы одним из тестовых случаев;
- кроссплатформенность - система должна работать на большинстве компьютеров, оборудованных современными процессорами;
- безопасность - система должна препятствовать перехвату управления над устройствами;
- система должна затрачивать на обнаружение одного устройства менее 10 секунд;
- система должна определять тип и имя устройства;
- система должна автоматически тестировать функции устройства;
- система должна быть кроссплатформенной;
- система должна конфигурировать устройства;
- система должна оповещать пользователя о своей работе;
- автоматически определять и настраивать устройство.
1.5 Состав и содержание работ по созданию системы
При создании системы необходимо провести следующие работы:
- выбор библиотеки управления ZigBee-устройствами;
- выбор библиотеки агентной платформы;
- выбор языка программирования;
- реализация системы;
- отладка системы;
- тестирование системы.
1.6 Порядок контроля и приемки системы
Для контроля работоспособности системы должен быть проведен экспериментальный запуск системы, подтверждающий работу системы.
1.7 Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
Не предъявляются.
1.8 Требования к документированию
Расчетно-пояснительная записка и графические материалы в составе:
- диаграмма сценариев;
- диаграмма функциональной декомпозиция системы;
- тестирование системы;
- диаграмма развертывания компонентов на оборудовании.
1.9 Источники разработки
Задание на курсовую работу.
Размещено на Allbest.ru
...Подобные документы
Сравнительные характеристика протоколов организации беспроводных сетей. Структура и топология сети ZigBee, спецификация стандарта IEEE 802.15.4. Варианты аппаратных решений ZigBee на кристаллах различных производителей и технология программирования.
дипломная работа [3,0 M], добавлен 25.10.2013Обзор беспроводных технологий для систем домашней автоматизации. Системы "умный дом". Обзор элементной базы для построения ZigBee сетей, их программная поддержка. Устройство управления освещением и нагрузкой. Датчик присутствия и пульт управления.
курсовая работа [1,6 M], добавлен 10.01.2013Характеристика беспроводного датчика температуры с интерфейсом ZigBee, который может применяться в комплексе систем сбора данных с промышленного оборудования. Принципы работы многоканального измерительного прибора. Классификация беспроводных интерфейсов.
дипломная работа [2,5 M], добавлен 24.03.2015Система сбора данных. Скорость передачи данных. Ячеистая структура сети ZigBee. Основные технические характеристики для ZigBee-модемов компании Telegesis. Изменение состояния цифровых выводов модема. Удаленные маршрутизаторы и конечные устройства.
дипломная работа [1,4 M], добавлен 05.06.2011Механизм создания и обмена пакетами в сети передачи информации на основе стека протоколов ZigBee. Принцип действия, особенности работы и коммутации с другими протоколами, определение основных методов и способов защиты информации, передаваемой в сети.
курсовая работа [2,6 M], добавлен 12.09.2012Методика и основные этапы разработки системы тестирования для оценки уровня знаний студентов с применением технологии "Клиент-сервер". Проектирование клиентской, серверной части данной системы тестирования, порядок составления финальных отчетов.
дипломная работа [587,6 K], добавлен 08.11.2010Создание программного продукта на основании клиент-серверной технологии, реализующего отказоустойчивую работу системы, которая способна в случае потери связи с ведущим сервером подключить клиента к альтернативному серверу (на примере сервера погоды).
курсовая работа [238,0 K], добавлен 24.08.2012Интеллектуальная система, которая объединяет электрические приборы посредством линии управления. Управление несколькими приборами. Схема устройств "Умного дома". Анализ связей между элементами системы. Система приема эфирного и спутникового телевидения.
курсовая работа [5,1 M], добавлен 18.12.2010Проектирование физической и логической моделей удаленной базы данных для АЗС. Разработка базы данных в СУБД Firebird с помощью утилиты IBExpert. Создание клиентского приложения для Windows с использованием клиент-серверной технологии в среде C++ Builder.
курсовая работа [3,9 M], добавлен 18.01.2017Проектирование и разработка базы данных в РСУБД Firebird. Последовательность создания приложения, основанного на клиент-серверной технологии и работающего в операционной системе Windows. Хранимые процедуры и триггеры. Доступ к сети и транзакции.
курсовая работа [2,6 M], добавлен 27.07.2013Анализ технологий "умного дома", их базовые понятия. Описание технологического процесса и модель автоматизации. Разработка системы управления зданием. Анализ программного обеспечения. Технология производства программного продукта, разработка бизнес-плана.
дипломная работа [1,8 M], добавлен 06.04.2015Разработка системы, базирующейся на протоколе LIMone, для обмена мгновенными сообщениями и пересылки файлов в процессе деловой переписки. Реализация системы в виде клиент-серверного приложения. Расчет экономических показателей программного продукта.
дипломная работа [4,7 M], добавлен 22.08.2016Реляционные базы данных как часть корпоративных информационных систем, их построение по принципам клиент-серверной технологии. Основные характеристики СУБД Firebird. Проектирование базы данных для информационной системы "Компьютерные комплектующие".
курсовая работа [1,9 M], добавлен 28.07.2013Создание автоматизированной системы мониторинга состояния аппаратных средств компьютерных сетей на основе протокола SNMP в среде программирования С++Builder. Описание реляционной базы данных и ее визуальное представление. Разработка диаграммы классов.
отчет по практике [2,2 M], добавлен 05.01.2016Архитектура "клиент-сервер". Системный анализ базы данных "Газета объявлений", ее инфологическое и физическое проектирование. Программирование на стороне SQL-сервера. Разработка клиентской части в Borland C++ Builder 6.0 и с помощью Web-технологий.
курсовая работа [1,3 M], добавлен 07.07.2013Сравнение клиент-серверной и файл-серверной архитектуры. Особенности разработки проекта автоматизированной информационной системы "Ведение протокола нерешенных задач по материалам для ЗАО "Авиастар-СП". Расчет экономической эффективности от внедрения АИС.
курсовая работа [1,4 M], добавлен 23.06.2011Обзор мультимедиа-устройств с поддержкой USB и Bluetooth. Разработка структурной и функциональной схем устройства. Возможности его аппаратной модернизации. Разработка печатной платы устройства. Расчет схемы подключения питания и USB входа к AT91SAM7SE.
дипломная работа [749,0 K], добавлен 18.06.2010Разработка базы данных для информационной системы "Библиотека". Системный анализ, инфологическое, даталогическое и физическое проектирование. Программирование бизнес-логики, разработка клиентского приложения. Создание web-приложения, web-доступ.
курсовая работа [3,3 M], добавлен 15.09.2014Разработка модели системы тестирования пользователей с применением технологии "клиент-сервер". Требования к программному изделию и документации. SADT диаграмма системы тестирования до и после автоматизации. Настройка SQL-сервера и установка программы.
курсовая работа [1,5 M], добавлен 22.01.2013Характеристики и свойства языков программирования. Исследование эволюции объектно-ориентированных языков программирования. Построение эволюционной карты механизмов ООП. Разработка концептуальной модели функционирования пользовательского интерфейса.
курсовая работа [2,6 M], добавлен 17.11.2014