AWS Greengrass in Building IoT Applications
Lehikoinen, Tommi; Lehikoinen, Tommi (2023)
Lehikoinen, Tommi
Lehikoinen, Tommi
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023052514073
https://urn.fi/URN:NBN:fi:amk-2023052514073
Tiivistelmä
Edge computing is a paradigm that brings computation closer to the data source and can solve many challenges with IoT devices and their development. For applications with critical time constraints, computation at the edge provides faster response times compared to cloud computing. However, edge devices often need to maintain a connection to the cloud to access greater computational power or data storage. Edge devices also require scalability, remote upgradeability, and device state monitoring to be effective. This thesis aims to explore how AWS Greengrass can address these problems and be used to build IoT applications.
To demonstrate the capabilities of AWS Greengrass and its potential use in building IoT applications, a proof of concept (POC) was developed with it. After installing the Greengrass Core software on the Raspberry Pi computer, software was developed to provide control of the GPIO for input and output, remote monitoring and device state updates, and communication between different software modules. Connectivity was established to an ESP32 microcontroller in a local network, and the data from it was then forwarded to a cloud service for further processing and analytics.
In conclusion, AWS Greengrass and its features were successfully utilized to implement an IoT demo application, with the device, edge, and cloud layers each performing their suitable tasks. For future research, the Greengrass feature called Fleet Provisioning could be investigated for handling the horizontal scaling of the system. In this demo, the certificate keys to authorize devices were hardcoded, but using Fleet Provisioning would be a better approach for scalability.
To demonstrate the capabilities of AWS Greengrass and its potential use in building IoT applications, a proof of concept (POC) was developed with it. After installing the Greengrass Core software on the Raspberry Pi computer, software was developed to provide control of the GPIO for input and output, remote monitoring and device state updates, and communication between different software modules. Connectivity was established to an ESP32 microcontroller in a local network, and the data from it was then forwarded to a cloud service for further processing and analytics.
In conclusion, AWS Greengrass and its features were successfully utilized to implement an IoT demo application, with the device, edge, and cloud layers each performing their suitable tasks. For future research, the Greengrass feature called Fleet Provisioning could be investigated for handling the horizontal scaling of the system. In this demo, the certificate keys to authorize devices were hardcoded, but using Fleet Provisioning would be a better approach for scalability.