AWS IoT Greengrass is software that elongate cloud capabilities to local devices. This enables devices to collect and analyse data closer to the source of information, react autonomously to local events, and communicate with each other on local networks with security. Local devices can also securely communicate with AWS IoT and export IoT data to the AWS Cloud. Free RTOS is an open source, real-time operating system for microcontrollers that makes small, low-power edge devices easy to program, deploy, secure, connect, and manage. FreeRTOS includes a kernel and a growing set of software libraries suitable for use across industry sectors and applications. This includes securely connecting your small, low-power devices to AWS cloud services like AWS IoT Core or to more powerful edge devices running AWS IoT Greengrass. FreeRTOS is built with an emphasis on reliability and ease of use.
The following diagram shows the basic architecture of AWS IoT Greengrass.
With AWS IoT Greengrass customers can build IoT devices and application logic. Specifically, AWS IoT Greengrass enables cloud-based management of application logic that runs on devices. Locally deployed Lambda functions and connectors are triggered by local events, messages from the cloud, or other sources. In AWS IoT Greengrass, devices securely communicate on a local network and exchange messages with each other without having to connect to the cloud. AWS IoT Greengrass provides a local pub/sub message manager that can intelligently buffer messages if connectivity is lost so that inbound and outbound messages to the cloud are preserved.
AWS IoT Greengrass consists of:
AWS IoT Greengrass Connectors allow users to easily build complex workflows on AWS IoT Greengrass without having to worry about understanding device protocols, managing credentials or interacting with external APIs.Deployment and local execution of connectors and Lambda functio takes palce through Greengrass Core.It Process data streams locally with automatic exports to the AWS Cloud.
Once the core is established, we can continue to add devices to the group that are themselves on the cloud, or other devices which are AWS IoT provisioned, or AWS Lambda functions – which are essentially simple programs that can process or respond to data.
An AWS IoT Greengrass group is a collection of settings and components, such as an AWS IoT Greengrass core, devices, and subscriptions. Groups are used to define a scope of interaction. For example, a group might represent one floor of a building, one truck, or entire warehouse. The following diagram shows the components that can make up a Greengrass group.
Once deployed, the core and devices can communicate, even without a internetconnection.IoT vs. AWS IoT Greengrass:The IoT (Internet of things) is a network of connected devices called “Things” that are connected to a cloud server (a fit-bit or a fridge or a thermal sensor could be a “thing”). Data aggregated from these things on to the cloud server, data could be monitored in real-time and react/respond immediately.
For our use case, following services are used: