ZigBee и Intel Edison: практика автоматизации переговорных комнат

в 11:35, , рубрики: Intel Edison, IoT, zigbee, автоматизация, Блог компании Intel, переговорные комнаты, программирование микроконтроллеров, Разработка для интернета вещей

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

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 1


Мы создали интеллектуальную систему бронирования переговорных комнат (Smart Conference Room System, SCR) для того, чтобы помочь всем желающим с этими проблемами справиться.

Общий обзор

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

Система построена на основе следующих аппаратных компонентов:

  • Плата Intel Edison.
  • Плата расширения Arduino.
  • Модуль XBee ZB S2 ZigBee.
  • Android-смартфон.
  • Push-сервер.
  • Датчик освещённости ZigBee.
  • Инфракрасный датчик присутствия ZigBee.
  • Интеллектуальная розетка ZigBee.
  • Сигнализация ZigBee.

ZigBee – это спецификация набора высокоуровневых коммуникационных протоколов, которые используются для создания персональных сетей, в основе которых – небольшие маломощные цифровые передатчики. Протоколы ZigBee базируются на стандарте IEEE 802.15.4 и предназначены для использования во встраиваемых устройствах, которые требуют низкого энергопотребления и способны нормально работать при невысоких скоростях передачи данных. Сеть, построенная на основе ZigBee, будет весьма экономичной в плане потребления энергии. Для того, чтобы пройти сертификацию ZigBee, устройство должно работать от батарей не менее двух лет. Типичные применения таких устройств – это домашняя автоматизация. Например, интеллектуальные датчики присутствия, системы освещения, терморегуляторы.

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

Важный аспект платформы Arduino – это стандартизированные коннекторы, которые позволяют подключать к основному блоку с микроконтроллером множество взаимозаменяемых модулей расширения, известных как шилды (shields). Плата Intel Edison также поддерживает Arduino. Это делает Edison совместимым с тысячами модулей для Arduino, например, с XBee ZigBee.

XBee – это название марки семейства радиомодулей от Digi International, выпускаемых в стандартных форм-факторах. XBee ZB поддерживает протокол ZigBee PRO для создания сетей с ячеистой топологией.

С программной точки зрения система состоит из следующих частей:

  • Серверное ПО.
  • Приложение для Android-смартфона.
  • Прошивка для Intel Edison.

Вот как, в самых общих чертах, выглядит работа Smart Conference Room System.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 2

Схема работы SCR

Аппаратное обеспечение

Остановимся подробнее на аппаратном обеспечении, на котором основан наш проект.

Intel Edison с коммутационной платой Arduino – это ядро системы. Так как Edison совместим с Arduino, устройства, которые могут работать с Arduino, подходят и для Edison. Например, это радиомодуль XBee ZB S2, который подключается к Edison с помощью платы расширения Arduino.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 3

Intel Edison и радиомодуль XBee

В качестве Push-сервера мы использовали Windows-планшет Fujitsu STYLISTIC Q702 с процессором Intel Core i5-3427U (частота 1.80 ГГц), оснащённый 4 Гб оперативной памяти.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 4

Планшет Fujitsu STYLISTIC Q702

Для того, чтобы с нашей системой было удобнее работать, мы создали для неё мобильное Android-приложение. Его испытания проводились на смартфоне Lenovo K900. Он оснащён процессором Intel Atom Z2580 (частота 2 ГГц) и 2 Гб оперативной памяти.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 5

Смартфон Lenovo K900

Роль координатора ZigBee играет радиомодуль XBee ZB S2, выполненный в форм-факторе платы расширения для Arduino и соответствующий требованиям протокола ZigBee. Он управляет подключёнными к нему ZigBee-датчиками.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 6

Радиомодуль XBee ZB S2

В проекте задействован датчик освещённости Netvox Z311X. Он соответствует требованиям стандарта ZigBee и отвечает за измерение уровня освещённости в помещении.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 7

Датчик освещённости

В качестве датчика присутствия используется инфракрасный сенсор Netvox ZB11D. Он так же поддерживает работу по протоколу ZigBee и играет роль конечного сетевого устройства.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 8

Датчик присутствия

В системе используется модуль сигнализации Netvox Z602A. Это устройство совмещает в себе средства звукового и светового оповещения и применяется в экстренных ситуациях. Модуль основан на стандарте ZigBee HA.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 9

Сигнализация

Интеллектуальная ZigBee-розетка, применяемая в проекте, это Netvox Z809AG. Устройство совмещает функции учёта электроэнергии и управления электрическими цепями. С его помощью можно включать и выключать питание различных электроприборов в комнате.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 10

Интеллектуальная розетка

Аппаратная инфраструктура

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

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 11

Схема устройства системы

Аппаратную архитектуру системы можно разбить на следующие четыре части:

  • Смартфон.
  • Push-сервер.
  • Шлюз на базе Intel Edison.
  • Набор ZigBee-датчиков.

Эти аппаратные блоки ориентированы на три основные функции SCR.

  1. Наблюдение за комнатой и оценка ситуации. ZigBee-датчики освещённости и присутствия, в режиме реального времени, поставляют сведения о ситуации в комнате шлюзу на базе Intel Edison. Для связи датчиков и шлюза используется сеть ZigBee. Edison анализирует показания, определяет, есть ли кто-нибудь в комнате, а затем отправляет свои выводы push-серверу по Wi-Fi.
  2. Бронирование комнаты и интеллектуальное расписание. Сотрудники могут резервировать переговорные, которые, по оценке системы, свободны. Делается это с помощью Android-смартфона. Если доступных переговорных нет, сотрудник может выбрать занятую комнату и включить режим ожидания освобождения переговорной. Как только система, в частности – Intel Edison, сочтёт, что выбранная комната свободна, сообщение об этом поступит на сервер, который отправит уведомление приложению на смартфоне.
  3. Удалённый доступ и управление. Приложения могут запрашивать сведения о состоянии зарезервированной комнаты по Wi-Fi через push-сервер для того, чтобы управлять устройствами в комнате, например, включать и выключать свет, и получать, в режиме реального времени, сведения с ZigBee-датчиков.

Программное обеспечение

Как мы уже говорили, многие ресурсы организаций, такие, как переговорные комнаты, используются не самым эффективным образом. Особенно это относится к большим компаниям. Например, сотрудник А, с помощью корпоративного веб-сайта, зарезервировал комнату для совещаний с 8.00 до 10.00. Встреча окончилась в 9.00, то есть, с этого момента помещение свободно, им вполне может воспользоваться кто-то ещё. Предположим, что в это же время сотрудник В, пользуясь тем же сайтом, ищет свободную комнату. Но ту, которую резервировал сотрудник А, он выбрать не может, ведь в базе данных она значится как занятая, хотя по факту свободна. Поэтому сотруднику В придётся искать другой вариант, а освобождённая комната будет пустовать.

На рисунке ниже показана структурная схема используемого программного решения.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 12

Архитектура программного решения

Push-сервер

В качестве push-сервера мы использовали GlassFish 4.0. Вот, как выглядит архитектура сервера.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 13

Архитектура сервера

Системная диаграмма сервера показана ниже. Когда Edison, пользуясь сведениями с ZigBee-датчиков, определит, что состояние помещения изменилось со «свободно» на «занято», или наоборот, он оповестит об этом сервер. Сервер, в свою очередь, изменит соответствующую запись в базе данных, а затем, если комната пуста, отправит сообщение Android-приложению.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 14

Рабочий процесс Push-сервера

Intel Edison и ZigBee

В Arduino интерфейс между Intel Edison и координатором XBee эмулируется в виде последовательного порта. Приложение, запущенное на Intel Edison, работает как ZigBee-шлюз. С его помощью мы можем отправлять команды ZigBee-датчикам и принимать ответы от них.
Координатор ZigBee, кроме того, отвечает за передачу сведений с датчиков push-серверу.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 15

Устройство стека ZigBee в Arduino

Мы спроектировали и реализовали в среде Arduino простой стек ZigBee, который используется для взаимодействия с датчиками. Плата работает в режиме координатора, который наблюдает за состоянием датчиков, и, если такая возможность предусмотрена, позволяет управлять ими.

Классы стека ZigBee

Класс Функция
XBeeAddress Базовый класс адреса устройства ZigBee
XBeeAddress64 64-битный IEEE-адрес устройства ZigBee
XBeeAddress16 16-битный сетевой адрес устройства ZigBee
Payload Полезная нагрузка командного кадра ZigBee
ExplicitAddressCommand Командный кадр ZigBee, используемый в спецификации домашней автоматики
ExplicitAddressCommandResponse Ответ на команду на явно заданный адрес
XBeeSensor Базовый класс ZigBee-датчика
XBeeLightSensor Датчик освещённости ZigBee
XBeeInfraSensor Датчик присутствия ZigBee
XBeeAlarm Сигнализация ZigBee

Основные функции ArduinoXBee

Главный класс ArduinoXBee – это XBeeCoordinator. Этот класс отвечает за управление ZigBee-датчиками. Его основные задачи заключаются в сборе сведений с датчиков и в отправке им команд для удалённого управления их поведением. Вот описание функций, применяемых для работы с датчиками.

Int getLightValue(XBeeLightSensor lightSensor). Эта функция используется для получения сведений с датчика освещённости. На её вход подаётся объект датчика освещённости, на выходе получаем целое число в диапазоне от 0 до 65535.

bool getInfraValue(XBeeInfraSensor infraSensor). Функция получает показания заданного датчика присутствия. При вызове ей передаётся объект датчика присутствия, а возвращает она логическое значение. True указывает на то, что в комнате кто-то есть, False – на то, что комната пуста.

void turnOnAlarm(XBeeAlarm alarm) и void turnOffAlarm(XBeeAlarm alarm). Эти функции, соответственно, включают и выключают сигнализацию. При их вызове используется объект, символизирующий нужное устройство, они ничего не возвращают.

void turnOnSwitch(XBeeSmartPlug plug) и void turnOffSwitch(XBeeSmartPlug plug). Эти функции позволяют включать и отключать подачу электричества интеллектуальными розетками. При вызове функций им передают объект, соответствующий розетке, они не возвращают ничего.

Приложение для Android

Когда пользователь запускает приложение, у него есть возможность создать новое расписание или управлять существующим, а именно – удалить его. Создавая новое расписание, пользователь может выполнять поиск переговорных по времени и расположению. Если комната свободна, её можно тут же зарезервировать. Если комната занята, пользователь может выбрать вариант ожидания освобождения комнаты. Как только датчики ZigBee зафиксируют освобождение комнаты в пределах заданного временного диапазона, push-сервер отправит уведомление приложению, и пользователь, который это уведомление получит, может зарезервировать комнату.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 16

Системная диаграмма работы с Android-приложением

Пользовательский интерфейс Android-приложения

Приложение для Android мы назвали «Smart Conference Room System». Пользуясь им, сотрудник организации может забронировать переговорную и управлять зарезервированными комнатами. Вот, как выглядит главный экран приложения.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 17

Главный экран приложения

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

Используя команду My Scheduling, пользователи могут бронировать переговорные (синий цвет используется для указания на то, что комната свободна, серый – на то, что уже забронирована). Если комната не свободна, пользователь может включить режим ожидания её освобождения.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 18

Бронирование комнаты

Пользователи могут проверять состояние комнат, которые они забронировали, или тех, освобождения которых ожидают. Синим цветом выводятся успешно забронированные комнаты, серым – те, освобождения которых ожидает сотрудник. Здесь же можно управлять своим расписанием.

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 19

Управление расписанием

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

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 20

Уведомление об освобождении комнаты

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

Выводы

Мы разработали интеллектуальную систему управления комнатами для переговоров, в основе которой – простой ZigBee-стек для Arduino. Система может определять, в режиме реального времени, свободна комната или занята. Это позволяет упростить бронирование помещений, сделать его удобнее, повысить эффективность использования переговорных комнат.

Многое уже сделано, но мы, однако, всё ещё сталкиваемся с некоторыми сложностями. Это касается разных аспектов работы системы. Так, если говорить о её внутреннем устройстве, о стеке, на котором она основана, это ограничения функций API стека и всего комплекса. Кроме того, нужно улучшить стабильность работы системы и другие аспекты её функционирования. Мы планируем создание следующей версии Smart Conference Room System, которая будет более функциональной, стабильной и удобной, а значит позволит лучше решать её основную задачу: оптимизацию использования переговорных комнат в организациях.

Автор: Intel

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js