Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

2023 International Russian Automation Conference (RusAutoCon)

Development of IoT Gateway and Cloud Platform for


Software Defined Mesh Network of Internet of
Things Devices
2023 International Russian Automation Conference (RusAutoCon) | 979-8-3503-4555-1/23/$31.00 ©2023 IEEE | DOI: 10.1109/RusAutoCon58002.2023.10272962

Dmitry Perepelkin Daniil Tkachev


Faculty of Computer Engineering Faculty of Computer Engineering
Ryazan State Radio Engineering University Ryazan state radio engineering university
Ryazan, Russia Ryazan, Russia
perepelkin.d.a@rsreu.ru fenix784@mail.ru

Abstract—Mesh networks are becoming increasingly popular


in the field of the Internet of Things. The use of such networks II. THEORETICAL STUDIES
allows you to create distributed systems where devices can The paper [1] presents a software system for configuring a
exchange data with each other without the need to connect to a
network of Internet of Things devices. The visual system and
central server. The aim of the work is to develop an IoT gateway
that provides interaction between IoT devices, collects data from infrastructure for distributed data processing are considered in
a software defined mesh network of Internet of Things devices [2]. Methods of dynamic traffic management in software
and transmits them to a cloud platform for further processing. defined networks are described in [3]. Various cloud platforms
The cloud platform, in turn, provides storage, processing and for the implementation of software systems based on the
analysis of data from Internet of Things devices, as well as concept of the Internet of Things are considered in [4], their
provides various services that allow you to monitor the status of main capabilities, advantages and disadvantages are identified.
devices and manage them. To confirm the effectiveness of the Technologies, protocols, standards and architectures used to
proposed approach, a visual software system IoT Configuration create intelligent devices and systems based on the Internet of
Map has been developed, which allows you to automate the
Things concept are described in [5]. The paper [6] describes a
process of configuring Internet of Things devices, and also
displays data from devices and network topology. smart home management system with an integrated cloud
environment that provides remote control of devices and the
Keywords—Internet of Things, mesh network, software defined ability to monitor data. The paper [7] provides descriptions
network, cloud platform, visual software system, network and examples of the use of various sensors, modules and
architecture components to create smart devices and Internet of Things
systems, as well as describes the stages of development and
I. INTRODUCTION configuration of Internet of Things platforms. The paper [8]
discusses the use of cloud platforms in the construction of
The Internet of Things (IoT) is a network of devices that
systems based on the concept of the Internet of Things.
can exchange data and interact with each other without the
Application models, the role of the Internet of Things
need for human intervention. Currently, IoT devices are used
platform, and the architecture of systems based on the Internet
in many fields, such as smart home, medicine, manufacturing
of Things concept are discussed in [9]. In [10], ETSI's
and transportation. However, in order for these devices to
proposals in the field of the Internet of Things and the
work together and be effectively managed, it is necessary to
principle of operation of the oneM2M standard are considered.
combine them into a single system.
[11] presents the main approaches for traffic management in
To solve this problem, this paper proposes a software
the cloud infrastructure of software defined networks. Traffic
defined mesh network of Internet of Things devices, where
processing in hyper convergent structures with software
each device can communicate with others, forming a set of
switching based on traditional approaches and the OpenFlow
routes for data transmission. However, for effective
protocol is investigated in [12]. The theoretical and practical
management of such a network, it is necessary to have a
bases of construction, design and support of software-
central element – an IoT gateway that will provide
configurable networks are considered in [13]. Approaches to
communication between devices and the cloud platform. The
international standardization and programming of the Internet
cloud platform, in turn, allows you to manage and configure a
of Things, issues of cybersecurity of the Internet of Things are
network of IoT devices, as well as provides data storage and
considered in [14]. Various programming models for Internet
processing.
of Things applications are proposed in work [15], depending
The developed visual software system has a graphical
on their complexity, scale and types of supported devices.
interface that displays the network topology and data from end
Various application-level interfaces for software defined
devices, and also provides a set of tools that allows you to
networks are considered in [16]. Various cloud platforms for
create automation and configure Internet of Things devices.
the implementation of software systems based on the concept
of the Internet of Things are considered in work [17], their
The work is performed at the support of the Grant of the President of the
Russian Federation (МД-3201.2022.1.6).

979-8-3503-4555-1/23/$31.00 ©2023 IEEE


561
ed licensed use limited to: MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE. Downloaded on April 30,2024 at 10:33:14 UTC from IEEE Xplore. Restriction
2023 International Russian Automation Conference (RusAutoCon)
main capabilities, advantages and disadvantages are identified. transmission routes and bypass nodes that do not work. One of
Application models, the role of the Internet of Things the nodes of the mesh network is the main one and transmits all
platform, application architecture based on the Internet of the information to the IoT gateway. In the case when the main
Things concept are discussed in [18]. The paper [19] describes node is no longer available, its responsibilities are randomly
a smart home management system with an integrated cloud transferred to another node.
environment that provides remote device management and To create a mesh network using the PainlessMesh library,
data monitoring capabilities. The paper [20] discusses the use an object of the PainlessMesh class is created and the init()
of cloud platforms in building systems based on the concept of method is called, to which the SSID, password and port
the Internet of Things. The article [21] describes a method for numbers of the mesh network being created are passed
determining the state of devices using classification
The receivedCallback() function is responsible for
technology, which is based on the composition of time series
processing received data from other nodes of the mesh
processing algorithms that reflect the operation of elements
network. This function calls the sendMessageToServer()
during the execution of processes and are trained function, which sends data received from other nodes to the
independently of each other. IoT gateway if the current node is the main one. In this
The analysis of the above works showed that the function, the ESP32 is first connected to a Wi-Fi access point
development of an IoT gateway and a cloud platform for a and an IP address is obtained using the WiFi library. To send
software defined mesh network of Internet of Things devices data to the IoT gateway, a WiFiClient class object is created
is an urgent task that allows you to create flexible and fault- and the connect() method is called to connect to the IoT
tolerant networks of IoT devices that are easily configured and gateway, then the print() method is used to send data.
managed using a graphical interface.
III. DEVELOPMENT OF A MESH NETWORK OF DEVICES IV. IOT GATEWAY DEVELOPMENT
To implement a software defined mesh network (Fig. 1), an The gateway of Internet of Things devices (IoT gateway)
ESP32 microcontroller is used, which has a low cost, a wide allows you to manage and coordinate the work of other Internet
range of interfaces for connecting sensors, built-in Wi-Fi and of Things devices. It is the central element in the local Internet
Bluetooth modules, which makes it an ideal choice for of Things network and provides communication between all
developing a mesh network. To collect parameters, the DHT11 devices, their management, as well as data processing and
temperature and humidity sensor, the GL5537 photoresistor sending them to the cloud platform.
and the HC-SR501 motion sensor are connected to the ESP32. As Internet of Things devices connected to the IoT
To create a mesh network on ESP32 microcontrollers, the gateway, TP-Link Tapo P100 smart sockets, TP-Link Tapo
PainlessMesh library is used, which provides a simple interface L530 smart bulbs and ESP32 microcontrollers are used,
for creating a mesh network and exchanging data between forming a mesh network and collecting information about
devices. The library works on the basis of the OLSR protocol, temperature, humidity, ambient light level and the presence of
which allows devices to automatically configure message movement using sensors.

Fig. 1. Software defined mesh network.

562
ed licensed use limited to: MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE. Downloaded on April 30,2024 at 10:33:14 UTC from IEEE Xplore. Restriction
2023 International Russian Automation Conference (RusAutoCon)
The IoT gateway also scans the Wi-Fi network to which it The cloud IoT platform includes a controller that monitors
is connected and detects all wireless devices available on this the status of user-generated automations for a software defined
network (Fig. 2). Scanning by an IoT gateway of a Wi-Fi mesh network of Internet of Things devices. The listing of the
network is performed using utilities implemented in the Python function responsible for the implementation of the cloud IoT
programming language based on ICMP and ARP protocols. platform controller is presented below. The algorithm of the
controller's operation consists in obtaining a list of automations
The ping_device() function takes an IP address as an input from the database and verifying their validity. If the
parameter and uses the ping() method of the pythonping library automation rule is met, the controller sends a command to the
to determine the availability of the device at this IP address. To corresponding IoT gateway.
speed up the scanning of the Wi-Fi network by the IoT
gateway, the ping_device() function is called for each IP
address in a separate thread. VI. DEVELOPMENT OF A VISUAL SOFTWARE SYSTEM IOT
CONFIGURATION MAP
The interaction of the gateway of Internet of Things devices
and the cloud platform occurs using a socket. The device A visual software system IoT Configuration Map was
Gateway collects data from connected devices and transmits it developed to visualize the network topology, data from the
to the cloud platform, where it is processed and analyzed. The Internet of Things end devices and manage them, as well as
cloud platform can send commands to manage devices through create automations (Fig. 4). The system is developed in the
the gateway. Python programming language using the library for creating
PyQt5 graphical applications, which allows it to be used on
The send_messages() method is responsible for sending
Windows, Linux and Mac OS operating systems.
data to the cloud IoT platform via a socket in json format. The
receive_messages() method is responsible for listening to One of the main features of this system is its flexibility.
incoming messages from the cloud IoT platform that contain The system can be adapted to work with various IoT devices,
commands for managing Internet of Things devices. If the thanks to the constructor contained in the IoTDevice class,
cloud IoT platform is currently unavailable, the IoT gateway which converts the string representation of information about
will attempt to connect to it in the do_connection_attempt() the list of parameters and functions of the device into
method until a connection is established. graphical elements. The IoTDeviceManage class is used to
transmit commands for managing Internet of Things devices
V. DEVELOPMENT OF A CLOUD IOT PLATFORM to the cloud platform and updating parameter values.
The cloud IoT platform aggregates information about the Fig. 3 shows a UML class diagram of the developed
network structure, data from end devices, and also allows you visual software system IoT Configuration Map.
to make decisions and manage a network of Internet of Things
devices in real time based on the analysis of the collected data. The AdaptiveDimensions class contains the sizes of all
graphical components of the software system, which
To interact with the visual software system, the cloud IoT
platform implements API interfaces, which provides the ability automatically adjust to the size of the user's screen at startup
to display data and control Internet of Things devices through a and are dynamically calculated using the scaling_dimensions()
graphical interface. The database of the cloud platform stores and init_placement() methods when the user changes the scale
information about all types of IoT end devices and their of the graphical editor.
functions, which is then transmitted to the visual software
system and displayed as graphical controls using the designer.

Fig. 2. Devices scanned by the IoT gateway.

563
ed licensed use limited to: MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE. Downloaded on April 30,2024 at 10:33:14 UTC from IEEE Xplore. Restriction
2023 International Russian Automation Conference (RusAutoCon)

Fig. 3. Class diagram of the visual software system IoT Configuration Map.

Fig. 4. Graphical interface of the IoT Configuration Map software system.

The Device class is the parent class for all device classes. changing_placement() method, which is responsible for
It contains fields that store data about the type of device, its IP calculating coordinates and moving objects to the specified
and MAC addresses, network availability and data coordinates.
transmission delay. By default, the device does not have any
The ConnectionWindow class creates a window for
functions and does not contain parameters, however, the
adding automation (Fig. 5), which allows you to create new
return_functions() method, which is responsible for the
device configuration rules. The RulesWindow class displays a
graphical representation of device parameters and functions,
window of automations already set for the device (Fig. 6),
can be overridden by the successor classes.
which are stored in the cloud platform. The TimeWindow
The core of the visual software system is contained in the class represents a window for creating automation by time. To
UpdateDevices class, which is responsible for data exchange save automation in the cloud platform, the SendControl class
with the cloud platform, as well as updating the list of devices. is used.
To place device instances inside the graphical editor, the For authorization, the AuthorizationWindow class is used
Device Layout class is used. This class contains the in the application, which allows the user to log in using a

564
ed licensed use limited to: MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE. Downloaded on April 30,2024 at 10:33:14 UTC from IEEE Xplore. Restriction
2023 International Russian Automation Conference (RusAutoCon)
username and password or log in using an IP address. In the [6] P. L. Nikolaev, “Architecture of a smart home management system
integrated into the cloud environment,” Software Products and Systems,
case of user authorization by IP address, devices will be vol. 2, pp. 65–69, 2015.
available to him only inside his local network. [7] V. A. Petin, New Features of Arduino, ESP, Raspberry Pi in Projects
From. BHV-Peterburg, 2022.
[8] D. E. Doceuchaev and N. T. Yunusov, “Cloud technologies for the
Internet of Things,” Socio-Economic Management: Theory and Practice,
vol. 3, no. 34, pp. 101–104, 2018.
[9] V. Kupriyanovsky, D. Namiot, V. Drozhzhinov, J. Kupriyanovsky, and
M. Ivanov, “Internet of Things in industrial enterprises,” International
Journal of Open Information Technologies, vol. 4, no. 12, pp. 69–78,
2016.
[10] V. Kupriyanovsky, A. Klimov, V. Alenkov, D. Namiot, and M. Sneps-
Sneppe, “On the new IoT generation - ETSI ontology standards and
specifications,” International Journal of Open Information Technologies,
vol. 7, no. 9, pp. 73–81, 2019.
[11] A. V. Roslyakov, S. V. Vanyashin, and A. Yu. Grebeshkov, Internet of
Things: Tutorial. Samara PGUTI, 2015.
Fig. 5. Device automation creation window. [12] M. V. Ushakova and Yu. A. Ushakov, “Research of virtual
infrastructure network of data processing center with hybrid software-
configurable switching,” Vestnik of Ryazan State Radio Engineering
University, vol. 75, pp. 73–81, 2021.
[13] V. P. Koryachko and D. A. Perepelkin, Software Defined Networks:
Textbook for Universities. Goryachaya Liniya-Telekom, 2020.
[14] V. Kupriyanovsky, M. Sneps-Sneppe, D. Namiot, S. Seleznev, S. Sinyagov, and
J. Kupriyanovsky, “Web of things and internet of things in the digital economy,”
Fig. 6. Device automation window. International Journal of Open Information Technologies, vol. 5, no. 5,
pp. 38–45, 2017.
[15] D. Namiot and M. Sneps-Sneppe, “On Internet of Things Programming Models,”
VII. CONCLUSION Communications in Computer and Information Science, vol. 678, pp.
13–24, 2016.
The article has developed an IoT gateway that provides
[16] D. Namiot, “Application layer interfaces in SDN,” Modern Information
interaction of devices in a software defined mesh network of Technologies and IT Education, vol. 11, no. 2, pp. 26–30, 2015.
the Internet of Things, data collection and sending to the cloud [17] A. T. Magzhanova, “Application of cloud technologies for the
IoT platform for further processing and analysis, as well as implementation of Internet of Things solutions,” Modern Innovations,
redirecting commands from the cloud platform to the end IoT vol. 7, no. 9, pp. 30–34, 2016.
devices. A software defined mesh network allows Internet of [18] V. Kupriyanovsky, D. Namiot, V. Drozhzhinov, J. Kupriyanovsky, and
Things devices to exchange data among themselves without M. Ivanov, “Internet of Things in industrial plants,” International
Journal of Open Information Technologies, vol. 4, no. 12, pp. 69–78,
the need to connect to a common access point. A cloud-based 2016.
IoT platform is used to store and process data, generate [19] P. L. Nikolaev, “Architecture of a smart home management system
commands for managing Internet of Things devices. To integrated into a cloud environment,” Software Products and Systems,
visualize a software defined mesh network of Internet of vol. 2, pp. 65–69, 2015.
Things devices and create automations, a visual software [20] D. E. Doceuchaev and N. T. Yunusov, “Cloud for Internet of Things,”
Socio-Economic Management: Theory and Practice, vol. 3, no. 34, pp.
system has been developed, the architecture of which is 101–104, 2018.
described using a UML class diagram. [21] M. E. Sukhoparov, I. S. Lebedev, and A. V. Garanin, “Application of
classifier sequences in the task of state analysis of Internet of Things
REFERENCES devices,” Computing, Telecommunications and Control, vol. 13, np. 3,
pp. 44–54, 2020.
[1] D. A. Perepelkin and D. D. Tkachev, “Development of cloud platform
and visual software system for configuring Internet of Things devices,”
Vestnik of Ryazan State Radio Engineering University, vol. 82, pp. 73–
88, 2022.
[2] V. P. Koryachko, D. A. Perepelkin, M. A. Ivanchikova, V. S. Byshov, I.
Yu. Cyganov, “Software infrastructure and visual environment of
distributed data flows processing in software defined networks,” Vestnik
of Ryazan State Radio Engineering University, vol. 65, pp. 44–54, 2018.
[3] E. V. Nikulchev, S. V. Payain, E. V. Pluzhnik, “Dynamic traffic
management of software defined networks in the cloud infrastructure”,
Vestnik of Ryazan State Radio Engineering University, vol. 3, no. 45,
pp. 54–57, 2013.
[4] A. T. Magzhanova, “Application of cloud technologies for the
implementation of Internet of Things solutions,” Modern Innovations,
vol. 7, no. 9, pp. 30–34, 2016.
[5] P. Li, Architecture of the Internet of Things. DMK Press, 2019.

565
ed licensed use limited to: MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE. Downloaded on April 30,2024 at 10:33:14 UTC from IEEE Xplore. Restriction

You might also like