Design and Implementation of the Interaction Interface between Home Assistant and TOUCHGFX Based on an STM32 Microcontroller
https://doi.org/10.56304/S2304487X22030087
Abstract
Abstract—Internet of things technologies has been rapidly developed in the past decade, stimulating the development of related software products. Home Assistant is a popular home automation software. The interaction interface between Home Assistant and TouchGFX framework, which is used in the development of devices with a graphical user interface, which is based on an STM32 microcontroller, is presented in this work. The MQTT protocol, which is used to connect devices to the central server in the described system, allows the server to interact with previously known devices by using a unique identifier, which is generated when the device is connected to the system. This excludes the possibility of dynamically changing the composition of the system (adding/removing devices) without reconfiguring all interacting nodes. For this reason, it has been proposed to develop an addon for Home Assistant, which would allow devices to receive complete information on the current state of the system. To transfer received information on devices from a dynamic array to the graphical interface, real-time operating system queuing mechanisms, as well as the Model- View-Presenter design pattern, have been used. This pattern improves the scalability of the program code and simplifies the implementation of unit testing. A method has been proposed to optimize the operation of the Smart Home system under the control of the Home Assistant software.
About the Authors
I. A. MityakovRussian Federation
Moscow
115409
A. M. Zharikov
Russian Federation
Moscow
115409
D. A. Kozin
Russian Federation
Moscow
115409
P. V. Nekrasov
Russian Federation
Moscow
115409
References
1. Humayed А., Lin J., Li F., Luo B. Cyber-Physical Systems Security-A Survey. IEEE Internet of Things Journal, 2017, vol. 4, no. 6, pp. 1802–1831. https://doi.org/10.1109/JIOT.2017.2703172.
2. Tanganelli G., Vallati C., Mingozzi E. Rapid Prototyping of IoT Solutions: A Developer’s Perspective. IEEE Internet Computing, 2019, vol. 23, no. 4, pp. 43–52. https://doi.org/10.1109/MIC.2019.2927202.
3. Home assistant. Available at: https://www.home-assistant.io. [accessed: February 20, 2022].
4. The MQTT Protocol. Available at: http://www.mqtt.org.[accessed: February 20, 2022].
5. İşnas G., Şenyer N. Comparison of TouchGFX and LVGL Embedded Hardware GUI Libraries. Gazi University Journal of Science Part C: Design and Technology, 2021, vol. 9, no. 3, pp. 373–384. https://doi.org/10.29109/gujsc.915163
6. Popić S., Pezer D., Mrazovac B., Teslić N. Performance evaluation of using Protocol Buffers in the Internet of Things communication. International Conference on Smart Systems and Technologies (SST), 2016, pp. 261–265. https://doi.org/10.1109/SST.2016.7765670.
7. The ST blog. Available at: https://blog.st.com/touchgfx/ [accessed: February 20, 2022].
8. Loskutov I.O. et al. Investigation of Operating System Influence on Single Event Functional Interrupts Using Fault Injection and Hardware Error Detection in ARM Microcontroller. International Siberian Conference on Control and Communications (SIBCON), 2021. pp. 1–4. https://doi.org/10.1109/SIBCON50419.2021.9438916.
9. Esbai R., Erramdani M. Model-to-model transformation in approach by modeling: From UML model to Model-View-Presenter and Dependency Injection patterns. 5th World Congress on Information and Communication Technologies (WICT), 2015, pp. 1–6. https://doi.org/10.1109/WICT.2015.7489648.
Review
For citations:
Mityakov I.A., Zharikov A.M., Kozin D.A., Nekrasov P.V. Design and Implementation of the Interaction Interface between Home Assistant and TOUCHGFX Based on an STM32 Microcontroller. Vestnik natsional'nogo issledovatel'skogo yadernogo universiteta "MIFI". 2022;11(3):248–253. (In Russ.) https://doi.org/10.56304/S2304487X22030087