Enabling Smartphones to act as IoT Edge Devices via the Browser-based ’WebUSB API’ : The future of the browser and the smartphone in home electronics IoT systems
Abstract: This degree project proposes a novel architecture for IoT systems, utilizing smartphones as edge devices and running the value-creating software such as preprocessing, anomaly detection, and deriving data-based insights in the web browser as opposed to natively on the device. Utilizing the smartphone as an edge device reduces cost of adoption for IoT technologies since less hardware has to be included in the system compared to bundling a device for processing with the system. However, in typical implementations, these smartphones are running native applications that are necessarily bound by the policy set up by the owners of the major application marketplaces through which the applications are distributed, that among other things enforce a heavy revenue-sharing program. Furthermore, this sytem is not convenient for the user since they have to download an application they may only use once or sparingly, and it relies on the compatibility between the operating system and the application. Running the application in the browser as opposed to natively would solve these issues. This work also explores the experimental WebUSB API and investigates its applicability in IoT systems. Specifically, this work explores two constructed scenarios that showcase the promise of this novel architecture to extrapolate how it can be utilized for other purposes. These two constructed scenarios are successfully implemented, and various metrics to analyse their performance and real world applicability are discussed. In one experiment, a QR-scanning application is implemented in the browser, and showcases an average frame rate of over 60 frames per second while rendering a live video feed of the contents captured by the camera as well as a loading animation, and an average time to completion for scanning a QR code of 0,204 seconds after initiating the scan. In another experiment, a firmware update is simulated by transferring encrypted data from the browser via the WebUSB API to a microcontroller. Due to the limitations of the experimental setup, the implementation could showcase a transfer of no more than 29 KB of encrypted data in 10 seconds. However, the implementation successfully shows that the browser can remain interactive even while performing these transferring operations, and that there are good APIs in place for developers to easily access the advanced sensors of the phone, and that the WebUSB API has good safety measures in place. Furthermore, the work successfully demonstrates how the WebUSB API can be utilized in IoT systems as a novel way of transferring data that holds great implications for the future of IoT systems in general, and the web in particular. To conclude, the work finds that the modern web browser works well as an environment for IoT applications, and that it has good access to the advanced sensors of the smartphone, and that theWebUSB API can effectively be utilised for data transfer in IoT applications.
AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)