Основа архитектуры «Интернета вещей»
В статье рассматривается современная архитектура решений для «Интернета вещей» (Internet of things, IoT). В качестве примера приведено готовое решение от компании Eurotech, представлены основные преимущества его применения. Подробно описаны его компоненты, такие как программное обеспечение для шлюзов и облачная платформа, являющиеся продуктами с открытым программным кодом от Eclipse Foundation.
Существующая архитектура M2M (рис. 1) позволяет интегрировать приложения в бизнес-системы предприятия по схеме «один с одним», т. е. одно приложение подключено к одной бизнес-системе. Если те же самые данные нужны второй системе, то приходится использовать вторую линию связи — и т. д. Такая архитектура негибкая и менее всего приспособлена для корпоративных систем управления предприятиями. Она является барьером для интеграции. Требуется специализированная заказная разработка для доступа к данным.
Рис. 1. Архитектура M2M позволяет сервисам (устройствам) общаться только по схеме «один с одним», что является существенным ограничением
В то же время корпоративные среды управления могут добавлять и удалять информационно-коммуникационные системы без внесения изменений в архитектуру. В этом случае на первый план выходит сервисная корпоративная шина для устройств.
Рис. 2. Архитектура «Интернета вещей» очень гибкая: производитель и потребитель M2M-данных не привязаны друг к другу. Она поддерживает схему «многие со многими»
Сервисная корпоративная шина (англ. Enterprise Service Bus, ESB) широко применяется не только для корпоративных информационно-коммуникационных сетей, но и в мировом Интернете. Это многократно проверенная на практике концепция коммуникационной шины, которая позволяет различным приложениям и устройствам предприятия связываться между собой. Как показано на рис. 2, ESB для устройств дает возможность IoT-приложениям осуществлять связь с бизнес-средами предприятия тем же способом. В этом случае ESB становится бизнес-расширением домена «Интернета вещей» (рис. 3).
Рис. 3. Компания Eurotech построила решение ESB для устройств, позволяющее различным корпоративным приложениям работать с любыми M2M-источниками данных
ESB для устройств от компании Eurotech основана на уже зарекомендовавшем себя на рынке продукте, который был разработан для осуществления связи между взаимодействующими программными приложениями в сервис-ориентированных архитектурах (англ. Service-Oriented Architecture, SOA). Такая архитектура базируется на программных компонентах, предоставляющих свои функциональные возможности в качестве сервиса другим приложениям. А если основой являются программные компоненты, то архитектура по определению очень гибкая.
Законченное решение
Процесс работы с данными в M2M можно разбить на три основных этапа: сбор, передача и обработка данных. В «Интернете вещей» все так же, за исключением того, что информация передается через межплатформенное программное обеспечение (ПО). На рис. 4 представлено законченное решение для промышленного «Интернета вещей», где межплатформенное ПО находится в облачном решении компании Eurotech Everyware Cloud, которое является iPaaS (англ. Integration platform as a service — интеграционная платформа как сервис). Данная платформа предоставляет пользователям комбинацию облачных сервисов, также называемых сервисами интеграционной платформы, для разработки и исполнения проектов, а также управления ими.
Рис. 4. Everywhere Cloud – интегрированная программная платформа, являющаяся частью Device Cloud и сервисной шиной предприятия для устройств
Сбор информации начинается с датчиков, которые контролируют и управляют параметрическими данными, и исполнительных устройств, передающих информацию о своей работе. Решения B2B в сегменте «Интернета вещей» обычно включают огромное количество датчиков — десятки или сотни тысяч. Eurotech разработала технологии, позволяющие быстро и легко развертывать приложения, а в дальнейшем управлять ими. Они дают возможность предоставлять экономически эффективные решения, имеющие расширенные функции масштабирования для корпоративных сетей, а также для предприятий малого и среднего бизнеса.
В зависимости от расстояния используются различные коммуникационные технологии для подключения интеллектуальных шлюзов к облачным сервисам — например, Wi-Fi для локальных систем и сотовые технологии для глобальных. Основная задача шлюзов — агрегирование данных, но они часто применяются для выполнения аналитических функций или задач предварительной обработки, в частности для передачи данных, отвечающих заданным параметрам. Это необходимо для уменьшения объема передаваемой информации и ее нормализации, к примеру конвертации исходных данных с датчиков в стандартный формат (рис. 5).
Рис. 5. Архитектура Eurotech может использоваться как для стандартных M2M-решений, так и для задач по модернизации существующих систем
Комплексное решение Everyware Cloud предоставляет функциональность, требующуюся для выполнения преобразования сообщений, их маршрутизации, преобразования протоколов, нормализации данных, виртуализации сервисов, отслеживания, учета, администрирования, а также для управления жизненным циклом распределенных устройств.
Это позволяет рассматривать инфраструктуру полевого уровня, с точки зрения ИТ, как расширение для корпоративной системы управления, обеспечивающее взаимодействие между всеми компонентами с помощью коммуникационных технологий.
Интеллектуальные IoT-шлюзы с ПО Java-OSGi
По мнению исследовательского агентства Harbor Research, «с подключением транспортных средств к Интернету значительно увеличился поток информации, и производители были вынуждены ограничивать данные, которые необходимо отправлять в облачные сервисы». Их обработка непосредственно на транспортном средстве позволяет идентифицировать и передавать наиболее важные данные: например, с помощью установленных правил в облако отправляется информация только тогда, когда возникает механическая неисправность или обнаружены аномалии в процессе движения. Таким образом, с учетом растущих требований по компьютерным мощностям на местах, а также того, что современные программные среды дают возможность запускать множество приложений, можно отметить, что возникает ряд интересных факторов, помогающих лучше понять современную ситуацию:
- 90% всех созданных данных никогда не анализировалось;
- данные создаются в 2 раза быстрее, чем растут пропускные возможности;
- 60% данных теряют свою ценность в течение миллисекунд;
- в 2017 г. вычислительные мощности смартфонов превысят мощности серверов и систем хранения в дата-центрах.
Описанные факторы можно учитывать не только для транспортного рынка. Все эти наблюдения справедливы и по отношению ко многим другим промышленным сценариям или в тех случаях, когда требуется обработка информации на местах или аналитика в шлюзах «Интернета вещей».
Чтобы полностью соответствовать требованиям по вычислительным возможностям и в то же время контролировать и управлять работой шлюза (изменять параметры в реальном времени, обновлять ПО, производить мониторинг устройства, диагностику, обеспечивать безопасность и т. д.), было разработано ПО Java/OSGi Framework для IoT-шлюзов (рис. 6).
Из чего состоит IoT
Если обратиться к википедии в поисках определения для термина “интернет вещей”, можно увидеть следущее:
Интернет вещей (англ. Internet of Things, IoT) — концепция вычислительной сети физических предметов («вещей»), оснащённых встроенными технологиями для взаимодействия друг с другом или с внешней средой, рассматривающая организацию таких сетей как явление, способное перестроить экономические и общественные процессы, исключающее из части действий и операций необходимость участия человека.
В данной статье мне хотелось бы рассмотреть то, посредством каких именно “вещей” может быть реализована в нашем мире эта идея и то, какими способами они могут взаимодействовать друг с другом или со внешней средой.
Базовые элементы делятся на несколько типов: сенсоры, актуаторы и гейты.
Сенсоры
Пожалуй нет смысла объяснять смысл и назначение этого типа элементов. Оно ничем не отличается от стандартных: разнообразные термометры, микрофоны, камеры и десятки прочих, менее распространённых устройств. Некоторые из них можно увидеть на изображении Sensors Starter Kit для Arduino:
Актуаторы
Данный тип элементов предназначается для того, чтобы воздействовать на окружающую среду, или на определённый объект в ней. Эту роль могут выполнять самые разнообразные устройства: от сервоприводов и динамиков до замков (конечно, электронных) с осветительными приборами.
Гейты
Это устройства, на которые обычно возлагают логику поверхностного анализа информации, поступающей от подключенных к ним сенсоров. В определённых ситуациях, анализ данных может требовать малого количества вычислительных ресурсов, так что гейты вполне способны принимать некоторые решения самостоятельно. Принимая такие решения, они отправляют определённые команды управления на актуаторы, которые, в свою очередь, выполняют уже свои функции.
Если же обработка иформации требует больших затрат, или эта информация подлежит сбору, гейты отправляют её на сервера, где с ней и производится дальнейшая работа. Вполне себе вероятно использование в роли гейтов микрокомпьютеров (вверху) или микропроцессоров (внизу):
Для того, чтобы построить мониторинговую систему, достаточно будет использования лишь сенсоров и некоторого сервера, который будет выступать в роли гейта. Например, благодаря сенсору движения и условной “малине”, можно без особых усилий организовать учёт количества людей, проходящих через какую-нибудь проходную.
Добавив в ранее сконструированную модель актуатор в лице динамика, можно добиться того, чтобы проход каждого n-ного проходящего был подзвучен величественными фанфарами.
Так, усложнять конструкцию подобной ячейки можно довольно долго. Однако в определённый момент неизбежно появится необходимость в долгосрочном хранении собранной статистики, её анализе, визуализации и прочем. Здесь понадобятся уже полноценные сервера, которым можно будет делегировать данные обязанности. Такие сервера в совокупности образуют облака, к которым и подключаются гейты.
Транспорт
Теперь, когда уже более или менее ясно, какие устройства используются для создания инфраструктуры, можно посмотреть на то, какими средствами эти устройства друг с другом взаимодействуют. Как видно на первом изображении, есть 2 условные группы — облако и периферия.
Ячейки, состоящие из вышеперечисленных типов устройств, как можно заметить, находятся в периферии и для коммуникации используют специальные протоколы взаимодействия. Более всего распространены LoRa и ZigBee. Обе эти сети являются очень медленными в сравнении, например, с 4G или даже с 3G, однако имеют и свои преимущества.
Одним из главных является их энергоэффективность. Дело в том, что идея интернета вещей заключается в создании среды устройств, коммуницирующих между собой без участия человека. Стоит заметить, что в некоторых случаях полностью избежать вмешательства человека избежать не удастся. Например, в системе подсчёта количества прошедших человек есть сенсор движения. Ему, как и любому другому электрическому устройству, необходимо питание. Проводить провода с питанием к каждому такому сенсору (если их больше 5 и они сильно разбросаны в пространстве) кажется не лучшей идеей. Соответственно, работать они будут от батареек или аккумуляторов. Если потребление заряда будет чрезмерным, элементы питания им нужно будет менять довольно часто. А это приведёт к тому, от чего стремится уйти интернет вещей — нужно же будет кому-то заменять эти батарейки. А вот если сенсоры будут энергоэффективны, то достаточно будет просто вставить батарейку и забыть об этом на год, два, пять и т. д.
Ещё одним преимуществом этих сетей является высокая помехоустойчивость. Каждый бит информации в этих сетях отправляется отдельным радиосигналом, поэтому его довольно просто выделить на фоне эфирного шума.
Небольшое сравнение LoRa и ZigBee
А вот между периферией и облаком, а так же и внутри облака, используются, обычно, знакомые и привычные всем wi-fi с ethernet, сотовые и спутниковые сети и т. д.
Сравнение разных видов сетей на основе скорости и дальности
Заключение
Теперь, рассмотрев устройство сетей интернета вещей, можно точно сказать, что в плане аппаратной части нет ничего загадочного и сложного. Сделать простенькую IoT-сеть может любой желающий, способный купить довольно дешёвые на сегодняшний день компоненты и написать код из пары строк. Однако для того, чтобы разработать и притворить в жизнь серьёзные проекты как, например, реализацию концепции умного дома или даже умного города, нужно приложить огромное количество усилий. Ведь для того, чтобы все эти устройства работали между собой нужна платформа, способная контролировать все протекающие процессы.
Так же не стоит забывать, что в облаках интернета вещей могут использоваться и другие технологии, помогающие раскрыть его потенциал в большей степени. Такими могут выступать и BigData, и BlockChain, и нейросети с машинным обучением. А ведь каждая из последних перечисленных технологий являет собой отдельную обширную область компьютерных (и не очень) наук.