Professional Documents
Culture Documents
Development of IoT Gateway and Cloud Platform For Software Defined Mesh Network of Internet of Things Devices
Development of IoT Gateway and Cloud Platform For Software Defined Mesh Network of Internet of Things Devices
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.
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.
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