Amazon IoT Greengrass Version 12023 年 6 月 30 日进入延长寿命阶段。有关更多信息,请参阅Amazon IoT Greengrass V1维护政策。在此日期之后,Amazon IoT Greengrass V1不会发布提供功能、增强功能、错误修复或安全补丁的更新。在上运行的设备Amazon IoT Greengrass V1不会受到干扰,将继续运行并连接到云端。我们强烈建议你迁移到Amazon IoT Greengrass Version 2,它补充说重要的新功能和支持其他平台。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon IoT Greengrass 入门
本入门教程包含若干模块,每个模块旨在向您介绍 Amazon IoT Greengrass 基础知识,并帮助您开始使用 Amazon IoT Greengrass。本教程涵盖如下基本概念:
-
配置 Amazon IoT Greengrass 核心和组。
-
在边缘站点运行 Amazon Lambda 函数的部署过程。
-
将称为客户端设备的设备连接到Amazon IoT内Amazon IoT Greengrass核。
-
创建订阅以允许本地 Lambda 函数、客户端设备和Amazon IoT.
选择如何开始使用 Amazon IoT Greengrass
您可以选择如何使用本教程设置您的核心设备:
-
在核心设备上运行 Greengrass 设备安装程序,只需几分钟,即可从安装Amazon IoT Greengrass依赖项到测试 Hello World Lambda 函数。此脚本重现模块 1 到模块 3-1 中的步骤。
- 或 -
-
逐步执行模块 1 到模块 3-1 中的步骤,以更仔细地检查 Greengrass 的要求和流程。这些步骤设置您的核心设备,创建和配置包含 Hello World Lambda 函数的 Greengrass 群组,然后部署您的 Greengrass 群组。通常,这需要一两个小时才能完成。

- Quick Start(快速入门)
-
Greengrass 设备安装程序可配置您的核心设备和 Greengrass 资源。脚本:
-
安装 Amazon IoT Greengrass 依赖项。
-
下载根 CA 证书及核心设备证书和密钥。
-
在您的设备上下载、安装和配置 Amazon IoT Greengrass 核心软件。
-
在核心设备上启动 Greengrass 守护进程。
-
如果需要,创建或更新 Greengrass 服务角色。
-
创建 Greengrass 组和 Greengrass 核心。
-
(可选)创建 Hello World Lambda 函数、订阅和本地日志配置。
-
(可选)部署 Greengrass 组。
-
- 模块 1 和模块 2
-
模块 1 和模块 2 描述了如何设置您的环境。(或者,使用 Greengrass 设备安装程序来为您运行这些模块。)
-
为 Greengrass 配置核心设备。
-
运行依赖项检查程序脚本。
-
创建 Greengrass 组和 Greengrass 核心。
-
下载 tar.gz 文件并从中安装最新的 Amazon IoT Greengrass Core 软件。
-
在核心设备上启动 Greengrass 守护进程。
注意
Amazon IoT Greengrass 还提供了其他选项用于安装 Amazon IoT Greengrass Core 软件,包括在支持的 Debian 平台上的
apt
安装。有关更多信息,请参阅安装 Amazon IoT Greengrass Core 软件: -
- 模块 3-1 和 3-2
-
模块 3-1 和模块 3-2 描述了如何使用本地 Lambda 函数。(或者,使用 Greengrass 设备安装程序来为您运行模块 3-1。)
-
在Amazon Lambda中创建 Hello World Lambda
-
将 Lambda 函数添加到您的 Greengrass 群组。
-
创建允许在 Lambda 函数和之间进行 MQTT 通信的订阅Amazon IoT。
-
为 Greengrass 系统组件和 Lambda 函数配置本地日志记录。
-
部署一个包含您的 Lambda 函数和订阅的 Greengrass 群组。
-
将消息从本地 Lambda 函数发送到 Amazon IoT。
-
从中调用本地 Lambda 函数Amazon IoT。
-
测试按需和长时间运行的函数。
-
- 模块 4 和 5
-
模块 4 显示了客户端设备如何连接到内核并相互通信。
模块 5 显示了客户端设备如何使用阴影来控制状态。
-
注册和预置 Amazon IoT 设备(由命令行终端表示)。
-
安装Amazon IoT Device SDK适用于 Python 的。客户端设备使用它来发现 Greengrass 核心。
-
将客户端设备添加到您的 Greengrass 群组。
-
创建允许 MQTT 通信的订阅。
-
部署一个包含您的客户端设备的 Greengrass 群组。
-
测试device-to-device通信。
-
测试阴影状态更新。
-
- 模块 6
-
模块 6 向您展示了 Lambda 函数如何访问Amazon Web Services 云.
-
创建允许访问 Amazon DynamoDB 资源 Greengrass 组角色。
-
将 Lambda 函数添加到您的 Greengrass 群组。此函数使用适用于 Python 的Amazon软件开发工具包与 DynamoDB 进行交互的方式。
-
创建允许 MQTT 通信的订阅。
-
测试与 DynamoDB 的交互。
-
- 模块 7
-
模块 7 展示了如何配置模拟硬件安全模块 (HSM) 以便与 Greengrass 核心一起使用。
重要
此高级模块仅用于实验和初始测试。它不适用于任何种类的生产用途。
-
安装和配置基于软件的 HSM 和私钥。
-
配置 Greengrass 核心以使用硬件安全性。
-
测试硬件安全性配置。
-
要求
要完成本教程,您需要:
-
Mac、Windows PC 或类似 UNIX 的系统。
-
一个 Amazon Web Services 账户。如果没有,请参阅创建 Amazon Web Services 账户。
-
使用支持的Amazon区域
Amazon IoT Greengrass。有关支持的区域列表Amazon IoT Greengrass,请参阅中的Amazon终端节点和配额Amazon Web Services 一般参考。 注意
记下你的,Amazon Web Services 区域并确保在本教程中始终使用它。如果您在教程Amazon Web Services 区域期间切换,则在完成这些步骤时可能会遇到问题。
-
带有 8 GB microSD 卡的 Raspberry Pi 4 Model B 或 Raspberry Pi 3 Model B/B+ 或 Amazon EC2 实例。由于理想情况下 Amazon IoT Greengrass 应与物理硬件结合使用,因此,我们建议您使用 Raspberry Pi。
注意
运行以下命令可获取 Raspberry Pi 的型号:
cat /proc/cpuinfo
在列表底部附近,找到并记下
Revision
属性的值,然后查阅 Which Pi have I got?表。例如,如果 Revision
的值为a02082
,查阅该表可知该 Pi 为 3 Model B。请运行下面的命令,以确定您的 Raspberry Pi 的体系结构:
uname -m
在本教程中,此结果应该大于或等于
armv71
。 -
基本熟悉 Python。
虽然本教程针对在 Raspberry Pi 上运行 Amazon IoT Greengrass,但 Amazon IoT Greengrass 还支持其他平台。有关更多信息,请参阅支持的平台和要求:
创建 Amazon Web Services 账户
如果您没有Amazon Web Services 账户,请按照以下步骤创建和激活Amazon Web Services 账户:
注册一个 Amazon Web Services 账户
如果您还没有 Amazon Web Services 账户,请完成以下步骤来创建一个。
注册 Amazon Web Services 账户
按照屏幕上的说明进行操作。
在注册时,您将接到一通电话,要求您使用电话键盘输入一个验证码。
当您注册 Amazon Web Services 账户 时,系统将会创建一个 Amazon Web Services 账户根用户。根用户有权访问该账户中的所有 Amazon Web Services和资源。作为安全最佳实践,请 为管理用户分配管理访问权限,并且只使用根用户执行 需要根用户访问权限的任务。
Amazon注册过程完成后,会向您发送一封确认电子邮件。在任何时候,您都可以通过转至 https://aws.amazon.com/
保护 IAM 用户
注册 Amazon Web Services 账户 后,启用多重身份验证(MFA)保护您的管理用户。有关说明,请参阅 IAM 用户指南中的为 为 IAM 用户(控制台)启用虚拟 MFA 设备。
要授予其他用户访问您的 Amazon Web Services 账户 资源的权限,请创建 IAM 用户。为了保护您的 IAM 用户,请启用 MFA 并仅向 IAM 用户授予执行任务所需的权限。
有关创建和保护 IAM 用户的更多信息,请参阅 IAM 用户指南中的以下主题:
重要
在本教程中,我们将假设您的 IAM 用户账户具有管理员访问权限。