МЕТОДИКА СТАНДАРТИЗАЦИИ ПРОТОКОЛОВ ПЕРЕДАЧИ ДАННЫХ ДЛЯ КРОССПЛАТФОРМЕННОЙ ИНТЕГРАЦИИ IOT-УСТРОЙСТВ
Конференция: LXXXV Международная научно-практическая конференция «Научный форум: инновационная наука»
Секция: Технические науки

LXXXV Международная научно-практическая конференция «Научный форум: инновационная наука»
МЕТОДИКА СТАНДАРТИЗАЦИИ ПРОТОКОЛОВ ПЕРЕДАЧИ ДАННЫХ ДЛЯ КРОССПЛАТФОРМЕННОЙ ИНТЕГРАЦИИ IOT-УСТРОЙСТВ
METHODOLOGY OF DATA TRANSFER PROTOCOL STANDARDIZATION FOR CROSS-PLATFORM INTEGRATION OF IOT DEVICES
Askar Taximov
Master of science in Building and Urban design in development, University College London Head, City center of monitoring and rapid response of Astana city’s municipal government, Kazakhstan, Astana
Аннотация. Статья посвящена актуальной проблеме стандартизации протоколов передачи данных для обеспечения совместимости IoT-устройств различных производителей и отраслей. Проведён теоретический обзор современных протоколов, применяемых в интернете вещей на уровнях связи и приложений, проанализированы отраслевые особенности их внедрения. В работе представлена авторская методика стандартизации протоколов, направленная на повышение кроссплатформенной совместимости IoT-устройств.
Abstract. The article is devoted to the current problem of standardization of data transmission protocols for interoperability of IoT devices of different manufacturers and industries. A theoretical review of modern protocols applied in the Internet of things at communication and application levels has been carried out, the sectoral features of their implementation have been analyzed. The paper presents the author’s methodology of protocol standardization, aimed at improving cross-platform compatibility of IoT devices.
Ключевые слова: интернет вещей; IoT; протоколы передачи данных; стандартизация; совместимость; кроссплатформенная интеграция; семантическая стандартизация.
Keywords: Internet of Things; IoT; data transfer protocols; standardization; compatibility; cross-platform integration; semantic standardization.
Интернет вещей (IoT) – это концепция, при которой разнообразные устройства оснащаются сенсорами, процессорами и средствами коммуникации для сбора данных и обмена ими через сеть. Масштаб внедрения IoT постоянно растет: количество подключенных устройств насчитывает десятки миллионов и продолжает увеличиваться быстрыми темпами ежегодно. Устройства IoT используются в самых разных сферах – от промышленной автоматизации до управления городским хозяйством и мониторинга здоровья. Однако стремительное развитие IoT сопровождается проблемой совместимости: устройства разных производителей и отраслей зачастую не могут напрямую взаимодействовать друг с другом из-за использования разных протоколов передачи данных и форматов сообщений. Отсутствие единых стандартов ведет к фрагментации решений, усложняя интеграцию «умных» приборов в единую систему. Особенно остро проблема проявляется при необходимости кроссплатформенной интеграции – когда требуется объединить в одну сеть устройства на разных платформах, с разным программным обеспечением и сетевыми интерфейсами [1].
Для эффективного использования IoT-технологий необходимо обеспечить совместимость и унифицированный обмен данными между всеми элементами системы. Решением выступает стандартизация протоколов передачи данных – выработка общих правил и форматов, по которым устройства передают информацию. Стандартизированные протоколы позволяют «разговаривать» всем компонентам на одном «языке», независимо от их происхождения и назначения, что значительно упрощает интеграцию разнородных устройств и снижает затраты на разработку шлюзов и адаптеров, которые иначе потребовались бы для сопряжения разных систем.
Разнообразие протоколов передачи данных в сфере IoT обусловлено историческим развитием отраслевых технологий и разными требованиями к устройствам. В общем случае IoT-система состоит из нескольких уровней: физического (датчики и исполнительные устройства), уровня связи (сети для передачи данных) и уровня приложений (платформы, обрабатывающие и анализирующие данные). На каждом из этих уровней применяются собственные протоколы [2].
На уровне беспроводной связи IoT-устройств используются различные технологии – от низкоскоростных узкополосных сетей до высокоскоростных стандартов Wi-Fi. В таблице 1 обобщены основные характеристики распространенных беспроводных протоколов связи, применяемых в IoT.
Таблица 1.
Характеристики беспроводных протоколов связи для IoT-устройств [3].
Протокол |
Диапазон действия |
Пропускная способность |
Особенности применения |
Zigbee |
Десятки метров (mesh-сеть) |
До 250 Кбит/с |
Низкое энергопотребление; датчики, автоматизация |
Bluetooth Low Energy (BLE) |
До 50 м |
До 1 Мбит/с |
Локальные носимые устройства, периферия |
Wi-Fi |
Десятки метров (WLAN) |
10–1000 Мбит/с |
Высокая скорость, повышенное энергопотребление |
LoRaWAN |
До 10–15 км (LPWAN) |
До 50 Кбит/с |
Большой радиус, малый объем данных, ЖКХ, агроиндустрия |
NB-IoT (LTE-M) |
До нескольких км (сотовая сеть) |
До ~200 Кбит/с |
Сети операторов, широкий охват, низкое энергопотребление |
4G/5G |
До нескольких км (сотовая сеть) |
Мегабит/с и выше |
Широкополосная связь, видео, требовательные задачи |
Одни протоколы обеспечивают малый радиус действия и минимальное энергопотребление (например Zigbee, BLE) – они подходят для локальных сетей датчиков внутри здания. Другие технологии (LoRaWAN, NB-IoT) позволяют передавать данные на большие расстояния, что востребовано для распределенных объектов (счетчики ресурсов в ЖКХ, датчики на удаленных инфраструктурных объектах). Телекоммуникационные стандарты 4G/5G дают IoT-устройствам высокую скорость соединения, однако для простых сенсоров они избыточны по энергопотреблению. Таким образом, уже на уровне связи IoT наблюдается неоднородность: выбор технологии диктуется конкретной задачей, и единая IoT-сеть может состоять из сегментов на разных протоколах [4].
На уровне обмена сообщениями (приложений) также существует несколько популярных решений. Наиболее широко распространены легковесные протоколы, оптимизированные специально для IoT. К ним относятся MQTT (Message Queuing Telemetry Transport) и CoAP (Constrained Application Protocol). MQTT реализует модель публикации/подписки: датчики отправляют данные на брокер сообщений, откуда они рассылаются подписчикам. MQTT экономно использует полосу пропускания и может поддерживать тысячи устройств на одном сервере, поэтому он популярен для масштабных систем телеметрии. CoAP, в свою очередь, работает по схеме запрос-ответ поверх UDP и спроектирован для прямого взаимодействия между узлами с учетом жестких ограничений по ресурсам (памяти, энергии). Кроме этих специализированных стандартов, в IoT нередко применяются и классические веб-протоколы (HTTP/REST) для передачи данных в человеко-читаемом формате JSON или XML. В промышленных системах автоматизации широко используется протокол OPC UA (Open Platform Communications Unified Architecture), позволяющий передавать не только значения датчиков, но и структурированные данные с описанием семантики (иерархией объектов, типами параметров). Ниже, в таблице 2, приведено сравнение некоторых протоколов передачи данных на прикладном уровне по их свойствам.
Таблица 2.
Сравнительный анализ прикладных протоколов передачи данных IoT.
Протокол |
Модель взаимодействия |
Надежность доставки |
Накладные данные на сообщение |
Типичные сферы использования |
MQTT |
Публикация/подписка (через брокер) |
Гарантированная (QoS) |
Низкие (байтовый заголовок ~2 байт) |
Универсальный IoT, сбор телеметрии, умный дом |
CoAP |
Запрос-ответ (клиент–сервер) |
Опциональное подтверждение |
Очень низкие (UDP, небольшой заголовок) |
Встраиваемые датчики с минимумом ресурсов |
HTTP/REST |
Запрос-ответ (клиент–сервер) |
Гарантированная (TCP) |
Высокие (HTTP-заголовки, текстовый формат) |
Интеграция с веб-сервисами, облачные API |
OPC UA |
Сессия с обменом сообщениями |
Гарантированная (TCP) |
Средние (сложный бинарный протокол) |
Промышленная автоматизация, диспетчерские системы |
AMQP |
Очереди сообщений (через брокер) |
Гарантированная |
Средние |
Корпоративные системы, интеграция сервисов |
Разнородность протоколов связи и обмена данными порождает проблемы интероперабельности. Устройства разных производителей могут поддерживать различные стеки коммуникаций. Одни датчики отправляют показания через MQTT в формате JSON, тогда как другие используют CoAP с двоичной кодировкой. Если попытаться напрямую подключить все устройства к единому центру, придется одновременно поддерживать множество протоколов. На практике это осложняет разработку IoT-систем: требуются промежуточные программные слои, преобразующие данные, и шлюзы, переводящие сообщения с одного протокола на другой. Всё перечисленное увеличивает общую сложность внедрения и сопровождается дополнительными затратами [5].
Промышленный интернет вещей охватывает заводы, добывающие предприятия, энергетический сектор и другие объекты, где в технологические процессы вовлечены датчики и системы автоматизации. В основном внедрение IoT связано с курсом на цифровизацию экономических отраслей и повышение эффективности производств. На предприятиях устанавливают датчики на оборудование для мониторинга состояния (температуры, вибрации, потребления энергии и т.д.) с целью предиктивного обслуживания – предупреждения аварий и простоев за счет раннего выявления отклонений – и оптимизации технологических процессов, мониторинг IoT-сенсорами позволяет своевременно планировать обслуживание станков и тем самым снижать непредвиденные простои, а анализ данных в реальном времени повышает производительность и качество выпускаемой продукции [6].
Исторически промышленная автоматизация опирается на собственные протоколы (Modbus, PROFIBUS, CAN и др.), многие из которых разработаны десятилетия назад. Современные IoT-решения должны интегрироваться с этим унаследованным оборудованием, датчики могут подключаться к контроллерам по шине Modbus или CAN, после чего данные нужно передать в корпоративную систему анализа. Возникает задача разработки шлюзов: специальные контроллеры преобразуют локальные «старые» протоколы оборудования в современные стандарты (часто в Ethernet/TCP/IP с использованием MQTT, OPC UA или HTTP). В одном заводе одновременно могут применяться и беспроводные датчики с LoRaWAN, и проводные контроллеры с интерфейсом RS-485 – разнородность очень высока. Без стандартизации каждая новая интеграция требует уникального программного решения [7].
Отечественные предприятия, столкнувшись с уходом иностранных поставщиков, активно внедряют отечественные IoT-решения, что приводит к появлению множества разрозненных платформ. Поэтому на государственном уровне интероперабельность выдвигается на передний план. В «дорожной карте» развития интернета вещей прямо указано, что совместимость устройств и приложений является базовым условием эффективного развития отрасли.
Сфера ЖКХ и городского хозяйства является одним из драйверов роста IoT в экономики каждой развивающейся страны. Сюда относится управление коммунальными ресурсами (электроэнергия, тепло, вода, газ), инфраструктура «умного города» (освещение, транспорт, экологический мониторинг) и умные жилые дома. Отличительная черта отрасли – масштаб: счетчики и датчики устанавливаются массово на дома, квартиры, сети и городские объекты. Уже приняты нормативные акты, обязывающие оснащать потребителей умными приборами учета, способными дистанционно передавать показания. Такая нормативная база обеспечивает поддержку внедрения IoT-решений в коммунальном секторе [8].
В жилищных приложениях IoT протоколы передачи данных также разнообразны. Беспроводные счетчики воды и тепла могут отправлять информацию по радиоканалу 868 МГц с проприетарным протоколом либо по тому же LoRaWAN. Электросчетчики нового поколения часто оснащаются модулем NB-IoT или 2G (GPRS) и передают сведения напрямую на сервер энергокомпании. Внутри «умного дома» множество устройств (датчики движения, умные лампы, термостаты) объединены через протоколы типа Zigbee или Z-Wave в локальную сеть, управляемую центральным хабом, далее этот хаб пересылает агрегированные данные в облако по интернет-протоколам. Таким образом, типичная система «умного» ЖКХ имеет несколько уровней: локальные сети квартиры или здания, городские сети сбора данных (нередко разворачиваемые операторами связи) и облачные платформы, где работают сервисы для коммунальных служб и жителей. Для кроссплатформенной интеграции всех этих компонентов нужны четкие стандарты на каждом уровне – от унификации радиопротоколов датчиков (или хотя бы наличия универсальных шлюзов-преобразователей) до согласованных форматов обмена данными между городскими информационными системами [9].
В сельской медицине уже применяются портативные IoT-комплексы для удалённого наблюдения за пациентами. Фельдшер измеряет основные показатели (температура, пульс, давление) с помощью подключенных приборов, и данные автоматически передаются через интернет в центральную районную больницу, что позволяет врачам своевременно принимать решения о госпитализации и лечении, компенсируя нехватку специалистов на местах.
Для интеграции медицинских IoT-устройств с больничными информационными системами применяются специальные протоколы обмена данными (HL7, FHIR), задающие единый формат и структуру передаваемых сведений о пациенте. Нередко больничное оборудование разных производителей по-прежнему не связано между собой: аппараты УЗИ, кардиомониторы, насосы жизнеобеспечения работают автономно. Переход к единой сети «умной больницы» подразумевает оснащение такой аппаратуры модулями связи и использование единого протокола передачи данных, чтобы все данные поступали на общий центр мониторинга. Уже появляются отечественные платформы медицинского мониторинга, к которым по API могут подключаться устройства различных фирм [10].
На основе рассмотренных теоретических положений и отраслевых потребностей разработана оригинальная методика стандартизации протоколов передачи данных, направленная на обеспечение кроссплатформенной совместимости IoT-устройств. Эта методика представляет собой набор принципов и шагов, необходимых для того, чтобы разнородные устройства смогли обмениваться данными по единым правилам.
На первом этапе следует добиться, чтобы все устройства в системе были логически связаны через общую сетевую среду. Для каждого специфичного канала связи должен быть предусмотрен шлюз в IP-сеть. Иными словами, независимо от того, какой радиопротокол используется на нижнем уровне (BLE, Zigbee, LoRa и т.п.), должен существовать узел, переводящий трафик с этого канала в стандартные IP-пакеты, доступные остальной системе. Так создается универсальный транспортный слой, в котором данные от любого устройства могут быть доставлены адресатам по стандартным сетевым маршрутам (например, по Ethernet/IP). Практически такое решение реализуется установкой шлюзовых устройств: для BLE/Zigbee роль шлюза выполняет концентратор, подключенный к Ethernet; для LoRaWAN – базовая станция, связанная с сервером по IP; для устаревших проводных интерфейсов – преобразователь в TCP/IP. После выполнения этого шага разнородные по типу связи узлы оказываются логически в одной сети [11].
Нет необходимости использовать один физический протокол связи для всех устройств: достаточно обеспечить наличие шлюза для каждого канала, для BLE-сети – это Wi-Fi/Ethernet-шлюз, подключающий BLE-датчики к IP, для счетчиков M-Bus – преобразователь в IP-шину и т.д. Таким образом достигается цель первого этапа – любое устройство, каким бы способом оно ни связывалось, имеет путь в общую IP-сеть [12].
На втором шаге определяется единый протокол прикладного уровня, по которому происходит передача телеметрии и команд в системе. Выбор конкретного стандарта зависит от требований (возможны MQTT, CoAP, HTTP, OPC UA и др.), однако методика рекомендует MQTT как универсальный легковесный протокол, подтвержденный практикой. Предполагается, что все новые устройства поддерживают обмен данными по MQTT (напрямую или через адаптер). Это устраняет необходимость множества парных интеграций: вместо отдельных шлюзов между каждой парой несовместимых устройств все узлы связаны с одним брокером по стандартному протоколу. Архитектура «звезды» существенно снижает сложность системы по сравнению со схемой с прямым сопряжением «каждый с каждым».
Следующий компонент методики – разработка универсального формата представления данных. Нужно определить структуру сообщений, общую для всех устройств, с возможностью указания типа и единиц измерения параметров. Практическим решением может стать введение облачного «словаря данных» – репозитория шаблонов сообщений для различных типов сенсоров, для температурных датчиков фиксируется стандартный JSON-объект: {«device»:»TemperatureSensor»,»value»:<число>,»unit»:»C»}. Для счетчиков электроэнергии – своя структура с полями текущих показаний, мощности, идентификатора счетчика и т.п. Главное условие – все устройства одного типа следуют своему шаблону, а все шаблоны согласованы между собой. При подключении нового устройства разработчик должен использовать уже готовый шаблон (или создать новый, предварительно утвердив его через комитет стандартизации). Единый формат данных устраняет ситуацию, когда разные устройства передают однотипную информацию по-разному: соблюдение стандартизованной структуры означает, что программные приложения (аналитика, отображение, хранение) заранее знают, как интерпретировать сообщение любого устройства, и не нуждаются в индивидуальных парсерах под каждый формат [13].
Реализовать такой уровень семантической унификации можно с помощью стандарта описания данных – JSON Schema или Protocol Buffers – который задает набор полей и их типы для каждого вида сообщений. Семантическая стандартизация дополняет предыдущий шаг: даже если все устройства используют единый протокол (MQTT), но при этом каждое публикует произвольные по структуре сообщения, цель совместимости не будет достигнута. Поэтому методика настаивает на двух составляющих: единый транспорт + единый формат данных.
Поскольку на практике невозможно сразу перепрошить или заменить весь существующий парк IoT-устройств, методика предусматривает использование адаптеров – небольших аппаратно-программных модулей, размещаемых между устройством и общей сетью, которые переводят проприетарные протоколы и форматы в стандартизованные. Адаптер может являться частью шлюза (этап 1) или отдельным устройством, например, для старого счетчика воды с импульсным выходом адаптером станет микроконтроллер, отсчитывающий импульсы и отправляющий MQTT-сообщения установленного стандарта. Для медицинского прибора, выдающего данные по USB в собственном формате, таким адаптером будет программа-коннектор на компьютере, транслирующая полученные данные в сообщения стандарта (в формате HL7 поверх MQTT) в облако. Разработка библиотеки типовых адаптеров для распространенных устаревших устройств – неотъемлемая практическая часть методики. Этот «слой совместимости» позволяет включить гетерогенную периферию в единую систему без её физической замены, подтянув старые устройства до стандарта [14].
Для успешной стандартизации вводится механизм сертификации устройств. Каждое новое IoT-устройство должно пройти испытания на соответствие принятому протоколу и формату данных. Наличие сертификата совместимости будет стимулировать производителей придерживаться стандарта и гарантировать, что их продукция беспрепятственно интегрируется в системы заказчиков.
Экосистема IoT постоянно развивается, поэтому методика предусматривает механизм эволюции стандартов без потери совместимости. Новые версии протокола и формата данных вводятся постепенно, с сохранением поддержки предыдущих версий на переходный период. Специальное подразделение по стандартизации должно управлять этими изменениями: публиковать обновления спецификаций, обеспечивать разработчиков инструментами для миграции и устанавливать сроки отказа от устаревших версий.
Предложенная методика носит комплексный характер. Она затрагивает не только техническую реализацию, но и организационные меры по поддержанию единого стандарта. Выполнение всех описанных шагов позволит существенно повысить уровень совместимости устройств в масштабных IoT-инфраструктурах. Рассмотрим количественно, какой эффект дает применение методики.
Предлагаемая методика обеспечивает значительный выигрыш в эффективности интеграции. Число требуемых интерфейсов сокращается с порядка n(n–1)/2 до n (см. рис. 1), что особенно ощутимо в крупных системах. Кроме того, единый легковесный протокол уменьшает накладные расходы трафика: замена громоздких обменов по HTTP на оптимизированный MQTT сокращает объем служебных данных в несколько раз и ускоряет передачу информации. Унификация также упрощает подключение новых устройств – затраты времени на интеграцию снижаются примерно на треть, поскольку разработчикам не требуется создавать уникальные конвертеры для каждого случая. Наконец, единообразие протокола облегчает поддержку безопасности: можно применять единые механизмы шифрования и мониторинга трафика во всей сети IoT, что снижает риски и ускоряет реакцию на инциденты.
Рисунок 1. Сравнение количества интерфейсов при парной интеграции и при использовании стандартизованного протокола
Как видно из рис. 1, рост сложности интеграции без единого стандарта носит комбинаторный характер: число необходимых «переводчиков» между системами стремительно увеличивается с добавлением новых типов устройств. При использовании же стандартизованного протокола зависимость становится линейной, что дает огромное преимущество по мере масштабирования системы.
В ходе исследования обоснована необходимость стандартизации протоколов передачи данных для кроссплатформенной интеграции IoT-устройств и предложена практическая методика ее реализации. Анализ применения IoT в промышленности, ЖКХ и здравоохранении в текущих экономических условиях показал, что главным препятствием для построения полноценных «умных» систем является неоднородность используемых технологий связи и форматов данных. Из-за отсутствия совместимости между устройствами разных производителей и отраслей проекты IoT усложняются, дорожают и затягиваются по времени.
Решить эту проблему позволяет унификация – переход к единому «языку» данных и обмена информацией. Предложенная методика включает технические и организационные меры, в совокупности обеспечивающие интероперабельность в больших IoT-инфраструктурах. К таким мерам относятся: создание единого транспортного слоя (IP-шлюзы для всех типов связи), выбор единого протокола обмена (например MQTT) и строго заданного формата сообщений, разработка адаптеров для устаревших устройств, внедрение сертификации новых устройств на соответствие стандарту, а также механизм обновления стандарта без потери совместимости. Практические расчеты показали, что применение методики резко снижает сложность интеграции (требуется на порядок меньше интерфейсов между системами), уменьшает объем передаваемых служебных данных, ускоряет подключение новых устройств и упрощает обеспечение безопасности сети.
Стандартизация протоколов передачи данных повышает совместимость и позволяет интегрировать решения разных разработчиков – от промышленных сенсоров до бытовых приборов – в единую экосистему. Это ускорит распространение интернета вещей в основных отраслях и повысит отдачу от инвестиций в цифровизацию. Таким образом, внедрение единого стандарта коммуникаций для IoT является необходимым условием построения масштабируемых, надежных и безопасных киберфизических систем, приносящих пользу промышленности, городскому хозяйству, здравоохранению и другим секторам экономики.
