Greengrass V2 Edge Walkthrough
What you build
Section titled “What you build”One NUC
Intel NUC6CAY — compact x86 PC used as the Greengrass core in this lab (spare unit on hand; any quiet Ubuntu 24.04 x86 host works). runs Nucleus
Greengrass Nucleus — the edge runtime on the core device. Installs components, talks to AWS, and hosts the local client-device stack..
Up to three ESP32-S3
Espressif ESP32-S3 — Wi‑Fi microcontroller used here as the Greengrass client device (not a second core). boards are zone
client devices
Greengrass client device — an IoT Thing (here the ESP32-S3) that discovers a core and uses local MQTT. It does not run Nucleus.. Press BOOT → green
RGB on that zone. Chip temperature streams every 10 s. AWS archives it, tracks
state, alarms on heat, commands the RGB blue from the cloud, and trains a model
the core runs locally (red RGB).
No Terraform. No provision wrappers. Visible AWS CLI
AWS Command Line Interface v2 — every cloud and deployment step in this walkthrough is a visible aws command, not a wrapper script.
and JSON under artifacts/.
| Role | Hardware | Software |
|---|---|---|
| Core Greengrass core device — the Linux host running Nucleus (this lab: Intel NUC6CAY). Client devices discover and connect to it. | NUC6CAY | Nucleus, Moquette, bridge, GgEdgeLoop, ZoneAnomaly |
| Client Greengrass client device — an IoT Thing (here the ESP32-S3) that discovers a core and uses local MQTT. It does not run Nucleus. | ESP32-S3 DevKitC-1 (up to 3) | Firmware — button, chip temp, RGB |
Read Concepts and Why Greengrass? once, then run the numbered pages in order.
Before you begin
Section titled “Before you begin”- Tooling — AWS CLI, jq, ESP-IDF
- Prerequisites — account, BOM, naming
- Concepts · Why Greengrass?
1 · Greenhouse on the LAN
Section titled “1 · Greenhouse on the LAN”Local sense → actuate. The cloud may mirror topics; nothing consumes them yet.
| # | Page | You leave with |
|---|---|---|
| 1 | Identities | Things, certs, policies, token-exchange role |
| 2 | Prepare the core | Ubuntu on the NUC, walkthrough.env |
| 3 | Install Nucleus | Healthy core device |
| 4 | Local MQTT stack | Moquette, Auth, Bridge, IPDetector |
| 5 | Associate zones | Discovery returns the core host:8883 |
| 6 | Loop component |
|
| 7 | Flash zones | Boards on Moquette; telemetry every 10 s |
| 8 | Prove the LAN loop | BOOT → green RGB on that zone only |
2 · Wire into AWS
Section titled “2 · Wire into AWS”Same topics. Now AWS consumes them, and the cloud can drive the zones. Full topic-by-topic wiring: Architecture.
| # | Page | Proof on the bench |
|---|---|---|
| 9 | Deploy from the cloud | Component from S3; logs in CloudWatch |
| 10 | Archive telemetry | JSON objects under telemetry/ in S3 |
| 11 | Zone state | Latest temp + who drove the RGB in DynamoDB |
| 12 | Raise an alarm | Thumb on the chip → email |
| 13 | Cloud commands | Alarm turns that zone’s RGB blue |
| 14 | Edge inference | Core turns RGB red before the cloud alarm |
| 15 | Teardown | Every resource gone |
RGB tells you which layer acted: green = button loop, blue = cloud command, red = edge model.