MQTT, CoAP, ZigBee или LwM2M? Какой протокол IoT выбрать?

Hosting Fozzy

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

MQTT, CoAP, ZigBee или LwM2M? Какой протокол IoT выбрать?

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

Классификация протоколов

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

С функциональной точки зрения

С функциональной точки зрения мы можем разделить их на две категории: протокол физического уровня/канального уровня и протокол прикладного уровня.

Протокол физического уровня/канального уровня обычно отвечает за сетевое взаимодействие и связь между устройствами, такими как 2G/3G/4G/5G, NB-IoT, WiFi, ZigBee, LoRa и другие виды связи на большие расстояния. Существуют также протоколы беспроводной связи на короткие расстояния, такие как RFID, NFC и протокол Bluetooth, и проводные протоколы, такие как RS232 и USB.

Протокол прикладного уровня — это в основном протокол связи устройств, работающий на традиционном интернет-протоколе TCP/IP. Этот тип протокола поддерживает обмен данными и связь от устройства к облачной платформе через интернет, а общие протоколы включают HTTP, MQTT, CoAP, LwM2M и XMPP.

С точки зрения приложения

С точки зрения приложения протокола в системе IoT мы можем разделить протокол на облачный протокол и протокол шлюза.

Облачный протокол — это протокол, основанный на TCP/IP. Данные IoT (такие как датчики и устройства управления) обычно необходимо передавать в облако для подключения пользователей через облако и интеграции с корпоративными системами.

Устройства IoT, поддерживающие TCP/IP, могут получать доступ к облаку через WIFI, сотовую сеть и Ethernet, используя HTTP, MQTT, CoAP, LwM2M, XMPP и другие протоколы прикладного уровня.

Hosting CityHost

Протокол шлюза подходит для связи на короткие расстояния, которая не может быть непосредственно помещена в облако, например Bluetooth, ZigBee, LoRa и т. д. Этот тип устройства должен подключаться к облаку через протокол TCP/IP после преобразования шлюза.

Протокол ZigBee

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

Характеристики протокола ZigBee

  • Низкое энергопотребление: мощность передачи составляет всего 1 мВт. В режиме ожидания с низким энергопотреблением две сухие батареи № 5 могут работать до 2 лет, устраняя проблемы с зарядкой или частой заменой батарей.
  • Низкая стоимость: простой и компактный протокол значительно снижает требования к управлению связью, что позволяет снизить стоимость оборудования, и в то же время не взимается плата за патент на протокол.
  • Низкая скорость: ZigBee работает на скорости 20~250 кбит/с, обеспечивая пропускную способность необработанных данных 250 кбит/с (2,4 ГГц), 40 кбит/с (915 МГц) и 20 кбит/с (868 МГц) соответственно, что соответствует требованиям приложения низкоскоростной передачи данных.
  • Короткое расстояние: дальность передачи соседних узлов составляет 10~100 м, что в основном охватывает обычные условия дома и офиса. После увеличения мощности передачи ее можно увеличить до 1–3 км, а расстояние передачи может быть больше за счет ретрансляции между маршрутизацией и межузловой связью.
  • Низкая задержка: скорость отклика ZigBee высокая. Как правило, для перехода из спящего режима в рабочее требуется всего 15 мс, и всего 30 мс для входа узла в сеть, что позволяет экономить электроэнергию. Для сравнения, Bluetooth занимает 3-10 секунд, а WiFi — 3 секунды.
  • Высокая пропускная способность: ZigBee может принимать звездообразную, листовую и ячеистую сетевую структуру. Главный узел может управлять несколькими подузлами, и максимум один главный узел может управлять 254 подузлами. Между тем, мастер-узел также может управляться сетевыми узлами верхнего уровня, образуя большую сеть, состоящую не более чем из 65 000 узлов.
  • Высокий уровень безопасности: ZigBee обеспечивает функцию проверки целостности пакетов CRC, поддерживает аутентификацию и идентификацию и использует алгоритм шифрования AES-128, и каждое приложение может гибко определять свой атрибут безопасности.
  • Нелицензируемый диапазон частот: спектр прямой последовательности для диапазонов ISM (промышленная научная медицина): 2,4 ГГц для глобального использования, 915 МГц для Северной Америки и 868 МГц для Европы.

Применение ZigBee

Технология ZigBee обладает такими выдающимися преимуществами, как низкое энергопотребление, большая емкость узлов, короткая задержка, безопасность и надежность, которые могут удовлетворить требования приложений умного дома. Это основная технология беспроводного сетевого подключения Smart Home. Благодаря стремительному развитию рынка Умного дома количество Устройств Умного дома, использующих технологию ZigBee, постоянно увеличивается. Применение и продвижение технологии ZigBee ускоряются день ото дня.

По сравнению с технологиями Wi-Fi и Bluetooth, технология ZigBee имеет выдающиеся преимущества в энергопотреблении, емкости узла, возможности самостоятельного подключения к сети и безопасности, а масштабы ее применения постоянно расширяются.

Технология NB-IoT

NB-IoT — это новая технология сотовой связи, разработанная организацией по стандартизации 3GPP и представляющая собой тип подключения IoT с низким энергопотреблением в глобальной сети (LPWA), в первую очередь для подключения терминалов с ограниченными ресурсами полосы пропускания, что позволяет им собирать и обмениваться данными с меньшими ресурсами, чем технологии, такие как GRPS, 3G и LTE.

NB-IoT быстро развивается с 2017 по 2018 год, и многие операторы по всему миру добились коммерческого развертывания. Низкая стоимость, низкое энергопотребление и широкий охват NB-IoT позволяют пользователям реализовывать новые сценарии и новые приложения, которые не могут поддерживать традиционные сотовые сети.

9 июля 2020 года 3GPP объявила о замораживании стандарта 5G R16, и NB-IoT был официально включен в стандарт 5G, став основной технологией сценария массового подключения 5G mMTC к IoT.

Характеристики протокола NB-IoT

  • Введен маломощный «спящий» режим (PSM и eDRX).
  • Требования к качеству связи снижены, а конструкция терминала упрощена (полудуплексный режим, упрощение стека протоколов и т. д.).
  • Два режима оптимизации функций (режим CP и режим UP) используются для упрощения процесса и уменьшения взаимодействия между терминалом и сетью.
  • Он имеет сверхнизкое покрытие, покрывая 20 дБ по сравнению с GPRS, что в три раза превышает покрытие GPRS.

Применение NB-IoT

В настоящее время NB-IoT вступил в эру подключения на уровне сотен миллионов, и впоследствии, с полным охватом коммерческой сети NB-IoT 5G глобальными операторами, NB-IoT будет продолжать развиваться в умных домах, сельском хозяйстве, промышленном производстве, счетчиках энергии, обнаружении дыма при пожаре, отслеживании логистики, финансовых платежах и других областях.

Взяв в качестве примера открытую платформу China Telecom IoT, эта платформа реализует централизованный доступ к NB-IoT и другим IoT-устройствам China Telecom и предоставляет правительственным и корпоративным пользователям такие услуги, как управление устройствами, интерфейс данных и запуск приложений IoT.

EMQ участвовала в создании платформы с самого начала, сотрудничала с CTWing для разработки возможностей доступа к оборудованию NB-IoT и маршрутизации сообщений для платформы, а также одновременно поддерживала доступ оборудования TLINK, MQTT и другого протокола Telecom. Общая проектная мощность доступа к платформе достигает сотен миллионов уровней.

Протокол LoRa

Протокол LoRa (названный от аббревиатуры «Long Range») — это стандартный протокол для маломощных, дальних и беспроводных глобальных сетей.

По сравнению с другими протоколами беспроводной связи (такими как ZigBee, Bluetooth и WIFI), LoRa характеризуется большей дальностью распространения при том же энергопотреблении, реализуя объединение низкого энергопотребления и большого расстояния, и он в 3-5 раз больше, чем традиционная радиочастотная связь при том же энергопотреблении.

LoRa имеет множество беспроводных технологий в приложениях IoT, которые могут быть как локальными, так и глобальными. Сеть LoRa состоит из четырех частей: терминал (встроенный модуль LoRa), шлюз (или базовая станция), сервер и облако.

Скорость передачи данных LoRaWAN варьируется от 0,3 кбит/с до 37,5 кбит/с. Чтобы максимально увеличить время автономной работы оконечного оборудования и пропускную способность сети в целом, сетевой сервер LoRaWAN управляет скоростью передачи данных и выходной мощностью радиочастот каждого оконечного устройства с помощью схемы ADR (адаптивная скорость передачи данных).

Характеристики протокола LoRa

  • Высокий охват: Дальность покрытия одного шлюза LoRa обычно находится в диапазоне 3-5 км, даже более 15 км на широкой территории.
  • Низкое энергопотребление: система питания от аккумуляторной батареи может работать в течение многих лет или даже более десяти лет.
  • Высокая пропускная способность: Благодаря характеристикам отсутствия соединения терминалов, он может обеспечить доступ большого количества терминалов.
  • Низкая стоимость: стоимость сети связи очень низкая. Кроме того, он подходит для узкополосной передачи данных.
  • Высокий уровень безопасности: используется шифрование AES128, что обеспечивает высокий уровень безопасности.

Применение LoRa

LoRa чрезвычайно гибок для применения в сельской местности или внутри помещений в таких областях, как «Умное сельское хозяйство», «Умный город», «Промышленный Интернет вещей» (IIoT), «Умная среда», «Умный дом и здания», «Умные коммунальные услуги и метрология», а также «Умная цепочка поставок и логистика».

LoRa удобна для нетворкинга. Используя большую проникающую способность, LoRa можно подключить к широкому спектру оборудования по низкой цене. По сравнению с доступом через NB-IoT и SIM-карту оператора, LoRa не нужно менять карту или платить комиссию каждый год, поэтому она имеет меньшую стоимость при долгосрочном использовании.

Протокол MQTT

Протокол MQTT — это протокол связи IoT, основанный на режиме публикации/подписки, который занимает половину протокола IoT из-за его простоты, поддержки QoS и небольшого размера пакета.

Протокол MQTT широко используется в областях IoT, мобильного интернета, интеллектуального оборудования, IoV, энергетики и коммунальных услуг и т. д., который можно использовать не только в качестве шлюза для доступа к связи на стороне устройства, но и в качестве протокола связи между устройством и облаком. Большинство протоколов шлюза, таких как ZigBee и LoRa, окончательно преобразуются в протокол MQTT для доступа к облаку.

Характеристики протокола MQTT

  • Легкий и надежный: сообщение MQTT компактно, что может обеспечить стабильную передачу на сильно ограниченном аппаратном оборудовании и сети с низкой пропускной способностью и высокой задержкой.
  • Режим публикации/подписки: в зависимости от режима публикации/подписки преимущество режима публикации и подписки заключается в том, что издатель и подписчик отделены друг от друга: подписчикам и издателям не нужно устанавливать прямое соединение или быть в сети одновременно.
  • Создан для Интернета вещей: он предоставляет комплексные функции приложений Интернета вещей, такие как механизм сердцебиения, сообщение о завещании, уровень качества QoS + сообщение в автономном режиме, а также управление темами и безопасностью.
  • Улучшенная экосистема: она охватывает всеязыковые клиенты платформы и SDK, а также имеет зрелое серверное программное обеспечение Broker, которое может поддерживать массовый доступ к темам и устройствам на уровне десяти миллионов и обеспечивает широкие возможности корпоративной интеграции.

Режим связи MQTT

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

Применение MQTT

MQTT — один из наиболее важных стандартных протоколов в области IoT, который широко используется в таких отраслях, как IoV, Промышленный Интернет вещей (IIoT), «Умный дом», «Умный город», «Электроэнергетика», «Нефтяная энергетика» и т. д.

MQTT — это стандартный коммуникационный протокол платформы IoT ведущих производителей облачных сервисов, таких как AWS IoT Core, Azure IoT Hub и облачная платформа IoT Alibaba, а также предпочтительный протокол для облачных вычислений в различных отраслях (таких как промышленный Интернет, умный дом) и множество протоколов шлюза.

Являясь одним из самых популярных брокеров MQTT в мире, EMQX предоставляет облачную распределенную платформу обмена сообщениями IoT, которая позволяет «запускаться где угодно, подключаться один раз, интегрировать все», с универсальным распределенным брокером MQTT и правилом IoT на основе SQL. Это движок, обеспечивающий высокопроизводительное и надежное перемещение, обработку и интеграцию данных для критически важных бизнес-решений IoT.

Протокол CoAP

CoAP — это HTTP-подобный протокол в мире IoT, используемый на устройствах IoT с ограниченными ресурсами. Его подробная спецификация определена в RFC 7252.

Большинство устройств IoT имеют ограниченные ресурсы, такие как ЦП, ОЗУ, флэш-память, широкополосная сеть и т. д. Для такого типа устройств нереально реализовать обмен информацией напрямую с использованием TCP и HTTP существующей сети. Протокол CoAP появляется по мере необходимости, чтобы эта часть устройств могла беспрепятственно подключаться к сети.

Характеристики протокола CoAP

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

  • Он основан на модели сообщения.
  • Основанный на протоколе UDP, транспортный уровень поддерживает устройства с ограниченным доступом.
  • Он использует модель запрос/ответ, аналогичную HTTP-запросу, и HTTP — это текстовый формат, а CoAP — двоичный формат, который более компактен, чем HTTP.
  • Он поддерживает двустороннюю связь.
  • Он имеет характеристики легкого веса и низкого энергопотребления.
  • Он поддерживает надежную передачу, повторную передачу данных и блочную передачу для обеспечения надежного поступления данных.
  • Он поддерживает IP-многоадресную рассылку.
  • Поддерживает режим наблюдения.
  • Он поддерживает асинхронную связь.

Применение CoAP

По сравнению с MQTT CoAP легче, с меньшими накладными расходами и больше подходит для определенных устройств и сетевых сред. EMQX и некоторые общедоступные облачные платформы IoT предоставляют возможность доступа CoAP.

Протокол LwM2M

LwM2M — это облегченный протокол IoT, подходящий для управления терминальным оборудованием с ограниченными ресурсами. Протокол LwM2M родился в конце 2013 года, он был предложен и определен OMA (Open Mobile Alliance). В настоящее время номер зрелой версии по-прежнему 1.0, и эксперты OMA работают над версией 1.1.

Характеристики протокола LwM2M

  • Наиболее важными объектами протокола LwM2M являются сервер LwM2M и клиент LwM2M.
  • В качестве сервера сервер LwM2M развертывается у поставщика услуг M2M или у поставщика сетевых услуг.
  • В качестве клиента клиент LwM2M развертывается на каждом устройстве LwM2M.

Кроме того, при необходимости можно добавить LwM2M Bootstrap Server или SmartCard для выполнения первоначальной загрузки клиента.

Особенности протокола LwM2M

Протокол LwM2M имеет следующие выдающиеся особенности:

  • Протокол основан на архитектуре REST.
  • Обмен сообщениями протокола достигается через протокол CoAP.
  • Протокол определяет компактную, эффективную и масштабируемую модель данных.

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

Однако, поскольку служебным объектом протокола является терминальное оборудование с ограниченными ресурсами, традиционный режим передачи данных HTTP слишком громоздкий для поддержки ограниченных ресурсов, поэтому для завершения передачи сообщений и данных выбирается CoAP в стиле REST. С одной стороны, по сравнению с TCP, CoAP основан на UDP. Он более гибок в средах, где сетевые ресурсы ограничены и устройства не могут быть постоянно подключены к сети (из соображений безопасности используется безопасный транспортный протокол DTLS на основе UDP). С другой стороны, сама структура сообщения CoAP очень проста, сообщение сжато, и основную часть CoAP можно сделать очень компактной, не занимая слишком много ресурсов.

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

Для масштабируемости протокол также позволяет настраивать больше объектов в соответствии с фактическими потребностями. В такой модели данных ресурсы, экземпляры объектов и объекты представлены идентификаторами, соответствующими числам, для достижения максимального сжатия, так что любой ресурс может быть представлен в сжатой форме не более чем на 3 уровнях, например, /1/0/1 представляет ресурс короткого идентификатора сервера в первом экземпляре объекта сервера. На этапе регистрации клиент LwM2M передает экземпляр объекта, содержащий информацию о ресурсах, на сервер LwM2M, чтобы уведомить сервер о возможностях своего собственного устройства.

EMQ также реализует возможности доступа LwM2M на сервере EMQX и большинство функций протокола LwM2M. Устройство LwM2M может зарегистрироваться в EMQX-LWM2M для доступа к оборудованию и управления им через EMQX-LWM2M. Устройство также может передавать информацию в EMQX-LWM2M и собирать данные с помощью серверной службы EMQ.

Протокол XMPP

XMPP Extensible Message Processing Protocol (XMPP) — это основанный на XML протокол обмена мгновенными сообщениями, который встраивает информацию о контексте связи в структурированные данные XML и обеспечивает мгновенную связь между людьми, между системами приложений и между людьми и системами приложений.

Характеристики протокола XMPP

  • Вся информация XMPP основана на XML, это де-факто стандарт обмена информацией с высокой масштабируемостью.
  • XMPP — это распределенная система, в которой каждый сервер управляет своими ресурсами.
  • Протокол XMPP с открытым исходным кодом использует XML для определения взаимодействия между клиентами и серверами.

Применение XMPP

XMPP имеет зрелый протокол и расширения и разработан специально для сценариев обмена мгновенными сообщениями (IM). xMPP — старейший протокол обмена мгновенными сообщениями, а такие программы, как Google Hangouts, WhatsApp Messenger и другие, основаны на XMPP.

Однако, поскольку XMPP использует протокол XML, который слишком тяжел для сценария IoT, он не подходит для передачи IoT.

Подведение итогов

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

Брокер сообщений EMQX IoT может подключать любое устройство через открытые стандартные протоколы MQTT, CoAP и LwM2M. В случае сложных и разнообразных промышленных протоколов в промышленных сценариях его также можно преобразовать в унифицированный протокол MQTT с помощью Neuron, программного обеспечения шлюза промышленных протоколов, чтобы удовлетворить требования к сбору данных в большинстве сценариев IoT и обеспечить эффективный и надежный уровень доступа к данным для корпоративного IoT-бизнеса.

Hosting Fozzy

Оцените статью
Поделиться с друзьями
Валерий Матафонов

Автор блога WM-IT.pro. Занимаюсь разработкой и оптимизацией сайтов с 2010 года.

WM-IT.pro - Блог об информационных технологиях
Добавить комментарий