AWS IoT Greengrass Version 1 于 2023 年 6 月 30 日进入延长使用寿命阶段。有关更多信息,请参阅 AWS IoT Greengrass V1维护策略。在此日期之后,AWS IoT Greengrass V1 不再发布更新来提供新功能、功能增强、错误修复或安全补丁。在 AWS IoT Greengrass V1 上运行的设备不会受到干扰,并且将继续运行并连接到云。我们强烈建议您迁移到 AWS IoT Greengrass Version 2,从而添加重要的新功能并支持更多平台。
开始使用 AWS IoT Greengrass
本入门教程包含若干模块,每个模块旨在向您介绍 AWS IoT Greengrass 基础知识,并帮助您开始使用 AWS IoT Greengrass。本教程涵盖如下基本概念:
-
配置 AWS IoT Greengrass 核心和组。
-
在边缘站点运行 AWS Lambda 函数的部署过程。
-
将称为客户端设备的 AWS IoT 设备连接到 AWS IoT Greengrass 核心。
-
创建订阅以允许在本地 Lambda 函数、客户端设备和 AWS IoT 之间进行 MQTT 通信。
选择如何开始使用 AWS IoT Greengrass
您可以选择如何使用本教程设置您的核心设备:
-
在您的核心设备上运行 Greengrass 设备安装程序,您可以在几分钟内从安装 AWS IoT Greengrass 依赖项进入测试 Hello World Lambda 函数。此脚本重现模块 1 到模块 3-1 中的步骤。
- 或 -
-
逐步执行模块 1 到模块 3-1 中的步骤,以更仔细地检查 Greengrass 的要求和流程。这些步骤包括设置您的核心设备、创建和配置包含 Hello World Lambda 函数的 Greengrass 群组,以及部署 Greengrass 群组。通常,这需要一两个小时才能完成。
- Quick Start(快速入门)
-
Greengrass 设备安装程序可配置您的核心设备和 Greengrass 资源。脚本:
-
安装 AWS IoT Greengrass 依赖项。
-
下载根 CA 证书及核心设备证书和密钥。
-
在您的设备上下载、安装和配置 AWS IoT Greengrass 核心软件。
-
在核心设备上启动 Greengrass 守护进程。
-
如果需要,创建或更新 Greengrass 服务角色。
-
创建 Greengrass 组和 Greengrass 核心。
-
(可选)创建 Hello World Lambda 函数、订阅和本地日志记录配置。
-
(可选)部署 Greengrass 组。
-
- 模块 1 和模块 2
-
模块 1 和模块 2 描述了如何设置您的环境。(或者,使用 Greengrass 设备安装程序来为您运行这些模块。)
-
为 Greengrass 配置核心设备。
-
运行依赖项检查程序脚本。
-
创建 Greengrass 组和 Greengrass 核心。
-
下载 tar.gz 文件并从中安装最新的 AWS IoT Greengrass Core 软件。
-
在核心设备上启动 Greengrass 守护进程。
注意
AWS IoT Greengrass 还提供了其他选项用于安装 AWS IoT Greengrass Core 软件,包括在支持的 Debian 平台上的
apt
安装。有关更多信息,请参阅 安装 AWS IoT Greengrass Core 软件。 -
- 模块 3-1 和 3-2
-
模块 3-1 和模块 3-2 描述了如何使用本地 Lambda 函数。(或者,使用 Greengrass 设备安装程序来为您运行模块 3-1。)
-
在 AWS Lambda 中创建 Hello World Lambda 函数。
-
将 Lambda 函数添加到您的 Greengrass 组。
-
创建允许在 Lambda 函数和 AWS IoT 之间进行 MQTT 通信的订阅。
-
为 Greengrass 系统组件和 Lambda 函数配置本地日志记录。
-
部署程序包含 Lambda 函数和订阅的 Greengrass 组。
-
将消息从本地 Lambda 函数发送到 AWS IoT。
-
从 AWS IoT 调用本地 Lambda 函数。
-
测试按需和长时间运行的函数。
-
- 模块 4 和 5
-
模块 4 展示了客户端设备如何连接到核心并相互通信。
模块 5 展示了客户端设备如何使用阴影来控制状态。
-
注册和预置 AWS IoT 设备(由命令行终端表示)。
-
安装适用于 Python 的 AWS IoT Device SDK。客户端设备使用它来发现 Greengrass 核心。
-
将客户端设备添加到您的 Greengrass 组。
-
创建允许 MQTT 通信的订阅。
-
部署程序包含客户端设备的 Greengrass 组。
-
测试设备到设备的通信。
-
测试阴影状态更新。
-
- 模块 6
-
模块 6 展示了 Lambda 函数如何访问 AWS Cloud。
-
创建允许访问 Amazon DynamoDB 资源的 Greengrass 组角色。
-
将 Lambda 函数添加到 Greengrass 组。此函数使用适用于 Python 的 AWS SDK 来与 DynamoDB 交互。
-
创建允许 MQTT 通信的订阅。
-
测试与 DynamoDB 的交互。
-
- 模块 7
-
模块 7 展示了如何配置模拟硬件安全模块 (HSM) 以便与 Greengrass 核心一起使用。
重要
此高级模块仅用于实验和初始测试。它不适用于任何种类的生产用途。
-
安装和配置基于软件的 HSM 和私钥。
-
配置 Greengrass 核心以使用硬件安全性。
-
测试硬件安全性配置。
-
要求
要完成本教程,您需要:
-
Mac、Windows PC 或类似 UNIX 的系统。
-
AWS 账户。如果没有,请参阅创建 AWS 账户。
-
使用支持 AWS IoT Greengrass 的 AWS 区域
。有关 AWS IoT Greengrass 支持的区域列表,请参见 AWS 一般参考 中的 AWS 端点和配额。 注意
记下您的 AWS 区域,以确保在本教程中自始至终使用该区域。如果您在本教程中切换 AWS 区域,则可能会在完成步骤时遇到问题。
-
一台 Raspberry PI 4 Model B 或 Raspberry PI 3 Model B/B+(带有一张 8 GB microSD 卡)或一个 Amazon EC2 实例。由于理想情况下 AWS 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 上运行 AWS IoT Greengrass,但 AWS IoT Greengrass 还支持其他平台。有关更多信息,请参阅 支持的平台和要求。
创建 AWS 账户
如果您没有 AWS 账户,请执行以下步骤,创建并激活 AWS 账户:
注册 AWS 账户
如果您还没有 AWS 账户,请完成以下步骤来创建一个。
注册 AWS 账户
打开 https://portal.aws.amazon.com/billing/signup
。 按照屏幕上的说明进行操作。
在注册时,将接到一通电话,要求使用电话键盘输入一个验证码。
当您注册 AWS 账户时,系统将会创建一个 AWS 账户根用户。根用户有权访问该账户中的所有 AWS 服务 和资源。作为安全最佳实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务。
注册过程完成后,AWS 会向您发送一封确认电子邮件。在任何时候,您都可以通过转至 https://aws.amazon.com/
创建具有管理访问权限的用户
注册 AWS 账户 后,请保护好您的 AWS 账户根用户,启用 AWS IAM Identity Center,并创建一个管理用户,以避免使用根用户执行日常任务。
保护您的 AWS 账户根用户
-
选择根用户并输入您的 AWS 账户电子邮件地址,以账户拥有者身份登录 AWS Management Console
。在下一页上,输入您的密码。 要获取使用根用户登录方面的帮助,请参阅《AWS 登录 用户指南》中的以根用户身份登录。
-
为您的根用户启用多重身份验证 (MFA)。
有关说明,请参阅《IAM 用户指南》中的为 AWS 账户 根用户启用虚拟 MFA 设备(控制台)。
创建具有管理访问权限的用户
-
启用 IAM Identity Center。
有关说明,请参阅《AWS IAM Identity Center 用户指南》中的启用 AWS IAM Identity Center。
-
在 IAM Identity Center 中,为用户授予管理访问权限。
有关如何使用 IAM Identity Center 目录 作为身份源的教程,请参阅《AWS IAM Identity Center 用户指南》中的使用默认的 IAM Identity Center 目录 配置用户访问权限。
以具有管理访问权限的用户身份登录
-
要使用您的 IAM Identity Center 用户身份登录,请使用您在创建 IAM Identity Center 用户时发送到您的电子邮件地址的登录网址。
要获取使用 IAM Identity Center 用户登录方面的帮助,请参阅《AWS 登录 用户指南》中的登录 AWS 访问门户。
将访问权限分配给其他用户
重要
在本教程中,我们假定您的 IAM 用户账户具有管理员访问权限。