Анализ стандартизации технических параметров в протоколе ZigBee. Разработка клиент-серверной структуры. Исследование сетей, построенных на Wi-Fi, Bluetooth и иных радио-протоколах. Характеристика языков программирования. Проведение тестирования системы.
Аннотация к работе
Smart Home) - общее название для технологий, позволяющих автоматизировать устройства находящиеся в доме, обеспечить комфорт всем его обитателям и организовать ресурсосбережение. Но при работе с устройствами возникает проблема конфигурации и обнаружения устройств.Для разрабатываемой системы был проведен анализ заинтересованных сторон и были выявлены стороны, изображенные на диаграмме заинтересованных сторон (рисунок 2). На данной диаграмме систематизированы лица, имеющие непосредственное отношение к системе. В первом круге - круге «Система», изображены стороны, наиболее тесно связанные с системой. На третьем круге изображены стороны, которые могут повлиять на систему. Далее перед началом работы над системой необходимо поставить границы для системы, и понять какие сценарии система должна выполнять.Задачу, поставленную в пункте 1.3 и дополненную в пункте 1.5 можно разделить на две подзадачи: - работа с ZIGBEE-устройствами. Данная задача подразумевает создание компонента, который позволяет детектировать и конфигурировать ZIGBEE-устройства;Далее стандартизованы идентификаторы и типы адресов, используемые в ZIGBEE-сети: - IEEE адрес - уникальный адрес для всех ZIGBEE-устройств, имеет размер 64 бита; сетевой адрес - адрес, который идентифицирует устройство внутри сети, имеет размер 16 бит. идентификатор персональной сети (PAN ID, Personal Area Network Identifier) - это 16-битный идентификатор сети, который присваивается вновь созданной сети координатором и передается всем устройствам подключенной к этой сети. Устройства, получившие данный идентификатор могут взаимодействовать только с устройствами имеющими такой же идентификатор; В такой сети, каждое устройство может связываться с любым другим устройством как напрямую, так и через промежуточные узлы сети.Основными аналогами ZIGBEE с точки зрения домашней автоматизации являются сети построенные на Wi-Fi, Bluetooth и иных радио протоколах. Z-Wave - беспроводной протокол связи, разработанный для домашней автоматизации. Z-Wave работает в диапазоне частот до 1 ГГЦ [8]. Однако у Z-Wave есть ряд недостатков: - данная технология не является открытой, а принадлежит компании Zensys; Данная технология позволяет управлять различными системами дома, используя смартфоны, планшеты и прочие устройства оборудованные технологией Bluetooth Smart.Для реализации работы с ZIGBEE на языке C можно воспользоваться библиотекой ZIGBEELIB [1]. Для создания агентов можно воспользоваться библиотекой agents.h. Однако использование данной библиотеки накладывает дополнительное ограничение на аппаратную часть системы: данная библиотека разработана специально для работы с модулями XBEE.Для работы с ZIGBEE сетями лучше всего подходит библиотека ZB4O т.к. в данной библиотеке помимо работы с ZIGBEE, как это сделано в zigbee4java, есть возможность использовать платформу OSGI, что увеличивает гибкость системы в целом. Для разработки агентной составляющей системы необходимо воспользоваться библиотекой Jade, т.к. ZB4OSGI - это набор OSGI бандлов (в терминах OSGI бандлы равносильны плагинам), которые позволяют интегрировать ZIGBEE сети вместе с платформой сервисов OSGI. Круг применений данной спецификации довольно широк: изначально разрабатывалась для создания встроенных систем (в частности, для автомобилей BMW, также в разработке спецификации активно участвует Siemens), но сейчас на базе OSGI строят многофункциональные приложения (например, Eclipse SDK) и Enterprise-системы (например, Naumen DMS). Распределение ресурсов и jar-файлов по бандлам позволяет однозначно решить проблему загрузки классов (jar hell), а реализация взаимодействия в виде реестра сервисов и событийной модели позволяет не запутаться в обилии взаимодействующих частей (особенно в случае большого приложения) и практически безгранично расширять приложение.Данная декомпозиция изображена на рисунке 12. Рисунок 12 - Компонентная декомпозиция необходимо описать следующие данные системы: - данные о модели данных (рисунок 13);В данной работе использовались следующие средства: - среда разработки Eclipse. Eclipse - свободная интегрированная среда разработки модульных кроссплатформенных приложений.А Далее необходимо пройти следующие шаги: 1. Экспортировать проекты в Eclipse; Последний этап - необходимо установить Target Platform из проекта IDM в окне Preferences. Для запуска системы необходимо в окно параметры VM написать следующее:-Dgnu.io.rxtx.SERIALPORTS=/dev/TTYACM0 -Dit.cnr.isti.zigbee.driver.flush=falseДля начала работы необходимо запустить среду разработки Eclipse, сконфигурированную согласно предыдущим пунктам, вставить USB Dongle в свободный USB-порт компьютера, и удостоверится в том, что данный USB Dongle распознался системой.