
Meet the instructor introducing a comprehensive guide for running iot systems with aws greengrass, emphasizing online teaching and ongoing course updates. He promises four two-hour lectures every few weeks.
AWS Greengrass extends cloud capabilities to local devices, enabling local lambda function deployment, secure local communication, and buffered pub/sub messaging with over the air updates.
Explore AWS Greengrass group definitions, core connectivity, and lambda function deployments, with subscription setups—message rule, source, subject, and target—and device definitions and shadow synchronization.
Explore AWS Greengrass concepts, contrasting blue and green grass devices, device registry, and local certificates for mutual authentication, including core and server certificates, and IP address tracking for auto discovery.
Explore the AWS Greengrass SDK to run Lambda functions on Greengrass core, connect devices to Greengrass services, and publish MQTT messages to cloud topics.
Learn how AWS Greengrass runs lambda functions at the edge, enables device discovery and core connectivity, and publishes MQTT messages to cloud topics while integrating with Amazon S3 and DynamoDB.
Explore how AWS Greengrass core and Greengrass tools enable lambda functions to run locally, interface with cloud services, and publish messages to cloud topics while managing device shadows.
Explore Greengrass supported platforms and requirements, including Amazon Linux and Ubuntu, kernel 4.4+ and minimum RAM, a run directory, and hardlink and symlink protections.
Set up AWS Greengrass on a Mac, Windows, or Unix-like system with a consistent region. Use a Raspberry Pi model B with ARMv7, and ensure Python familiarity.
Set up a Raspberry Pi for AWS Greengrass by preparing the OS, enabling network and SSH, updating the kernel, securing the device, and verifying Greengrass dependencies.
Launch an Amazon EC2 instance using the AWS console, configure security groups for SSH and port 443, then harden the instance and prepare it for Greengrass by installing dependencies.
Learn to set up other devices for AWS Greengrass, including preparing Raspberry Pi or Jetson devices, running dependency checks, and configuring kernels and JetPack firmware to enable Greengrass core installation.
Install and configure AWS Greengrass core to deploy lambda functions, enable secure device-to-cloud messaging, and support over-the-air updates, by signing in, creating a group and core, and downloading security resources.
Start AWS Greengrass on the core device by downloading the Greengrass OS and security certificates, transferring and decompressing them, then starting the Greengrass daemon for secure AWS IoT communication.
Learn how to locate and view the Greengrass config json, review key parameters across core versions, and use commands to inspect and verify the Greengrass setup.
Configure and deploy a python lambda function on Greengrass core, package and upload deployment artifacts, and manage versions with aliases while exploring on-demand versus long-running lambdas.
Configure green grass lambda in a blue/green group, set a 5-second timeout, and enable long-lived on-demand operation. Establish MQTT subscriptions for device-to-lambda and lambda-to-cloud messaging on the hello world topic.
Configure AWS Greengrass cloud configurations on the core device, deploy lambda functions and subscriptions, set up device discovery and permissions, and verify by sending hello world messages.
Configure a long-lived lambda in AWS Greengrass by linking an existing lambda to a Greengrass group, setting a 20-second timeout, and deploying a bidirectional cloud-to-Greengrass subscription.
Enable on-demand lambda functions for Greengrass and deploy the updated group. Publish to a topic to trigger a new container per invocation, though containers can be reused.
Create AWS IoT devices in a Greengrass group and configure a hello world publisher and subscriber, then download and manage certificates and the root certificate for secure communication.
Configure subscriptions in AWS Greengrass to enable a hello world publish-subscribe flow between publisher and subscriber devices and deploy to the core, then install AWS IoT device SDK for Python.
Connect the Greengrass core and your computer to the same network, locate the core's IP address and endpoint, and run the discovery script to enable publisher and subscriber communication.
Configure greengrass devices by creating a G.G. switch and a G.G. traffic light, manage their local shadows and subscriptions, and deploy the updated group to Greengrass core.
Test communications with the switch and traffic light devices via Greengrass discovery, monitor local shadow updates, and deploy updated cloud shadow configurations while using core logs for troubleshooting.
Configure IAM roles for Greengrass and deploy a car-aggregator lambda that tracks traffic-light events, counts passing cars, and logs min and max stats to DynamoDB via Greengrass.
Set up and test Greengrass subscriptions to stream traffic light shadow updates to the core aggregator, deploy the group configuration, run commands, and verify DynamoDB records and logs.
Learn how the Greengrass OTA agent handles over-the-air updates for core and OTA software, delivering security fixes, stability improvements, and new features.
Integrate Greengrass with the init system by managing self updates through pre and post update scripts in the scripts directory, ensuring the managed response flag is respected.
Explore reset deployments in AWS Greengrass, including initiating cleanup of cloud and core deployment data, checking deployment status, and safely accessing local resources with Lambda functions.
Configure local resource access on Greengrass core by creating a resource definition and a group definition with lambda access, then grant permissions via the CLI.
Discover how to add a lambda function to a Greengrass group, manage resource definitions with the Greengrass API, and troubleshoot common permission errors.
Configure local resource access using the AWS Greengrass console by creating a deployment package and lambda function, then attach it to a Greengrass group with appropriate lifecycle settings.
Add a local resource to a Greengrass group with read/write access, configure lambda affiliations and two subscriptions for bidirectional AWS IoT communication, deploy, then test local resource access.
Learn how AWS Greengrass enables edge machine learning inference by training models in the cloud and deploying them locally to Greengrass core, where lambda functions run inferences on connected devices.
Discover AWS Greengrass requirements for machine learning, including non-root access and full resource paths, plus precompiled ML libraries such as MXNet for edge devices.
Configure ml inference on AWS Greengrass for a Raspberry Pi, enabling camera input, installing MXNet, and deploying a Greengrass object classification lambda package.
Set up a Greengrass group by adding a lambda-to-aws iot topic subscription, deploy to the core device, enable automatic discovery, and test with hello/world for inference results.
Configure an NVIDIA Jetson TX2 to run this tutorial, add local device resources and lambda access, increase memory to 2000 MB, and use the Greengrass discovery RESTful API.
Explore how AWS Greengrass uses OPC UA to connect to industrial equipment, monitor node changes with lambda adapters, and publish updates to predefined topics with certificate-based authentication and other options.
Learn to configure and deploy AWS Greengrass security features, create and attach Lambda functions to Greengrass groups, manage certificates and policies, and verify message flow from the OPC UA server.
Explain how AWS greengrass uses device certificates and root ca to connect, download membership, and authenticate by thing name; show mqtt messaging via subscription tables between core devices and lambdas.
Explore how AWS IoT Greengrass logs actions, including cloud watch and local file system logging, with configurable log groups, streams, rotation, and levels for system components and user lambdas.
Understand Greengrass logging limitations, including CloudWatch throughput, local buffering, and clock skew handling. Explore troubleshooting for local and cloud logs, relevant file paths, and how Lambda logs appear during outages.
Troubleshoot Greengrass core by inspecting local and CloudWatch logs, including crash, component, and lambda logs, and address local storage fullness and shadow synchronization timeouts.
AWS Greengrass is software that lets you run local compute, messaging, data caching, sync, and ML inference capabilities for connected devices in a secure way. With AWS Greengrass, connected devices can run AWS Lambda functions, keep device data in sync, and communicate with other devices securely – even when not connected to the Internet. Using AWS Lambda, Greengrass ensures your IoT devices can respond quickly to local events, use Lambda functions running on Greengrass Core to interact with local resources, operate with intermittent connections, stay updated with over the air updates, and minimize the cost of transmitting IoT data to the cloud.
ML Inference is a feature of AWS Greengrass that makes it easy to perform machine learning inference locally on Greengrass Core devices using models that are built and trained in the cloud.
AWS Greengrass seamlessly extends AWS to devices so they can act locally on the data they generate, while still using the cloud for management, analytics, and durable storage. With Greengrass, you can use familiar languages and programming models to create and test your device software in the cloud, and then deploy it to your devices. AWS Greengrass can be programmed to filter device data and only transmit necessary information back to the cloud. AWS Greengrass authenticates and encrypts device data at all points of connection using the security and access management capabilities of AWS IoT Core. This way, data is never exchanged between devices when they communicate with each other and the cloud, without proven identity.
Benefits :
Respond to Local Events in Near Real-time
AWS Greengrass devices can act locally on the data they generate so they can respond quickly to local events, while still using the cloud for management, analytics, and durable storage. The local resource access feature allows Lambda functions deployed on Greengrass Core devices to use local device resources like cameras, serial ports, or GPUs so that device applications can quickly access and process local data.
Operate Offline
AWS Greengrass lets connected devices operate even with intermittent connectivity to the cloud. Once the device reconnects, Greengrass synchronizes the data on the device with AWS IoT Core, providing seamless functionality regardless of connectivity.
Secure Communication
AWS Greengrass authenticates and encrypts device data for both local and cloud communications, so that data is never exchanged between devices and the cloud without proven identity. Greengrass uses the same security and access management you are familiar with in AWS IoT Core, with mutual device authentication and authorization, and secure connectivity to the cloud
Simplified Device Programming with AWS Lambda
AWS Greengrass uses the same AWS Lambda programming model you use in the cloud, so you can develop code in the cloud and then deploy it seamlessly to your devices. Greengrass lets you execute Lambda functions locally, reducing the complexity of developing embedded software
Reduce the Cost of Running IoT Applications
With AWS Greengrass you can program the device to filter device data locally and only transmit the data you need for your applications to cloud. This reduces the amount of raw data transmitted to the cloud and lowers cost, and increases the quality of the data you send to the cloud so you can achieve rich insight at a lower cost.
Use Cases
AWS Greengrass ML Inference can be deployed on connected devices like security cameras, traffic cameras, body cameras, and medical imaging equipment to help them make predictions locally. With AWS Greengrass ML Inference, you can deploy and run ML models like facial recognition, object detection, and image density directly on the device. For example, a traffic camera could count bicycles, vehicles, and pedestrians passing through an intersection and detect when traffic signals need to be adjusted in order to optimize traffic flows and keep people safe.
Retail and Hospitality
Retailers, cruise lines, and amusement parks are investing in IoT applications to provide better customer service. For example, you can run object detection models at amusement parks to keep track of visitor count. Cameras locate the visitors and maintain a running headcount locally without having to send massive amounts of video feed to the cloud, which is often a challenge due to limited internet bandwidth at parks. This solution can predict wait times at popular theme park rides and help improve the customer experience.
Security
Security camera manufacturers are looking for new ways to make devices more intelligent and automate their threat detection capabilities. AWS Greengrass ML Inference can help improve the capabilities of security cameras. Greengrass enabled cameras can continuously scan premises to look for a change in the scene, such as an incoming visitor, and send an alert. The cameras are able to quickly perform scene detection analysis locally and send data to the cloud only when required, e.g., for additional analysis to identify whether a visitor is a family member.
Precision Agriculture
The agriculture industry is going through two major disruptions. First, the world’s population continues to grow causing the demand for food to outweigh the output. Second, climate change is resulting in unpredictable weather conditions, affecting crop yields. AWS Greengrass ML Inference can help transform agriculture practices and deliver new value to customers. Greengrass-powered cameras installed in greenhouses and farms can process images of plants, crops, and data from sensors in the soil to not only detect environmental anomalies such as change in temperature, moisture, and nutrition level, but also trigger alerts.
Predictive Industrial Maintenance
As pricing pressure increases on manufacturers, they are looking for newer ways to help increase operational efficiency on factory floors. Delays in detecting issues on the manufacturing assembly line can lead to a waste of time and resources. AWS Greengrass ML Inference can help you in early detection of faulty equipment and issues on the factory floor. Greengrass-powered industrial gateways can continuously monitor the sensor data (e.g., vibrations, noise-level), predict anomalies, and take relevant actions such as send alerts or shut-off the power to minimize losses.