- Протоколы интернета вещей: как обмениваются данными IoT-устройства, серверы и пользовательские приложения
- Передача данных в IoT: архитектура систем интернета вещей и основные протоколы
- Основные виды беспроводных сетей в IoT и стандарты передачи данных
- Прикладные протоколы передачи данных в IoT
- Из чего состоит IoT
- Сенсоры
- Актуаторы
- Гейты
- Транспорт
- Небольшое сравнение LoRa и ZigBee
- Сравнение разных видов сетей на основе скорости и дальности
- Заключение
Протоколы интернета вещей: как обмениваются данными IoT-устройства, серверы и пользовательские приложения
Устройства интернета вещей, серверы и пользовательские приложения непрерывно обмениваются информацией. Они объединены друг с другом сетями и общаются с помощью различных протоколов передачи данных — это что-то вроде языка, который использует оборудование IoT.
Давайте посмотрим, как выглядит архитектура интернета вещей и разберемся в средствах и технологиях передачи данных в IoT.
Передача данных в IoT: архитектура систем интернета вещей и основные протоколы
Упрощенно можно сказать, что IoT-системы — это специализированные сети, объединяющие устройства, шлюзы и системы данных, где эти данные потом хранятся, обрабатываются и анализируются. Данные в такой сети собираются и передаются с помощью протоколов передачи данных. Для общения между устройствами и шлюзами часто используют специальные протоколы, обеспечивающие низкое потребление энергии.
Сеть IoT чем-то похожа на сеть Wi-Fi, которая объединяет компьютеры в квартире и позволяет обмениваться данными с интернетом с помощью роутера, или на сотовую сеть, в которой сотовые телефоны подключаются к вышкам.
Разберем подробнее, как работает такая система.
Устройства собирают данные от пользователей, иногда обмениваются ими друг с другом, потом передают дальше, обычно к шлюзам. Шлюзы — это еще один тип устройств, чем-то похожих на домашние роутеры, они могут собирать данные с устройств, а потом отправлять их в дата-центр или облако. Также там может производиться некая обработка данных, что позволяет сэкономить на их передаче.
Cуществует модель OSI (The Open Systems Interconnection model), на ее основе протоколы интернета вещей делят по группам в соответствии с уровнем архитектуры системы, на котором будут передаваться данные.
Уровень модели OSI | Функции |
Уровень приложений (Application) | Передача данных от устройств к пользователям. Примеры протоколов: MQTT, DDS, WebSocket, AMQP, DTLS, Eddystone, HTTP, iBeacon, CoAP, PJON, STOMP, XMPP. |
Уровень представления (Presentation) | Представление и шифрование данных. |
Сеансовый уровень (Session) | Управление сеансом связи. |
Уровень транспортировки (Transport) | Обмен данными между различными архитектурными уровнями. Примеры протоколов: TCP, UDP. |
Сетевой уровень (Network) | Определение маршрута и логическая адресация. Примеры протоколов: IPv6, IPv4, 6LoWPAN. |
Канальный уровень (Data link) | Физическая адресация. Примеры протоколов: IEEE 802.22, LPWAN. |
Физический уровень (Physical) | Работа со средой передачи. Bluetooth, Ethernet, LTE, NFC, RFID, Wi-Fi. |
Основные виды беспроводных сетей в IoT и стандарты передачи данных
Для интернета вещей применяют технологии беспроводных сетей с низким энергопотреблением разного радиуса действия. То есть ключевым фактором для выбора стандарта сетевого подключения будет радиус действия сети и то, сколько энергии она потребляет.
Протоколы передачи данных — основа любой радиосвязи. От них зависит, какая у сети будет топология, маршрутизация, адресация, безопасность данных.
В системах интернета вещей используют:
- Локальные и персональные сети (WLAN — Wireless Local Area Network, и WPAN — Wireless Personal Area Network). Сюда относят сети ближнего (малого и среднего) радиуса действия, такие протоколы, как: Wi-Fi, 6LoWPAN, Thread, ZigBee IP, Z-Wave, ZigBee, BLE 4.2 (Bluetooth Mesh), WirelessHart, MiWi.
- Энергоэффективные глобальные сети (LPWAN — Low-power Wide Area Network). Сюда относят технологии для передачи небольших данных на дальние расстояния: LoRaWAN, SIGFOX, CIoT, 4G LTE, 5G, NB-IoT и некоторые другие.
Прикладные протоколы передачи данных в IoT
При построении IoT-систем могут использоваться специфичные протоколы: MQTT, AMQP, CoAP, DDS, XMPP, JMS и другие, а также стандартные для обычного интернета протоколы, например HTTP. Выбор протокола зависит от решаемой задачи.
Так, на маломощных устройствах используют протоколы, которые позволяют отправлять данные с минимальными энергозатратами, такие как MQTT. Если нужна двусторонняя коммуникация с устройствами, лучше подходят протоколы, позволяющие оборудованию обмениваться сообщениями в режиме реального времени, один из них — DDS.
То есть протоколы интернета вещей различаются между собой по принципам работы и сценариям использования.
Как мы уже говорили, DDS применяют для систем реального времени, это базовая модель для реализации интернета вещей, принцип работы построен на обмене сообщениями напрямую, а не через сервер-брокер.
Протоколы MQTT, XMPP, AMQP и JMS работают по другому принципу. В основе лежит идея переноса ресурсозатратной части системы на один элемент с большим количеством ресурсов. То есть сообщения передаются не напрямую, а через сервер-брокер, который берет на себя всю обработку сообщений. Его можно развернуть на сервере в дата-центре или в облаке.
Из протоколов такого типа популярность набирает MQTT, так как он разработан специально для интернета вещей, не требует постоянного и стабильного интернет-соединения, не перегружает каналы связи.
Еще один популярный протокол — Modbus. Он поддерживается почти всеми производителями промышленного оборудования. Используют такой протокол для мониторинга, сбора данных с датчиков, управления контроллерам. Принцип работы основан на концепции «ведущий-ведомый». Обычно в сети есть только одно ведущее устройство, которое передает запросы другим — подчиненным — устройствам.
Протокол CoAP — аналог HTTP, но предназначен специально для IoT-оборудования. Принцип работы простой: он ориентирован на взаимодействие точка-точка (клиент-сервер). Клиент обращается к серверу и посылает ему простые команды, как это происходит и в HTTP.
Для выбора нужного протокола стоит ориентироваться на количество устройств, потребление ресурсов, объем передаваемых данных и расстояние, на которое их нужно передать.
На облачной платформе интернета вещей VK Cloud (бывш. MCS) реализована встроенная поддержка современных протоколов сети интернета вещей Modbus и MQTT. Кроме того, доступна возможность интегрировать любые используемые вами протоколы IoT по запросу.
Из чего состоит IoT
Если обратиться к википедии в поисках определения для термина “интернет вещей”, можно увидеть следущее:
Интернет вещей (англ. Internet of Things, IoT) — концепция вычислительной сети физических предметов («вещей»), оснащённых встроенными технологиями для взаимодействия друг с другом или с внешней средой, рассматривающая организацию таких сетей как явление, способное перестроить экономические и общественные процессы, исключающее из части действий и операций необходимость участия человека.
В данной статье мне хотелось бы рассмотреть то, посредством каких именно “вещей” может быть реализована в нашем мире эта идея и то, какими способами они могут взаимодействовать друг с другом или со внешней средой.
Базовые элементы делятся на несколько типов: сенсоры, актуаторы и гейты.
Сенсоры
Пожалуй нет смысла объяснять смысл и назначение этого типа элементов. Оно ничем не отличается от стандартных: разнообразные термометры, микрофоны, камеры и десятки прочих, менее распространённых устройств. Некоторые из них можно увидеть на изображении Sensors Starter Kit для Arduino:
Актуаторы
Данный тип элементов предназначается для того, чтобы воздействовать на окружающую среду, или на определённый объект в ней. Эту роль могут выполнять самые разнообразные устройства: от сервоприводов и динамиков до замков (конечно, электронных) с осветительными приборами.
Гейты
Это устройства, на которые обычно возлагают логику поверхностного анализа информации, поступающей от подключенных к ним сенсоров. В определённых ситуациях, анализ данных может требовать малого количества вычислительных ресурсов, так что гейты вполне способны принимать некоторые решения самостоятельно. Принимая такие решения, они отправляют определённые команды управления на актуаторы, которые, в свою очередь, выполняют уже свои функции.
Если же обработка иформации требует больших затрат, или эта информация подлежит сбору, гейты отправляют её на сервера, где с ней и производится дальнейшая работа. Вполне себе вероятно использование в роли гейтов микрокомпьютеров (вверху) или микропроцессоров (внизу):
Для того, чтобы построить мониторинговую систему, достаточно будет использования лишь сенсоров и некоторого сервера, который будет выступать в роли гейта. Например, благодаря сенсору движения и условной “малине”, можно без особых усилий организовать учёт количества людей, проходящих через какую-нибудь проходную.
Добавив в ранее сконструированную модель актуатор в лице динамика, можно добиться того, чтобы проход каждого n-ного проходящего был подзвучен величественными фанфарами.
Так, усложнять конструкцию подобной ячейки можно довольно долго. Однако в определённый момент неизбежно появится необходимость в долгосрочном хранении собранной статистики, её анализе, визуализации и прочем. Здесь понадобятся уже полноценные сервера, которым можно будет делегировать данные обязанности. Такие сервера в совокупности образуют облака, к которым и подключаются гейты.
Транспорт
Теперь, когда уже более или менее ясно, какие устройства используются для создания инфраструктуры, можно посмотреть на то, какими средствами эти устройства друг с другом взаимодействуют. Как видно на первом изображении, есть 2 условные группы — облако и периферия.
Ячейки, состоящие из вышеперечисленных типов устройств, как можно заметить, находятся в периферии и для коммуникации используют специальные протоколы взаимодействия. Более всего распространены LoRa и ZigBee. Обе эти сети являются очень медленными в сравнении, например, с 4G или даже с 3G, однако имеют и свои преимущества.
Одним из главных является их энергоэффективность. Дело в том, что идея интернета вещей заключается в создании среды устройств, коммуницирующих между собой без участия человека. Стоит заметить, что в некоторых случаях полностью избежать вмешательства человека избежать не удастся. Например, в системе подсчёта количества прошедших человек есть сенсор движения. Ему, как и любому другому электрическому устройству, необходимо питание. Проводить провода с питанием к каждому такому сенсору (если их больше 5 и они сильно разбросаны в пространстве) кажется не лучшей идеей. Соответственно, работать они будут от батареек или аккумуляторов. Если потребление заряда будет чрезмерным, элементы питания им нужно будет менять довольно часто. А это приведёт к тому, от чего стремится уйти интернет вещей — нужно же будет кому-то заменять эти батарейки. А вот если сенсоры будут энергоэффективны, то достаточно будет просто вставить батарейку и забыть об этом на год, два, пять и т. д.
Ещё одним преимуществом этих сетей является высокая помехоустойчивость. Каждый бит информации в этих сетях отправляется отдельным радиосигналом, поэтому его довольно просто выделить на фоне эфирного шума.
Небольшое сравнение LoRa и ZigBee
А вот между периферией и облаком, а так же и внутри облака, используются, обычно, знакомые и привычные всем wi-fi с ethernet, сотовые и спутниковые сети и т. д.
Сравнение разных видов сетей на основе скорости и дальности
Заключение
Теперь, рассмотрев устройство сетей интернета вещей, можно точно сказать, что в плане аппаратной части нет ничего загадочного и сложного. Сделать простенькую IoT-сеть может любой желающий, способный купить довольно дешёвые на сегодняшний день компоненты и написать код из пары строк. Однако для того, чтобы разработать и притворить в жизнь серьёзные проекты как, например, реализацию концепции умного дома или даже умного города, нужно приложить огромное количество усилий. Ведь для того, чтобы все эти устройства работали между собой нужна платформа, способная контролировать все протекающие процессы.
Так же не стоит забывать, что в облаках интернета вещей могут использоваться и другие технологии, помогающие раскрыть его потенциал в большей степени. Такими могут выступать и BigData, и BlockChain, и нейросети с машинным обучением. А ведь каждая из последних перечисленных технологий являет собой отдельную обширную область компьютерных (и не очень) наук.