The subject of study and research in this article are the technology of programming and interaction of nodes, as well as individual small-sized components of embedded Internet of Things (IoT) systems. The goal is to increase the flexibility of IoT system components by simplifying the reconfiguration process of individual nodes and components. The task is: to analyze existing approaches to building configurable systems, analyze and describe existing solutions that implement joint approaches; to analyze the tools for implementing the selected approaches; to describe the method of building a living system based on the analysis approach; and to provide a technical example of the proposed programming method. According to the tasks, the following results were obtained. Possible ways of reconfiguration of IoT components are analyzed. Methods of reconfiguration at the network level and partial node reconfiguration are considered. Methods to ensure the flexibility of IoT components are analyzed and classified. A comparative analysis of the summary parameters of the loaders was carried out. The possibility of using software components as immutable blocks of code to modify the microcontroller program as a method of reconfiguration was analyzed. The idea of using variable software modules to represent the microcontroller program at a higher level of abstraction with a modified bootloader is thus proposed. Elements of a method for reprogramming variable software modules of microcontrollers as middleware are proposed. Conclusions. According to a review of the existing types of systems, they were classified according to the level of organization of their reconfigured parts. According to the obtained preliminary classifications, some architectural solutions were considered from the point of view of improving operational characteristics. The main advantages for each type of organization of the reconfigurable parts of the systems are highlighted. An analysis of practical solutions regarding the modification of the built-in components of microcontrollers for managing and updating their firmware was conducted. The practical significance of this study is the proposal of a method of programming with variable software modules for microcontrollers and the obtained results of a competitive analysis of methods of modifying components and loader characteristics.
Read full abstract