Design and Implementation of CI/CD over LoRaWAN : Continuous Integration and Deployment in LoRaWAN Edge Computing Applications - Gumaa, Motasim (My University, 2022)
The recent rise of IoT devices in commercial and industrial spaces has created a demand for energy-efficient and reliable communication solutions. Communication solutions used on IoT devices vary depending on the applications. Wireless Low Power Wide Area Network (LPWAN) technologies have proven benefits, including long-range, low power, and low-cost communication alternatives for IoT devices. These benefits come at the cost of limitations, such as lower data rates. At the same time, the demand for faster, cheaper, and more reliable software deployment is becoming more critical than ever before. This thesis aims to find a way of having an automated process where software could be remotely deployed into LoRa nodes and investigate whether it is possible to implement a DevOps pipeline with both Continuous Integration (CI) and Continuous Deployment (CD) over LoRaWAN. For this thesis, an IoT LoRaWAN Edge computing application was chosen to determine how to design and implement a CI/CD pipeline to ensure a dependable and a continuous software deployment to the LoRaWAN nodes. Designing and implementing a Continuous Deployment pipeline for this IoT application was made possible with the integration of DevOps tools like GitHub and a TeamCity automation server. Additionally, a series of scripts have been designed and developed for this case, including automated tests, integration to cloud services, and file fragmentation and defragmentation tools. For software deployment and verification to the LoRaWAN network, a program was designed to communicate with the LoRaWAN network server over the WebSocket communication protocol. The implementation of DevOps in LoRaWAN applications is affected by the limitations of the LoRaWAN protocol. This thesis argues that these limitations can be eliminated using modular software and file fragmentation techniques. The implementation presented in this work can be extended for various time-critical use cases. The solution presented in this thesis also opens the door to combining LoRaWAN with other LPWAN technologies, like NB-IoT, that can be activated on demand.
Keywords: LoRaWAN, Edge Computing, DevOps, FUOTA, Continuous Integration, Continuous Deployment