Analysis and data processing systems

ANALYSIS AND DATA PROCESSING SYSTEMS

Print ISSN: 2782-2001          Online ISSN: 2782-215X
English | Русский

Recent issue
№2(98) April - June 2025

Development of an architectural software solution for Internet of Thing devices

Issue No 2 (90) April - June 2023
Authors:

Shperling Vladimir K.,
Yakimenko Alexander A.
DOI: http://dx.doi.org/10.17212/2782-2001-2023-2-43-58
Abstract

The article presents the development of an architectural software solution for Internet of Things (IoT) devices that implements the functionality of an automatic medical drug dispenser, based on the ESP32 hardware platform and utilizing the capabilities of the existing real-time operating systems (RTOS). The software architecture for IoT devices was designed with scalability and fault tolerance in mind. All components of the system interact with each other through asynchronous callback functions, which provides flexibility and extensibility to the architecture. Testing for system fault tolerance was conducted. The architecture can be implemented and used as the basis for any IoT device, allowing for support of modern security and functionality stacks, by implementing this functionality once in any of the devices. The process of designing the software architecture is presented, including the selection of suitable technologies and libraries. Particular attention was paid to ensuring the safety and reliability of the device, including protection against an unauthorized access and errors in operation. The experimental results show high efficiency and accuracy of the automatic medical drug dispenser based on the developed software. The practical part provides examples of implementing the proposed architecture in the C and C++ languages, with examples and basic interaction diagrams between the components. The rxcpp library was also used in writing the C++ implementation, which made it easier to write the code base for interacting with the operating system resources and reusing the multithreaded interaction with the system.


Keywords: IoT, С++ development, software architecture, ESP-IDF, FreeRTOS, ReactiveX, Internet of Things architecture, IoT software

References

1. Sutar S., Mekala P. An Extensive review on IoT security challenges and LWC implementation on tiny hardware for node level security evaluation. International Journal of Next-Generation Computting, 2022, vol. 13 (1). DOI: 10.47164/ijngc.v13i1.424.



2. Ferreira AG, Fernandes D, Branco S., Monteiro J.L., Cabral J., Catarino A.P., Rocha A.M. A smart wearable system for sudden infant death syndrome monitoring. 2016 IEEE International Conference on Industrial Technology (ICIT), Taipei, Taiwan, 2016, pp. 1920–1925. DOI: 10.1109/ICIT.2016.7475060.



3. Myers G.J., Sandler C., Badgett T. The Art of Software Testing. Hoboken, NJ, John Wiley & Sons, 2011.



4. Jorgensen M., Shepperd M. a systematic review of software development cost estimation studies. IEEE Transactions on Software Engineering, 2007, vol. 33 (1), pp. 33–53. DOI: 10.1109/TSE.2007.256943.



5. Kalinsky D. Basic concepts of real-time operating systems (18 November, 2003). Available at: https://linuxdevices.org/basic-concepts-of-real-time-operating-systems-a/ (accessed 29.05.2023).



6. Laplante P.A., Ovaska S.J. Real-time systems design and analysis: tools for the practitioner. 4th ed. Wiley-Interscience, 2012. 536 p.



7. Schorcht G. Documentation. ESP32 SoC Series. RIOT. Website. Available at: https://doc.riot-os.org/group__cpu__esp32.html#esp32_features (accessed 29.05.2023).



8. Kernighan W.B., Ritchie M.D. The C programming language. 2nd ed. Englewood Cliffs, NJ, Prentice-Hall, 1988. 272 p.



9. Tornhill A. Patterns in C: patterns, idioms and design principles. Leanpub, 2015.



10. Schildt H. C++: the complete reference. 3rd ed. Osborne, McGraw-Hill, 1998. ISBN 978-0-07-882476-0.



11. Ševc B. Library for Handling. Asynchronous Events in C++. Bachelor's thesis. Brno, 2019. Available at: https://is.muni.cz/th/lx0et/thesis_Archive.pdf (accessed 29.05.2023).



12. Schweizer H., Besta M., Hoefler T. Evaluating the cost of atomic operations on modern architectures. 2015 International Conference on Parallel Architecture and Compilation (PACT). IEEE, 2015, pp. 445–456. DOI: 10.1109/PACT.2015.24.



13. Garg R., Kumar R. A review of real-time operating systems for Internet of Things applications. Journal of Ambient Intelligence and Humanized Computing, 2019, vol. 10 (7), pp. 2665–2681.



14. Yang Y., Li Y., Li X. A survey on real-time operating systems for embedded systems in Internet of Things. Journal of Ambient Intelligence and Humanized Computing, 2019, vol. 10 (6), pp. 2423–2437.



15. Baccelli E., Hahm O., Gunes M., Wählisch M., Schmidt T. C. RIOT OS: towards an OS for the Internet of Things. 2013 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), Turin, Italy, 2013, pp. 79–80. – DOI: 10.1109/INFCOMW.2013.6970748.

Acknowledgements. Funding

The study was carried out with the financial support of the Russian Foundation for Basic Research within the framework of the scientific project № 20-08-00550 А.

For citation:

Shperling V.K., Yakimenko A.A. Razrabotka arkhitekturnogo resheniya programmnogo obespe-cheniya dlya ustroistv internet-veshchei [Development of an architectural software solution for Internet of Thing devices]. Sistemy analiza i obrabotki dannykh = Analysis and Data Processing Systems, 2023, no. 2 (90), pp. 43–58. DOI: 10.17212/2782-2001-2023-2-43-58.

Views: 771