Реализация инфраструктуры интернета вещей для умного офиса — опыт Microsoft Technology Center
Статья написана техническим директором центра решений и технологий Microsoft (Microsoft Technology Center), Максимом Хлюпновым, на основе реального опыта проектирования и реализации проекта умного офиса. Материал является продолжением статьи про Интернет Вещей, опубликованной в понедельник
Второй московский офис Microsoft, расположенный вблизи метро Белорусская, не является офисным помещением в общепринятом понимании. Большую часть 1700 кв.м. площади занимают демонстрационные стенды с новейшими устройствами и решениями, включая небольшой современный центр обработки данных на 160 кВт, три компьютерных класса на 15 рабочих мест каждый, переговорные комнаты и конференц-залы, начиненные современным оборудованием. Но это только «видимая часть» — ее работа обеспечивается системами электроснабжения, охлаждения ЦОД и другими сложными инженерными решениями. Впрочем, именно так и должен выглядеть технологический центр Microsoft (MTC), созданный для демонстрации и тестирования передовых технологий.
МТС постоянно меняется: партнеры поставляют новое оборудование, а сотрудники центра интегрируют его в существующую инфраструктуру.
Что отличает умный офис от обычного? Практически все. Начиная с парковки, которая рассчитывает количество необходимых мест для автомобилей сотрудников — до контроля энергопотребления Server Display Room (SDS). SDS — это небольшой ЦОД на 160 кВт для демонстраций и нагрузочных тестирований. Коммуникации, идентификация сотрудников или гостей по смарт-картам или c помощью NFC в телефоне, быстрый вызов лифтов в высотных зданиях, навигация по офису для гостей, электронный секретарь на reception, возможность управлять проектором, освещениям и другим оборудованием переговорной комнаты голосом со смартфона… Часть этих решений уже существует и активно используется, часть получит широкое распространение в ближайшем будущем. Сейчас мы завершаем интеграцию систем нашего офиса в единое решение на основе сервисов Microsoft Azure.
Команда технологического центра состоит всего из 10-ти человек, причем только двое из них заняты поддержкой инфраструктуры. Остальные сотрудники работают с заказчиками, проводят демонстрации, брифинги, сессии по созданию архитектуры решений, нагрузочные тестирования и проекты проверки правильности концепции.
От АСУ подсистем к архитектуре IoT-решения
С момента открытия в 2009 году MTC практически ежедневно принимает гостей: здесь проходят презентации для партнеров и заказчиков, семинары и тренинги для ИТ-специалистов, брифинги для журналистов. Только для тренингов ежедневно готовится более 50-ти компьютеров в четырех компьютерных классах.
Эффективное управления такой технически насыщенной площадкой немыслимо без автоматизации. Учитывая, что мероприятия для заказчиков являются ответственными — важно получать информацию мониторинга и уведомления об отказах систем и оборудования, заблаговременно предсказывать возможные сбои анализируя статистику эксплуатации систем.
В наших планах — опубликовать несколько статей, с описанием архитектуры и подходов, которые мы используем для управления и автоматизации современного офиса: Мониторинг инжиниринговой инфраструктуры и интеграция с системами управления зданием, мониторинг ЦОД (SDS), управление аудио-видео оборудованием, управление загрузкой переговорных комнат, анализ эффективности использования помещений и оборудования, предсказание сбоев и отказов.
В этой статье мы рассмотрим основные компоненты архитектуры, которые обеспечивают автоматизацию офисного пространства. Мы не реализовывали системы «с нуля», а выполнили интеграцию проверенных индустриальных решений партнеров технологического центра, построенных на индустриальных стандартах.
Работу инфраструктуры контролируют сотни датчиков и исполнительных механизмов. Источниками категориями сенсоров — поставщиков информации, являются:
- Датчики Server Display Room (температура, влажность, параметры электроснабжения, охлаждения, видео наблюдение и др.)
- Управления освещением
- Управление аудио-видео и презентационным оборудованием
- Управление расписанием, конфигурации и загрузкой помещений
- Управления климатом
- Управления доступом
- Повышения бизнес-продуктивности и объединенных коммуникаций
Данные этих сенсоров собираются и анализируются как локально, с использованием линейных концентраторов данных, так и с передачей в облачные сервисы.
Облако мы используем в первую очередь для уведомления об отказах — Exchange Online для отправки почты и Azure Notification Hub для отправки Push-уведомлений на смартфоны. Мы также планируем использовать сервисы машинного обучения Azure Machine Learning для анализа накопленной статистики с целью предсказания отказов.
Например, сейчас у нас используется несколько коммутаторов Crestron Advanced Control Processor 3-й серии для управления освещением через шину DALI, аудио-видео оборудованием (проекторы управляются через интерфейс RS-232, а телевизоры через IR). При этом коммутатор сообщает о каждом событии, которое происходит в управляемой им шине линейный концентратор.
Azure IoT gateway
Наш линейный концентратор IoT (IoT gateway) реализован в виде сервиса, который мы написали на C# с использованием Microsoft Lab of Things. Сервис концентратора, с одной стороны, слушает шину сигналов коммутаторов Crestron, а с другой стороны, публикует WCF-сервисы, которые доступны нашим мобильным и web-приложениям. Именно так, через мобильное приложение, которое вызывает WCF-сервис, и реализовано голосовое управление светом и аудео-видео оборудованием на ролике выше.
Кроме того, мы планируем транслировать сообщения сети Crestron (BACnet) через наш концентратор в облако для последующего анализа в Azure Machine Learning. Наша цель предсказывать возможные отказы оборудования и проективно определять, кому из наших пользователей понадобится помощь в настройке оборудования.
Сейчас у нас развернута подсистема, которая передает сообщения шины сигналов и команд Crestron через концентратор IoT (IoT gateway) в Azure EventHub. EventHub называется mtcmanager, он развернут в нашей подписке Azure и позволяет передать до 1Гб/сек событий в облако. Конечно, мы не создаем такого потока событий в нашем офисе, даже с учетом включения каждой лампочки, но это полностью соответствует реальным промышленным сценариям прикладной области. Ели бы мы обслуживали тысячи офисов по всем миру — EventHub все равно справился с потоком данных!
События в Azure EventHub поступают в формате JSON инкапсулированном в пакеты AMQP и содержат следующие данные: числовые значения (join, slot, value и тип сигнала — это информация с коммутатора Crestron), временной метки события и кода источника.
Нашей целью является отображение dashboard с состоянием света и проекторов в MTC (в каких комнатах включен свет, проектор и т.д.). Уже эта информация может быть полезна, если оборудование, например, включено во внерабочее время. Потом мы сможем подключить Azure Machine Learning, добавить данные из расписания мероприятий в MTC, с целью предсказывать, например, с какой вероятностью после завершения мероприятия забудут выключить свет или возникнут сложности с подключением аудио-видео оборудования.
Чтобы добавить метаданные к скупым показаниям датчиков мы подключаем сервис Azure StreamAnalytics и указываем источником его данных Azure EventHub «mtcmanager».
Описания сигналов по комбинациям значений join и slot хранятся в Azure SQL в виде справочной таблицы. Объединив данные каждого события с данными справочника в запросе Azure Stream Analytics мы получаем пригодную для анализа информацию.
Доступ отовсюду и безопасность решения
Классические системы АСУ понимают безопасность как физическую защиту подключения. Если кто-то получает возможность выхода в сеть управления здания, зачастую он получает доступ ко всем устройствам. Именно поэтому в классических системах АСУ публикация сервисов через интернет вызывает содрогание. Мы «перестаем контролировать периметр и обеспечение безопасности становится трудноразрешимой задачей» для классических АСУ.
Опубликовав WCF-сервисы нашего IoT концентратора через Azure Service Bus, мы получили возможность безопасного доступа к сервисам нашей системы из любой точки. Причем это не потребовало программирования. Доступ защищен двухфакторной аутентификацией для администраторов и является вполне безопасным.
Однако, имея большое количество сложных сервисов, которые обеспечивают управление критически важным для бизнеса оборудованием — огромное значение приобретает управление доступом. В офисе Microsoft работает несколько сотен человек, и многие из них участвуют в мероприятиях в МТС. Как обеспечить безопасный доступ к мобильным приложениям нескольким сотням человек «по требованию»? Ответом для нас является новая архитектура решений IoT на базе анонсированного Microsoft сервиса Azure IoT suite (см. рисунок ниже).
Но это уже тема для следующей статьи. Спасибо!