In recent years, the proliferation of Internet of Things (IoT) applications has been remarkable, characterized by integrating tasks across multiple devices, forming the so-called edge-cloud continuum. The ability to reconfigure the software behavior over all nodes of the continuum has become crucial to support applications with varying demands. However, located at the extreme edge of IoT deployments, IoT microcontrollers often have static behaviors. Although Over the Air (OTA) methodologies are widely supported by most devices, the reconfiguration process may involve potentially inefficient and hazardous updates of the entire firmware. In response, this paper proposes an OTA software update system for IoT microcontrollers leveraging portable WebAssembly (WASM) code. By separating the application logic from the rest of the firmware, our system ensures heterogeneity, safety, efficiency, and reliability. Furthermore, we propose an update procedure based on different network protocols (MQTT and HTTP) to facilitate dealing with groups of IoT microcontrollers in a single action. We implemented a Configuration and Administration Toolkit (CAT) to evaluate our proposal and conducted a comprehensive performance analysis using a small-scale IoT testbed. Our findings demonstrate that while the WASM logic updates notably outperform those of the entire firmware, achieving a 30x delay reduction, they incur a performance overhead that is lower than MicroPython when compared to native C++ development.
Zyrianoff, I., Sciullo, L., Gigli, L., Trotta, A., Kamienski, C., Di Felice, M. (2024). An Over the Air Software Update System for IoT Microcontrollers based on WebAssembly. 10662 LOS VAQUEROS CIRCLE, PO BOX 3014, LOS ALAMITOS, CA 90720-1264 USA : Institute of Electrical and Electronics Engineers Inc. [10.1109/dcoss-iot61029.2024.00057].
An Over the Air Software Update System for IoT Microcontrollers based on WebAssembly
Zyrianoff, Ivan
;Sciullo, Luca;Gigli, Lorenzo;Trotta, Angelo;Di Felice, Marco
2024
Abstract
In recent years, the proliferation of Internet of Things (IoT) applications has been remarkable, characterized by integrating tasks across multiple devices, forming the so-called edge-cloud continuum. The ability to reconfigure the software behavior over all nodes of the continuum has become crucial to support applications with varying demands. However, located at the extreme edge of IoT deployments, IoT microcontrollers often have static behaviors. Although Over the Air (OTA) methodologies are widely supported by most devices, the reconfiguration process may involve potentially inefficient and hazardous updates of the entire firmware. In response, this paper proposes an OTA software update system for IoT microcontrollers leveraging portable WebAssembly (WASM) code. By separating the application logic from the rest of the firmware, our system ensures heterogeneity, safety, efficiency, and reliability. Furthermore, we propose an update procedure based on different network protocols (MQTT and HTTP) to facilitate dealing with groups of IoT microcontrollers in a single action. We implemented a Configuration and Administration Toolkit (CAT) to evaluate our proposal and conducted a comprehensive performance analysis using a small-scale IoT testbed. Our findings demonstrate that while the WASM logic updates notably outperform those of the entire firmware, achieving a 30x delay reduction, they incur a performance overhead that is lower than MicroPython when compared to native C++ development.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.