АНАЛИЗ ПРИКЛАДНЫХ ПРОТОКОЛОВ ПЕРЕДАЧИ ДАННЫХ ДЛЯ СИСТЕМ ИНТЕРНЕТА ВЕЩЕЙ

XIIIМеждународная научно-практическая конференция педагогической деятельности молодых учёных. Сборник научных трудов

всероссийской заочной научно-практической конференции. Под общей редакцией Е.С. Ефремовой. 2015. С. 86-96.

2. Назарова О.Б., Давлеткиреева Л.З., Масленникова О.Е., Пролозова Н.О. Сопровождение КИС: учебник /О.Б. Назарова, Л.З. Давлеткиреева, О.Е. Масленникова, Н.О. Пролозова. - Магнитогорск: МаГУ, 2013. - 220 с. - С. 5778.

УДК 004.728.8

Носов Андрей Владимирович Nosov Andrey Vladimirovich

Студент-магистрант Master's student

Федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский университет ИТМО",

г. Санкт-Петербург, Россия Federal State Autonomous Educational Institution of Higher Education

"ITMO National Research University", Saint-Petersburg, Russia

АНАЛИЗ ПРИКЛАДНЫХ ПРОТОКОЛОВ ПЕРЕДАЧИ ДАННЫХ ДЛЯ СИСТЕМ ИНТЕРНЕТА ВЕЩЕЙ

ANALYSIS OF APPLICATION DATA TRANSFER PROTOCOLS FOR INTERNET OF THINGS SYSTEMS

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

«Научные междисциплинарные исследования»

Abstract, the article deals with the problem of interaction of Internet of Things devices at the application level of the network model, as well as studies the application-level protocols for the quantity, quality, and versatility of technical implementations, and makes recommendations for choosing the optimal solution for specific projects.

Ключевые слова. Интернет Вещей, протоколы передачи данных, прикладной уровень, технические реализации, совместимость устройств.

Keywords: Internet of Things, data transfer protocols, application layer, technical implementations, device compatibility.

Интернет Вещей (англ. Internet of Things, IoT), далее по тексту будет употребляться аббревиатура IoT, на сегодняшний день очень бурно развивается, его уже применяют во множестве сфер жизнедеятельности человека (промышленность, сельское хозяйство, медицина, потребительский сектор). Компания IoT Analytics, занимающаяся всесторонним исследованием рынка данной технологии, в своих самых свежих отчетах (ноябрь 2020 года) отмечает, что к 2025 году количество IoT-устройств достигнет отметки в 30,9 миллиарда единиц, что превышает показатели 2019 года в 3 раза, а также составляет 75% от общего количества устройств, имеющих выход в сеть [1].

Как и любая, относительно новая, технология, Интернет Вещей сталкивается с различными барьерами, в той или иной мере препятствующими устойчивому развитию технологии. Одной из основных является взаимодействие элементов системы (конечные устройства, серверы, промежуточное оборудование, облачные сервисы и тому подобное) между собой, а также их совместимость. По оценке института аналитики McKinsey&Company, которую он опубликовал в своем отчете, от разрешения проблем взаимодействия и совместимости зависит 40% прогнозируемой оценки рынка IoT-технологий к 2025 году [2]. Корни данной проблемы уходят в сетевой уровень архитектурной модели IoT-систем, внутри которого описываются все процессы, протоколы и стандарты, связанные со взаимодействием элементов сети между собой.

XIIIМеждународная научно-практическая конференция

Сетевой уровень архитектурной модели IoT-систем представлен

универсальной сетевой моделью TCP/IP, которая является более сжатой версией популярной модели OSI [3]. Модель описывает различные протоколы (для каждого слоя характерны свои технические решения, отличающиеся решаемыми задачами и организацией), а также прочие технологии, которые организуют сеть, а также обеспечивают ее функционирование.

В рамках данной работы рассматривается только прикладной уровень (уровень приложений) сетевой модели, который обеспечивает обмен сообщениями между участниками сети, а также выступает в роли интерфейса для конечных пользователей [3]. Основными протоколами, представляющие данный уровень в контексте IoT-систем, являются: MQTT (MQTTS, MQTT-SN), HTTP (HTTPS, HTTP/2), CoAP, AMQP, DDS, XMPP, OPC UA [4; 5]. Перечисленные протоколы активно используются для реализации IoT-систем, однако они могут серьезно отличаться друг от друга по принципу функционирования, структуре сети, формату передаваемых данных [5], но в контексте текущей работы нас интересуют только технические реализации, существующие для данных протоколов, а именно качество их документации, универсальность, совместимость с языками программирования и аппаратным обеспечением различных производителей.

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

«Научные междисциплинарные исследования»

Raspberry Pi

Рис. 1 Аппаратное обеспечение (оборудование) для тестовых IoT-систем

В качестве конечных устройств (датчиков, актуаторов), либо промежуточного оборудования (брокеры, серверы, шлюзы) используются макетные платы, построенные на основе очень популярных в IoT-среде микроконтроллеров компании Espressif (ESP32, ESP8266) [6], а также одноплатный компьютер Raspberry Pi 1 Model B [7] и персональный компьютер, хорошо подходящий в качестве клиента IoT-систем. Данный набор аппаратного оборудования (рис. 1) очень широко используется, что позволяет сделать оценку реализаций на его основе более значимой.

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

Документация (ее качество, объем, поддержка).

Совместимость с популярным программным обеспечением (языки программирования, среды разработки).

Совместимость с аппаратным обеспечением (рис. 1).

Дополнительный инструментарий (панели управления и мониторинга, облачные сервисы, клиентские приложения).

Соответствие целям и задачам IoT-систем.

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

MQTT (Message Queuing Telemetry Transport) разработан специально для IoT-систем, на данный момент является практически протоколом по умолчанию для множества задач в сфере IoT, что способствует его адаптации под большинство известных программных и аппаратных платформ, а также разработке различных дополнительных инструментов и сервисов. Ресурс [8] содержит исчерпывающий список MQTT-реализаций (клиенты, брокеры, облачные платформы, дополнительные инструменты) покрывающих все основные языки программирования, платформы разработки и оборудование. При реализации тестовой IoT-системы не возникло никаких проблем, использовалась реализация Eclipse Mosquitto [9] для MQTT-брокера, а также клиентские библиотеки для среды Arduino UDE [10]. Имеется качественная документация, а также готовые примеры программ, что существенно экономит время. У протокола также есть модификация MQTT-SN, которая является более облегченной версией, работающей только внутри сети конечных устройств. Данная модификация пока не располагает широким списком поддерживаемого аппаратного и программного обеспечения.

HTTP (HyperText Transfer Protocol) широко известен, как основной протокол передачи данных в сети Интернет, поэтому он поддерживается практически всеми аппаратными и программными платформами по умолчанию. Для реализации IoT-системы использовались стандартные библиотеки в рамках Arduino IDE. Также стоит отметить, что протокол очень хорошо документирован. Примерно так же обстоит ситуация с его модификацией HTTP/2, однако для нее спектр реализаций немного уже [11]. Минусом данного протокола, по сравнению с другими рассматриваемыми технологиями, является то, что он не создавался для IoT-систем, поэтому HTTP не является оптимальным решением для большинства задач.

CoAP (Constrained Application Protocol) по большому счету является адаптацией протокола HTTP под цели и задачи IoT-систем. Имеется хорошая

«Научные междисциплинарные исследования» спецификация, а также реализации под большинство языков программирования

[12], однако совместимость и количество доступных инструментов уже немного

ниже, по сравнению с MQTT и HTTP. Тестовая IoT-система была успешно

реализована, однако использовалась малоизвестная реализация [13],

практически не имеющая документации, также существуют проблемы

клиентских инструментов (интерфейс, отсутствие поддержки большинства

браузеров).

AMQP (Advanced Message Queuing Protocol) по структуре сети аналогичен MQTT, однако обладает очень гибкими настройками элементов сети, особенно это касается брокера (основной элемент AMQP-системы). Протокол имеет большое количество реализаций [14], адаптированных под большинство программных и аппаратных средств, многие из них имеют очень хорошую документацию и широкое сообщество разработчиков. Для реализации демонстрационной IoT-системы был использован RabbitMQ [15], это, пожалуй, самая популярная и качественная реализация протокола AMQP, однако клиентские функции удалось реализовать лишь на базе ПК. Макетные платы получилось включить в систему лишь через MQTT, который также способен интегрироваться с RabbitMQ-брокером через встроенный механизм трансляции данных между AMQP и MQTT протоколами.

OPC UA (Open Platform Communication Unified Architecture) используется для автоматизации и управления при помощи web-взаимодействия. Также обладает достаточным количеством реализаций [16], однако документирование оставляет желать лучшего. Для IoT-системы на базе макетных плат Espressif ESP8266 и ESP32 удалось запустить данный протокол, однако раскрыть весь его потенциал не получилось из-за отсутствия необходимой информации по работе с данной технической реализацией (библиотекой).

DDS (Data Distribution Service) одно из самых перспективных решений для IoT-систем, позволяющее связывать элементы сети без посредников. Протокол не располагает большим количеством реализаций с открытым исходным кодом, библиотека OpenDDS [17], однако данное решение не поддерживает платы

XIIIМеждународная научно-практическая конференция Espressif, ввиду чего не удалось построить демонстрационную IoT-систему.

Также не удалось найти другие подходящие для конкретного набора аппаратного

и программного обеспечения решения.

XMPP (eXtensible Messaging and Presence Protocol) изначально создан для обмена сообщениями между пользователями сети, однако в последствии стал использоваться для более широкого спектра задач. Протокол хорошо документирован и имеет множество реализаций [18], в том числе есть специально разработанная версия протокола для IoT-систем [19]. Также не удалось реализовать XMPP-клиенты ввиду плохой документации библиотек для продуктов Espressif.

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

Таблица 1. Результаты анализа протоколов прикладного уровня на предмет технической реализаций

Протоко л Документаци я Поддержк а Доп. инструмент ы Ориентаци я на IoT Средни й балл Реализаци и

ПО АО

MQTT 4 4 4 4 4 4,0 [8; 9]

HTTP (HTTP/2) 4 4 4 4 1 3,4 [11]

CoAP 3 3 4 3 4 3,4 [12; 13]

AMQP 4 4 3 4 4 3,8 [14; 15]

DDS 2 2 2 2 4 2,4 [17]

XMPP 2 2 2 2 3 2,2 [18; 19]

OPC UA 1 2 3 2 3 2,2 [16]

Резюмируя полученные результаты, можно заключить, что на сегодняшний день в 1оТ-среде лидируют протоколы MQTT, AMQP, СоАР (в

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

рассмотренные протоколы находятся в стадии развития, либо не удовлетворяют

требованиям и задачам IoT-систем. На основе исследования можно

рекомендовать хорошо показавшие себя протоколы (MQTT, AMQP, CoAP,

HTTP), если они удовлетворяют требованиям и задачам целевых систем, либо

целевая система является простой и не запрашивает специфичных конфигураций

(учебные стенды, демонстрационные проекты, автоматизация для частных

потребителей).

Библиографический список:

1. IoT Analytics: State of the IoT 2020, 12 billion IoT connections, surpassing non-IoT for the first time [Электронный ресурс]. — Режим доступа: https://iot-analytics.com/state-of-the-iot-2020-12-billion-iot-connections-surpassing-non-iot-for-the-first-time/ (дата обращения 03.04.2020).

2. McKinsey Global Institute: Report [Электронный ресурс]. — Режим доступа:

https://www.mckinsey.com/~/media/McKinsey/Industries/Technology%20Media%2 0and%20Telecommunications/High%20Tech/0ur%20Insights/The%20Internet%20o f%20Things%20The%20value%20of%20digitizing%20the%20physical%20world/T he-Internet-of-things-Mapping-the-value-beyond-the-hype.pdf (дата обращения 03.04.2020).

3. IBM Developer: Connecting all the things in the Internet of Things [Электронный ресурс]. — Режим доступа: https://developer.ibm.com/technologies/iot/articles/iot-lp101-connectivity-network-protocols/ (дата обращения 03.04.2020).

4. Ли П. Архитектура интернета вещей [Текст] / Перри Ли; пер. с анг. М. А. Райтмана. — М.: ДМК Пресс, 2019. — 454 с.: ил.

5. Гойхман В., Савельева А. Аналитический обзор протоколов Интернета вещей // Журнал "Технологии и средства связи" №4. 2016. С. 32-37.

XIIIМеждународная научно-практическая конференция

6. Espressif Modules [Электронный ресурс]. — Режим доступа: https://www.espressif.com/en/products/modules (дата обращения 04.04.2020).

7. Raspberry Pi 1 Model B+ [Электронный ресурс]. — Режим доступа: https://www.raspberrypi.org/products/raspberry-pi-1-model-b-plus/ (дата обращения 04.04.2020).

8. GitHub: Awesome MQTT [Электронный ресурс]. — Режим доступа: https://github.com/hobbyquaker/awesome-mqtt (дата обращения 07.04.2020).

9. Eclipse Mosquitto: An open source MQTT broker [Электронный ресурс]. — Режим доступа: https://mosquitto.org (дата обращения 07.04.2020).

10. Arduino Software [Электронный ресурс]. — Режим доступа: https://www.arduino.cc/en/software

11. GitHub: HTTP/2 Implementations [Электронный ресурс]. — https:// github. com/httpwg/http2-spec/wiki/Implementations (дата обращения 07.04.2020).

12. COAP: Implementations [Электронный ресурс]. — Режим доступа: https://coap.technology/impls.html

13. GitHub: COAP Simple Library [Электронный ресурс]. — Режим доступа: https://github.com/hirotakaster/CoAP-simple-library (дата обращения 08.04.2020).

14. GitHub: Awesome AMQP [Электронный ресурс]. — Режим доступа: https://github.com/xinchen10/awesome-amqp (дата обращения 08.04.2020).

15. RabbitMQ [Электронный ресурс]. — Режим доступа: https://www.rabbitmq.com (дата обращения 08.04.2020).

16. GitHub: List of Open Source OPC UA Implementations [Электронный ресурс]. — Режим доступа: https://github.com/open62541/open62541/wiki/List-of-Open-Source-OPC-UA-Implementations (дата обращения 12.04.2020).

17. GitHub: OpenDDS [Электронный ресурс]. — Режим доступа: https:// github. com/objectcomputing/ OpenDDS#documentation (дата обращения 12.04.2020).

18. XMPP Software [Электронный ресурс]. — Режим доступа: https://xmpp.org/software/ (дата обращения 12.04.2020).

«Научные междисциплинарные исследования»

19. XMPP-IOT [Электронный ресурс]. — Режим доступа: https://www.xmpp-iot.org (дата обращения 12.04.2020).

УДК 004

Помозова Юстина Алексеевна Pomozova Justina Alekseevna

Студент Student

Мастилин Александр Евгеньевич Mastinin Alexander Evgenievich

Старший преподаватель Senior lecturer

Сибирский государственный университет путей сообщения

Siberian State University

ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ В ВЫСОКОСКОРОСТНЫХ

ЖЕЛЕЗНЫХ ДОРОГАХ

ARTIFICAL INTELLIGENCE IN HIGH-SPEED RAILWAYS

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