×Закрыть

DOU Labs: как в GlobalLogic создали климатическую систему с дополненной реальностью

В рубрике DOU Labs мы приглашаем IT-компании делиться опытом собственных интересных разработок и внутренних технологических инициатив. Вопросы и заявки на участие присылайте на editors@dou.ua.

Соавтор статьи — Алексей Огуй (Senior Manager, GlobalLogic)

Ранее мы уже рассказывали о том, что в харьковском офисе GlobalLogic запустилась инновационная лаборатория BrainMade. Это инкубатор идей внутри компании, где когда-либо созданные Proof-of-Concept (PoC) получают свое продолжение, развитие и, в перспективе, практическую реализацию. Кроме концепции умной железной дороги, мы писали и о некоторых новых направлениях лаборатории, например, Big Data, Industrial, IoT, Augmented Reality, Machine Learning.

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

Идея проекта

Идея MeteoLogic возникла из особенностей офиса GlobalLogic в Харькове. Вернее, из особенностей бизнес-центра, где расположен офис и где нет центральной системы кондиционирования и управления температурой. Для того, чтобы поддерживать оптимальный микроклимат в помещениях, специально обученный человек производит регулярный обход и вручную снимает показания температуры офисного воздуха. Да, это действительно нерационально и трудозатратно. Именно эта часть офисной рутины вдохновила нас на создание PoC.

Как вариант, можно было использовать готовые датчики и климатические решения. Мы оценили существующие готовые решения, а также решения «под ключ», их стоимость. Получалось неоправданно дорого. Кроме того, они не давали возможности в точности выполнить поставленную задачу и интегрировать все данные в одну наглядную систему для практического использования в офисе.

У команды проекта уже был опыт работы с embedded-решениями и, что немаловажно, огромное желание экспериментировать в IoT. Таким образом, возникла идея сделать все самостоятельно с нуля.

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

Реализация

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

После обработки результатов опросов мы перешли к экспериментам и подбору оборудования. В результате мы выбрали датчики температуры и влажности DHT11, которые по протоколу MQTT передают информацию на специальные хабы. Аккумулируя информацию с нескольких датчиков (например, расположенных в одном блоке или на одном этаже), хаб через Wi-Fi передает ее дальше на сервер. Обработка данных происходит на сервере, где данные агрегируются, визуализируются и передаются на пользовательские компьютеры через веб-интерфейс.

При серийном производстве стоимость одного датчика составит $7-8, хаба — $9-10. Для покрытия офиса площадью около 5600 м2 (в среднем 1000 м2 один этаж) нам может понадобиться около 100 датчиков и 4-5 хабов.

Наиболее сложной задачей стал подбор аппаратных устройств, которые бы удовлетворили нас по функциональности, надежности и производительности, но при этом были бы простыми в массовом производстве и обладали невысокой ценой. Также вопросы возникли в необходимости глубокой проработки UX для веб-интерфейса, обеспечении стабильности беспроводной передачи информации от датчиков к хабам (проблемы с разводкой антенны), учитывая тот факт, что проектированием плат занимались s/w engineers, пусть и со специализацией в embedded.

Развитие идеи в процессе реализации

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

Во-первых, это визуальное отображение информации о температуре и влажности непосредственно возле датчика. Конечно, крайней необходимости делать это с помощью AR нет, зато это выглядит достаточно эффектно: навел камеру смартфона на настенный датчик — моментально увидел показатели.

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

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

Благодаря технологиям Unity и Vuforia через пару месяцев у нас была готова «надстройка» дополненной реальности к проекту. Теперь у нас есть приложение для Android и iOS, получающее информацию от сервера на основе уникальной метки датчика и отображающее основные показатели системы пользователю.

Результаты и планы

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

На данный момент команда уже спроектировала новую версию печатной платы с поддержкой BLE и заказ передан в производство, параллельно идёт серьёзная переработка софтверной части, которая позволит легко масштабировать и расширять функционал платформы путем подключения новых датчиков по стандартным алгоритмам работы с периферийными модулями (SPI, UART, I2C).

Одним из первых внешних датчиков, который был подключён к системе с использованием новой расширяемой архитектуры ПО, стал датчик углекислого газа MH-Z14.

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

Для продолжения этого проекта мы выбрали следующие направления развития идеи: оптимизация сетевой инфраструктуры путем реализации сети типа mesh и, как следствие, минимизация количества хабов на каждом этаже до одного экземпляра. Интересная задача — переход на беспроводную технологию Bluetooth Low Energy (BLE), которая удачно сочетает в себе возможность реализации mesh-сети и минимизацию энергопотребления датчиков.

Кроме этого, есть планы всячески дополнять проект новыми технологиями и интегрировать с другими существующими решениями, в том числе упомянутой ранее железной дорогой, что как нельзя лучше служит целям и задачам BrainMade. К проекту уже подключилась команда Big Data, которая занимается улучшением обработки, анализа и визуализации получаемых реальных данных. По сути — мы разработали базис для дальнейшего творчества команды.

Система обросла решениями, углубила нашу экспертизу, стала толчком к синергии технологий и полем для развития бизнеса. Стимулируя развитие простых и понятных всем вещей, мы вышли на другой технологический стек, связанный с применением Machine Learning.

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

Мы уверены, что новые идеи приносятся людьми. Этот проект ярко показал: к команде можно присоединиться на каждом этапе, привнести свой вклад в общее дело и продолжить дело, начатое другими. Мы не можем сказать, что это конец проекта. Из опыта — мы постоянно развиваем свои же идеи. Поэтому если вам интересны технологии начиная от embedded заканчивая data science — мы будем только рады новым людям в команде, пишите igor.manzhos@globallogic.com!

44 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.
Интересная задача — переход на беспроводную технологию Bluetooth Low Energy (BLE), которая удачно сочетает в себе возможность реализации mesh-сети и минимизацию энергопотребления датчиков.

Рекомедную BLE від Cypress, багато профайлів реалізовано і все легко конфігурується в GUI:
www.cypress.com/...​soc-4-ble-bluetooth-smart Найкраще вам підійдуть профайли ESS та Automation IO.

LoRaONE — ця технологія може бути для вас кращою альтернативою BLE. Розроблена для великої дальності (приблизно 5 км) і мінімального споживання струму. Це дасть змогу використовувати тільки 1 хаб. Ціна модулів від 4$:

www.ebay.com/...​a.TRS0&_nkw=LoRa&_sacat=0

www.lora-alliance.org/technology

Василий, спасибо за совет. Действительно, соревноваться блютузу в дальности передачи и энергопотреблении с LoRa тяжело, но использование BLE позволяет превратить практически любой современный гаджет с соответствующим приложением в контроллер, который может напрямую взаимодействовать с любым датчиком.
Кстати, проблема дальности в новой версии BLE решается с помощью поддержки mesh-сети, что в условиях офиса отлично имплементируется.

На чіпах якої компанії у вас реалізована mesh?

Разве это AR, Тупо Image Target, хотя походу QR... не какой привязки к физическому пространству, а значит не очень ... Мы такие AR Маркеры уже давно клипаем, уже за 10 проектов счет вышел. Идея с менюшками в воздухе интересная ))) На жесты реагируете? Голосовые команды? АR кнопки? P.S. Вобшем история как несколько человек распилили бюджет, по быстрому собрали на Ардуино контроллер, благо сейчас на рынке куча датчиков. На Юнити можно софт залепить тупо меню сверстать по Блютузу подключить к ардуино. Цена всего проекта тысяч 30 если по серьезному заморочиться, с коробкой и готовым функционалом. Покажите видео анимации менюшек. Да и че с AR Экспериментировать? уже давно все написано Юзай не хочу. MR (mixed reality) — другое дело, тут и физическое пространство нужно юзать, и на жесты реагировать, голосовое управление возможно. Кнопку EXIT нужно на IOS проекте убрать... Не пройдет по Apple чеклисту...

Андрей, по поводу «распила бюджета» — в этом проекте мы только пилили, а точнее оттачивали свои знания и опыт в предметной области :)
Весь проект был сделан на добровольных началах нашими инженерами в свободное от основной деятельности время. На данном этапе — это не коммерческий проект. Нашей целью была практика в предметной области и желание применить свои знания не только на благо клиентов, а и родной компании. Точнее можно сказать, что клиентом выступил отдел Employee Services, правда для них это был неожиданный ход с нашей стороны, а также благодарность за всё то, что они делают для нас каждый день, чтобы наше пребывание в GlobalLogic были максимально комфортными!

Хотя если быть до конца честным, то всё-таки бюджет был, я немного забыл уже историю...Конечно же, железяки и затраты на производство плат были — около 500$.

железяки и затраты на производство плат

Есть а в п.п.

Реализация

— ничего нет. Как так?

Довольно оригинальная реакция на недавние жалобы на систему кондиционирования

Игорь, спасибо за статью. Мы, у себя в офисе, собрали очень похоже решение, но не можем побороть проблему питания :).
Можете подсказать, как вы добились чтобы батарейка в датчиках не умирала бы через неделю?

Проблему питания можно решить: либо избавившись от батарейки/аккумулятора как таковых (странно в офисных условиях при наличии готовой инфраструктуры ИТ компании в виде Ethernet не воспользоваться свободными витыми парами, если не гигабит сеть), либо переводить модули в режим сна (в случае с некоторыми RFM это можно делать коммутацией питания, а WLAN модули из коробки в зависимости от конструктива). Либо, использовать альтернативные возобновляемые источники: механическую энергию проходящего народа (пьезогенераторы), если помещение не подвальное — мини-солнечная панель на окне + ионистор www.youtube.com/...​KznlFefwXsrF8ecyn5keq8fRx

На этапе дизайна системы мы рассматривали много вариантов питания датчиков. В конечном итоге остановились на автономном решение на 2 стандартных батарейках АА, которые, опять же, среди батарейных элементов питания являются самым дешёвым и универсальным с точки зрения обслуживания решением (причём можно использовать как аккумуляторы, так и одноразовые элементы в случае необходимости регулярной замены).
Реальная эксплуатация в офисе показала, что двух щелочных батареек хватает более чем на 2 года эксплуатации (первые датчики так до сих пор и работают на старых батарейках). Поэтому вопрос в аккумуляторах отпал сам собой.
На наш взгляд автономность питания делает систему в целом более универсальной и легко обслуживаемой. Н-р, если вам надо поставить новый датчик, то достаточно просто положить его в нужное место или прикрепить на двустороннем скотче и всё! В случае же с проводами, монтаж может занять довольно много времени или вообще стать проблемой (н-р, если вы захотите поместить датчик на лоджии или балконе, или в трудно доступном месте).

двух щелочных батареек хватает более чем на 2 года эксплуатации (первые датчики так до сих пор и работают на старых батарейках

2 года с абдуриной? Вы ведь только в последнее время сказали на nRF переехали.

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

В случае же с проводами, монтаж может занять довольно много времени

так речь не о проводах, а уже готовой коммуникации. А насчет времени на монтаж, не более чем сетевая розетка. Много времени это занимает? )

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

А другие коммуникации у вас в офисе как проведены?

Денис, мы реализовали программную часть таким образом, чтобы датчики находились практически всё время в режиме сна и просыпалось через определённый интервал времени, н-р, 5, 10 или 15 минут. Для контроля микроклимата этого вполне достаточно.
С другой стороны, хабы, которые передают информацию от датчиков на сервер через Wi-Fi соединение работают от постоянного источника питания и «слушают» датчики всё время.
Опять же, это довольно простое решение, которое можно улучшать и довести реализацию до идеальной картины, когда датчики и хабы синхронно просыпаются и делают короткий сеанс передачи данных, однако тогда возникает много проблем и задач, связанных с рассинхронизацией, коллизиями, добавлением нового датчика в работающую систему и т.п.

о, первые цифры по времени. Теперь потребление составляющих в студию. Не вижу RTC на фото для синхронного выхода из сна. Внутренние таймеры сна имеют свойство плавать.

задач, связанных с рассинхронизацией, коллизиями

о каких коллизиях речь, если система «один мастер-все подчиненные» ? )

На счет управления кондиционером:
есть такая штука Broadlink RM 3 Mini (aka Black Bean)
В офисе поставили, отлично работает
github.com/davorf/BlackBeanControl

Олег, хорошо подмечено. Лично я дома игрался с подобным решением от Orvibo — тоже понравилось. Но цена вопроса больше 30$, а на момент дизайна проекта была ещё дороже. Стоит отметить, что за последние несколько лет появилось много интересных бюджетных решений в области умного дома/офиса от китайских производителей и, конечно, конкурировать с ними в цене конечных устройств — утопическая идея, но на самом деле что пульт Orvibo, что Broadlink обладают рядом и недостатков для применения в качестве компонентов интегрированного и системного решения:

1. сложность с интеграцией в системные решения
Насколько я помню, упомянутые китайские компании не предоставляют API для управления своими устройствами, а только готовые мобильные приложения или веб-интерфейс, местами глючный, местами на китайском языке.

2. Падение надёжности системы и зависимость от сервисов сторонних компаний. И в конечном итоге вы ещё будете зависеть от их облачного решения, которое обычно находится на недорогом хостинге в Китае. Пропал интернет в офисе — и кондиционер включить не получится :)

3. Не обеспечивается автономность питания

4. Всё-таки цена в несколько раз выше. А когда вы масштабируете такое решение на общую офисную площадь размером 5-6 тысяч квадратных метров — это уже тысячи долларов в разнице конечной стоимости решения.

Сложности нет. Интеграция на питоне (там ссылка вверху), джаваскрипте github.com/lprhodes/broadlinkjs-rm и куче других языков. Управление идет напрямую.
Китайское облако надо только при работе с приложением, ну или если захочется поуправлять кондиционером через китайцев с другого конца света)
Работает напрямую через протокол QUIC (гугловский кстати)
Стоимость (ссылку не буду кидать) в украине — 400 грн в алло, на али — от 9 баксов (если мониторить)
Питается от обычного USB, жрет мало, так что бесперебойник если нужен — легко организуется павербанком.
А если говорить про интеграцию — на питоне (вы же пишете сайты на питоне? ) ) интергация занимает примерно минут 15)

Небольшой совет, DHT11 лучше заменить на DHT22, они совместимы по распиновке, немного меняется код для их опроса (под arduino есть универсальная библиотека), но они намного точнее. Особенно по влажности. DHT11 дают разброс в 10% относительной влажности, когда лежат рядом. По температуре там тоже на 1-2 градуса разбег есть.

Александр, полностью с Вами согласен! Мы уже это сделали в новой версии датчиков, построенной на BLE.
DHT22 уже лежат у меня на столе, осталось только найти время всё это собрать в рабочий девайс и дождаться новых PCB :)
Однако, в своё время возникла делема между желанием сделать решение максимально доступным по цене (для массового производства) и точностью показаний. Ведь DHT22 заметно дороже DHT11...

Смотря как считать )). Разница в цене в 3 раза — много. Но разница 1.5$ на фоне всего устройства, скажем, за 9$, уже не кажется такой пугающей. Но как раз из-за того, что у Вас их будет много, повторяемость результатов важна, иначе придется усреднять показания по всему этажу.

...DHT22 к тому же с резистором подтяжки на борту, минус деталь.

по-моему, подтяга там нет. По крайней мере, у меня без 10к к плюсу не работает.

DHT-22 бывают в различных исполнениях, есть и с подтягивающим ipic.su/...​49dfa87bcd.1503059520.jpg

Я про голый модуль говорил, внутри там нет подтяга, а всякие дополнительные китайские платки — в которые он запаян, там да, навешали чуть деталей ))

DHT22 сам по себе тоже не изделие само в себе, DS18B20, датчик влажности, мультиплексирующий контроллер )
И фото выше как раз одна из реализаций модуля, а не дополнительной платки.

1- фото не мастштабируемы
2- где код?
3- где схема принципиальная, да хотя бы функциональная?
4- для датчика целую UNO + радиомодуль? Нерационально, экономически неоправданно. Ардуино тут лишнее звено, достаточно датчика и радиомодуля. В качестве оного модули на RTL8710, ESP.

Учитывайте всё же ж нетехническую направленность издания и самой организации это же ж не программисты для программистов здесь вам не тут.

...зато пафосно:

Это система мониторинга микроклимата в помещении под названием MeteoLogic, основанная на технологиях умного дома и интернета вещей.

Сергей, спасибо за интерес к проекту! Касательно вопросов:
2 — код, конечно, есть и существует несколько разных версий для разных инженерных прототипов устройств, начиная с самого первого, построенного на популярных ref-платах и заканчивая кастомизированным решением на произведённых PCB, который на фото участвует в экспериментах с дополненной реальностью.

3 — детали имплементации софта и железа для датчиков выходят за рамки одной статьи. В данном случае мы хотели поделиться опытом интеграции технологий Internet of Things (IoT) и Augmented Reality (AR). С другой стороны, сама по себе текущая реализация устройства датчиков с точки зрения «железа» являлась скорее инструментом получить актуальный опыт работы с IoT и AR, а не главной целью проекта, поэтому мы не делали в публикации акцента на деталях имплементации.

4 — как я уже ответил, на картинке Вы видите самый первый прототип, собранный в первый месяц работы над проектом. В актуальной версии датчиков мы используем самый простой микроконтроллер STM8 в связке с RFM73 радиомодулем, в хабе используется Wi-Fi модуль ESP8622 и, конечно, всё это смонтировано на компактной плате в небольшом корпусу, который показан на фото.
В связи с желанием сделать радиопередачу более стабильной, уменьшить зависимость характеристик от разводки платы и, как результат, уменьшить количество необходимых хабов, мы провели ряд экспериментов с модулем nRF24l01, который позволял сделать решение 2 в 1, т.е. выступить в качестве основного микроконтроллера датчика. Но в этом время вышла новая спецификация BLE с поддержкой mesh-сети и мы решили сделать не шаг, а сразу прыжок в этом направлении :)
Возможно, последняя версия платы (BLE) и софта в ближайшем будущем станет предметом отдельной публикации, в которой мы осветим детали работы. В любом случае, спасибо за вопросы и интерес!

2- git?
3- статья должна содержать проблематику (постановку задачи), цели, методы реализации и решение. А тут в самом же начале из дополненной реальности только слова, приложите видео что-ли.

В актуальной версии датчиков мы используем самый простой микроконтроллер STM8 в связке с RFM73 радиомодулем, в хабе используется Wi-Fi модуль ESP8622

сразу полюбопытствую, как FSK радиомодуль от телеконтроли состыковали с Wi-Fi сетью (IEEE 802.11 b/g/n)? То что ESP и RFM работают в одном дипазоне частот, еще не значит что стандарты/протоколы совместимы.

Думаю, ответ очевиден, хаб — это шлюз из FSK в WiFi, и скорее всего, там стоят оба модуля. Я вот хочу сделать хаб/шлюз/гейт с Ethernet и PoE нормальным, но пока не подобрал нормального аппаратного решения за вменяемые деньги. Вот бы OrangePi запилили с правильным РоЕ...

Напротив, неочевиден ввиду отсутствия функциональной схемы. И даже, если таким образом организован мост, то неоптимальность решения налицо. Впрочем, они сами признались, что переехали на nRF.

Александр всё верно предположил. В хабе используются оба модуля — RFM и ESP. Действительно, это далеко не оптимальное решение, правда оно создавалось несколько лет назад, когда цены на 2.4GHz подобные решения были в разы выше, а как я уже написал, одна из целей проекта была сделать это решение в сегменте low-cost. Сейчас, конечно, это не оправдано.
Также хочу отметить, что версия на RFM73 делалась в довольно сжатые сроки — 3 месяца — и это был проект в свободное от работы время, т.е. по вечерам и ночам :) И вспоминая то весёлое время, надо не забывать, что огромная часть усилий была сконцентрирована на UI, фронтенде и других вещах, которые для конечного пользователя были куда важнее, чем оптимальное решение «железных» задач. Поэтому я согласен с большинством замечаний по железу и в наших планах выйти на качественно другой уровень в новой версии устройства, цель которого масштабирование системы в рамках всей компании.

И вспоминая то весёлое время, надо не забывать, что огромная часть усилий была сконцентрирована на UI, фронтенде и других вещах, которые для конечного пользователя были куда важнее, чем оптимальное решение «железных» задач.

Но в материале как бы ничего этого не описано вообще деталей нет никаких?

Вот бы OrangePi запилили с правильным РоЕ...

для правильного PoE вместо перемычек нулевого сопротивления нужно ставить DC-DC или AC/DC, на али можно подобрать варианты приемлемых габаритов. Или хотели в ту же цену? )

Той бородатий дятько — видно шо адмін.

не угадали, даже близко не админ

HR?) Будь-ласка, здивуйте нас)

Подписаться на комментарии