Научная статья на тему 'ИССЛЕДОВАНИЕ СПОСОБОВ ВЗАИМОДЕЙСТВИЯ СЕТЕВЫХ УСТРОЙСТВ НА БАЗЕ МИКРОКОМПЬЮТЕРОВ'

ИССЛЕДОВАНИЕ СПОСОБОВ ВЗАИМОДЕЙСТВИЯ СЕТЕВЫХ УСТРОЙСТВ НА БАЗЕ МИКРОКОМПЬЮТЕРОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
94
14
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
WIRELESS / REST API / RASPBERRY PI / МИКРОКОМПЬЮТЕР

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бабков Иван Николаевич, Пудов Кирилл Александрович, Коновалова Виктория Вадимовна, Дибиров Гамид Мурадович

Микрокомпьютеры имеют широкое распространение в нашей повседневной жизни, будь это умный телевизор, офисный ПК, или маршрутизатор. Всё перечисленное создаётся, переходит, или уже успело перейти на микропроцессорную базу, например, POS-терминалы, созданные на основе Raspberry Pi. Raspberry Pi - это семейство микрокомпьютеров, изначально предназначенных для обучения информатике и получившие широкое применение в системах автоматизации типа «умный дом», робототехнике, макетировании, а также в создании узкоспециализированного несерийного оборудования. Однако, может возникнуть вопрос - «Каким образом осуществляется сетевое взаимодействие между микрокомпьютерами?». В статье рассматриваются различные подходы к реализации взаимодействия между одноплатными микропроцессорными компьютерами на базе Raspberry Pi.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бабков Иван Николаевич, Пудов Кирилл Александрович, Коновалова Виктория Вадимовна, Дибиров Гамид Мурадович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

STUDY OF WAYS OF INTERACTION OF NETWORK DEVICES BASED ON MICROCOMPUTERS

Microcomputers are ubiquitous in our daily lives, whether it's a smart TV, an office PC, or a router. All of the above is being created, transferred, or has already managed to transfer to a microprocessor base, for example, POS terminals created on the basis of the Raspberry Pi. Raspberry Pi is a family of microcomputers originally designed for teaching computer science and widely used in smart home automation systems, robotics, prototyping, as well as in the creation of highly specialized non-serial equipment. However, the question may arise - "How is the network interaction between microcomputers carried out?". The article discusses various approaches to the implementation of interaction between single-board microprocessor computers based on the Raspberry Pi.

Текст научной работы на тему «ИССЛЕДОВАНИЕ СПОСОБОВ ВЗАИМОДЕЙСТВИЯ СЕТЕВЫХ УСТРОЙСТВ НА БАЗЕ МИКРОКОМПЬЮТЕРОВ»

УДК 004.057.4

ИССЛЕДОВАНИЕ СПОСОБОВ ВЗАИМОДЕЙСТВИЯ СЕТЕВЫХ УСТРОЙСТВ НА БАЗЕ МИКРОКОМПЬЮТЕРОВ

Бабков Иван Николаевич

Кандидат технических наук, доцент кафедры защищённых систем связи Санкт-Петербургского государственного университета телекоммуникаций им. проф. М.А. Бонч-Бруевича ib9809@mail.ru

Пудов Кирилл Александрович

Студент группы ИКТЗ-83 Санкт-Петербургского государственного университета телекоммуникаций им. проф. М.А. Бонч-Бруевича

Коновалова Виктория Вадимовна

Магистрант Санкт-Петербургского государственного университета телекоммуникаций им. проф. М.А. Бонч-Бруевича.. konovalova. viktoriya.99@mail. ru

Дибиров Г амид Мурадович

Студент группы ИКТЗ-83 Санкт-Петербургского государственного университета телекоммуникаций им. проф. М.А. Бонч-Бруевича gamid_dibirov@internet. ru

Микрокомпьютеры имеют широкое распространение в нашей повседневной жизни, будь это умный телевизор, офисный ПК, или маршрутизатор. Всё перечисленное создаётся, переходит, или уже успело перейти на микропроцессорную базу, например, POS-терминалы, созданные на основе Raspberry Pi. Raspberry Pi - это семейство микрокомпьютеров, изначально предназначенных для обучения информатике и получившие широкое применение в системах автоматизации типа «умный дом», робототехнике, макетировании, а также в создании узкоспециализированного несерийного оборудования. Однако, может возникнуть вопрос - «Каким образом осуществляется сетевое взаимодействие между микрокомпьютерами?». В статье рассматриваются различные подходы к реализации взаимодействия между одноплатными микропроцессорными компьютерами на базе Raspberry Pi.

Ключевые слова: Wireless, REST API, Raspberry Pi, микрокомпьютер.

STU DY OF WAYS OF INTERACTION OF NETWORK DEVICES BASED ON MICROCOMPUTERS

Babkov Ivan Nikolaevich

Candidate of Technical Sciences, Associate Professor of the Department

of Secure Communication Systems St. Petersburg State University of Telecommunications

named after Prof. M.A. Bonch-Bruevich

ib9809@mail.ru

Pudov Kirill Alexandrovich

Student of the IKTZ-83 group of the St. Petersburg State University of Telecommunications named after Prof. M.A. Bonch-Bruevich konovalova. viktoriya.99@mail. ru

Konovalova Victoria Vadimovna

Master's student of the St. Petersburg State University of Telecommunications named after Prof. M.A. Bonch-Bruevic

Dibirov Hamid Muradovich

Student of the IKTZ-83 group of St. Petersburg State University telecommunications named after Prof. M.A. Bonch-Bruevich gamid dibirov@internet.ru

Microcomputers are ubiquitous in our daily lives, whether it's a smart TV, an office PC, or a router. All of the above is being created, transferred, or has already managed to transfer to a microprocessor base, for example, POS terminals created on the basis of the Raspberry Pi. Raspberry Pi is a family of microcomputers originally designed for teaching computer science and widely used in smart home automation systems, robotics, prototyping, as well as in the creation of highly specialized non-serial equipment. However, the question may arise - "How is the network interaction between microcomputers carried out?". The article discusses various approaches to the implementation of interaction between single-board microprocessor computers based on the Raspberry Pi.

Key words. Wireless, REST API, Raspberry Pi, Microcomputer.

Application Programming Interface(API) -описание способов, с помощью которых один сервис, или программа может взаимодействовать с другим сервисом, или программой. Одним из способов взаимодействия сетевых устройств между собой является REST API взаимодействие.

REST API (Representational State Transfer) позволяет использовать протоколы HTTP/HTTPS для взаимодействия компонентов сети. Популярным примером работы REST API является работа приложения «Погода» на смартфоне. Рассмотрим полное взаимодействие приложения с онлайн сервисом «Яндекс.Погода».

Рис. 1 REST взаимодействие

В облако, на котором располагается онлайн-сервис, стекаются все данные с датчиков погоды, расположенные по всему городу. REST API запрос проходит следующие стадии [1,2]:

1) Приложение запрашивает данные из онлайн-сервиса, обращаясь к API по протоколу HTTP/HTTPS [3].

2) Сервис, обрабатывая запрос, параллельно обновляет собранную информацию.

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

Рассмотрим взаимодействие сервиса и клиента на практике. Реализация взаимодействия

сетевых устройств в виртуальной среде позволит понять, как будут взаимодействовать реальные устройства. Ситуация такова - клиент находится в одной сети с сервером и сервер начинает опрос клиента для сбора данных о его системе [4,5].

Инструменты, которые были

использованы:

• Framework Flask;

• язык программирования Python;

• Raspberry PI OS;

• VirtualBox.

Клиент, при отправке REST-запроса на сервер, в ответ получит JSON-файл, который будет содержать данные о системе сервера.

Рис. 2 Сетевое взаимодействие

Рассмотрим реализацию в виде кода. Используемые библиотеки:

• Flask - библиотека для создания приложения Flask;

• Psutils - библиотека для сбора данных о системе;

• Platform - библиотека для сбора данных о платформе;

• Jsonifi - библиотека для создания

ответа в формате JSON.

На рисунке 3 показан декоратор «System», который при обращении к серверу будет возвращать следующую информацию: название системы, номер релиза, версия, имя и версия процессора, и сетевое имя. Возвращается ответ в формате JSON с кодом "200" [6,7].

def sys_info()!

name = platform,uname(} system = £

"System - ": name, system. "Node name - "i name, node.,

"Release -"Version -

"Processor

name,release, name,version, name,machine, 1! name,processor

return make_responsei( jsonify (system), 200)| Рис. 3. Информация о клиенте

На рисунке 4 приведён пример использования библиотеки requests на клиенте

для создания HTTP - запроса, после чего ответ будет записан в .txt файл.

import requests

r = requests.get('http://192.168.0.102/system') with open('system.txt', 'wb') as f: f.write(r.content)

Рис. 4. Создание HTTP запроса на клиенте

Результат работы данного запроса вы можете наблюдать на рисунке 5.

Рис. 5. Результат взаимодействия сервера с клиентом

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

формате JSON. Сервер обрабатывал HTTP - запрос при помощи веб-сервиса, основанного на фреймворке Flask, после чего генерировал ответ в формате JSON.

ЛИТЕРАТУРА

1. Комплексный подход к обеспечению безопасности киберфизических систем на основе микроконтроллеров/ Котенко И.В., Левшун Д.С., Чечулин А.А., Ушаков И.А., Красов А.В. // Вопросы кибербезопасности. 2018. № 3 (27). С. 29-38.

2. Платформа для распознавания лица на основе Raspberry PI/ Саляхов А.А, Слива М.В. // XX всероссийская студенческая научно-практическая конференция нижневартовского государственного университета 2018.

3. Research of wireless network traffic analysis using big data processing technology / Kovtsur M., Kistruga A., Mikhailova A., Potemkin P., Volkogonov V. // Всборнике: The 13th international congress on ultra modern telecommunications and control systems (icumt2021). 2021. С. 115-121.

4. Исследование способов удаленного перехвата трафика в корпоративных сетях / Ковцур М.М., Герлинг Е.Ю., Коновалова В.В., Киструга А.Ю. // Вестник Санкт-Петербургского государственного университета технологии и дизайна. Серия 1: Естественные и технические науки. 2021. № 4. С. 68-75.

5. Разработка системы учета посещаемости студентов масштаба вуза / Ковцур М.М., Луеке П.Э. // В сборнике: Актуальные проблемы инфотелекоммуникаций в науке и образовании (АПИНО 2019). сборник научных статей VIII Международной научно-технической и научно-методической конференция и : в 4 т.. 2019. С. 532-537.

6. Обеспечение информационной безопасности web-приложений с использованием машинного обучения / Ковцур М.М., Миняев А.А., Потемкин П.А., Хамза Д.Д. // В сборнике: Актуальные проблемы инфотелекоммуникаций в науке и образовании (АПИНО 2020). Ix Международная научно-техническая и научно-методическая конференция : сборник научных статей. Санкт-Петербург, 2020. С. 597-601.

7. Использование стеганографии в компьютерных играх / Ахрамеева К.А., Герлинг Е.Ю., Ковцур М.М., Куликов И.А. // Телекоммуникации. 2020. № 10. С. 22-26.

i Надоели баннеры? Вы всегда можете отключить рекламу.