

终止支持通知：2026 年 10 月 7 日， AWS 将停止对的支持。 AWS IoT Greengrass Version 1 2026 年 10 月 7 日之后，您将无法再访问这些 AWS IoT Greengrass V1 资源。如需了解更多信息，请访问[迁移自 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 开始使用 AWS IoT Greengrass
<a name="gg-gs"></a>

本入门教程包括几个模块，旨在向您展示 AWS IoT Greengrass 基础知识并帮助您开始使用 AWS IoT Greengrass。本教程涵盖如下基本概念：
+ 配置 AWS IoT Greengrass 核心和组。
+ 在边缘运行 AWS Lambda 函数的部署过程。
+ 将称为客户端设备的设备连接到 AWS IoT 核 AWS IoT Greengrass 心。
+ 创建订阅以允许本地 Lambda 函数、客户端设备和之间的 MQTT 通信。 AWS IoT

## 选择如何开始使用 AWS IoT Greengrass
<a name="gg-getting-started"></a>

您可以选择如何使用本教程设置您的核心设备：
+ 在核心设备上运行 [Greengrass 设备](quick-start.md)安装程序，只需几分钟即可完成从 AWS IoT Greengrass 安装依赖项到测试 Hello World Lambda 函数的过程。此脚本重现模块 1 到模块 3-1 中的步骤。

   

   –或者–

   
+ 逐步执行模块 1 到模块 3-1 中的步骤，以更仔细地检查 Greengrass 的要求和流程。这些步骤包括设置您的核心设备、创建和配置包含 Hello World Lambda 函数的 Greengrass 群组，以及部署 Greengrass 群组。通常，这需要一两个小时才能完成。

![入门模块](http://docs.aws.amazon.com/zh_cn/greengrass/v1/developerguide/images/getting-started-modules.png)


**快速入门**  
[Greengrass 设备安装程序](quick-start.md)可配置您的核心设备和 Greengrass 资源。脚本：  
+ 安装 AWS IoT Greengrass 依赖关系。
+ 下载根 CA 证书及核心设备证书和密钥。
+ 在您的设备上下载、安装和配置 AWS IoT Greengrass Core 软件。
+ 在核心设备上启动 Greengrass 守护进程。
+ 如果需要，创建或更新 [Greengrass 服务角色](service-role.md)。
+ 创建 Greengrass 组和 Greengrass 核心。
+ （可选）创建 Hello World Lambda 函数、订阅和本地日志记录配置。
+ （可选）部署 Greengrass 组。

**模块 1 和模块 2**  
[模块 1](module1.md) 和[模块 2](module2.md) 描述了如何设置您的环境。（或者，使用 [Greengrass 设备安装程序](quick-start.md)来为您运行这些模块。）  
+ 为 Greengrass 配置核心设备。
+ 运行依赖项检查程序脚本。
+ 创建 Greengrass 组和 Greengrass 核心。
+ 从 tar.gz 文件下载并安装最新的 AWS IoT Greengrass 酷睿软件。
+ 在核心设备上启动 Greengrass 守护进程。
AWS IoT Greengrass 还提供了安装 AWS IoT Greengrass 核心软件的其他选项，包括在支持的 Debian 平台上`apt`安装。有关更多信息，请参阅 [安装   AWS IoT Greengrass 核心软件](install-ggc.md)。

**模块 3-1 和 3-2**  
[模块 3-1](module3-I.md) 和[模块 3-2](module3-II.md) 描述了如何使用本地 Lambda 函数。（或者，使用 [Greengrass 设备安装程序](quick-start.md)来为您运行模块 3-1。）  
+ 在中创建 Hello World Lambda 函数。 AWS Lambda
+ 将 Lambda 函数添加到您的 Greengrass 组。
+ 创建允许在 Lambda 函数和之间进行 MQTT 通信的订阅。 AWS IoT
+ 为 Greengrass 系统组件和 Lambda 函数配置本地日志记录。
+ 部署程序包含 Lambda 函数和订阅的 Greengrass 组。
+ 将来自本地 Lambda 函数的消息发送到。 AWS IoT
+ 从中调用本地 Lambda 函数。 AWS IoT
+ 测试按需和长时间运行的函数。

**模块 4 和 5**  
[模块 4](module4.md) 展示了客户端设备如何连接到核心并相互通信。  
[模块 5](module5.md) 展示了客户端设备如何使用阴影来控制状态。  
+ 注册和配置 AWS IoT 设备（由命令行终端表示）。
+ 安装 AWS IoT Device SDK 适用于 Python 的。客户端设备使用它来发现 Greengrass 核心。
+ 将客户端设备添加到您的 Greengrass 组。
+ 创建允许 MQTT 通信的订阅。
+ 部署程序包含客户端设备的 Greengrass 组。
+ 测试设备到设备的通信。
+ 测试阴影状态更新。

**模块 6**  
[模块 6](module6.md) 展示了 Lambda 函数如何访问 AWS Cloud。  
+ 创建允许访问 Amazon DynamoDB 资源的 Greengrass 组角色。
+ 将 Lambda 函数添加到 Greengrass 组。此函数使用适用于 Python 的 AWS 软件开发工具包与 DynamoDB 进行交互。
+ 创建允许 MQTT 通信的订阅。
+ 测试与 DynamoDB 的交互。

**模块 7**  
[模块 7](console-mod7.md) 展示了如何配置模拟硬件安全模块 (HSM) 以便与 Greengrass 核心一起使用。  
此高级模块仅用于实验和初始测试。它不适用于任何种类的生产用途。
+ 安装和配置基于软件的 HSM 和私钥。
+ 配置 Greengrass 核心以使用硬件安全性。
+ 测试硬件安全性配置。

## 要求
<a name="gg-requirements"></a>

要完成本教程，您需要：
+ 一台 Mac、Windows 电脑或 UNIX-like 系统。
+ 一个 AWS 账户。如果没有，请参阅[创建一个 AWS 账户](#create-aws-account)。
+ 使用支持的 AWS [区域](https://en.wikipedia.org/wiki/Amazon_Web_Services#Availability_and_topology) AWS IoT Greengrass。有关支持的区域列表 AWS IoT Greengrass，请参阅中的[AWS 终端节点和配额*AWS 一般参考*](https://docs.aws.amazon.com/general/latest/gr/greengrass.html)。
**注意**  
记下你的， AWS 区域 并确保在本教程中始终如一地使用它。如果您在教程 AWS 区域 中切换，则在完成这些步骤时可能会遇到问题。
+ 带有 8 GB microSD 卡的 Raspberry Pi 4 Model B 或 Raspberry Pi 3 Model B/B \+，或者亚马逊 EC2 实例。由于理想情况下 AWS IoT Greengrass 应与物理硬件结合使用，因此，我们建议您使用 Raspberry Pi。
**注意**  
运行以下命令可获取 Raspberry Pi 的型号：  

  ```
  cat /proc/cpuinfo
  ```
在列表底部附近，找到并记下 `Revision` 属性的值，然后查阅 [Which Pi have I got?](https://elinux.org/RPi_HardwareHistory#Which_Pi_have_I_got.3F) 表。例如，如果 `Revision` 的值为 `a02082`，查阅该表可知该 Pi 为 3 Model B。  
请运行下面的命令，以确定您的 Raspberry Pi 的体系结构：  

  ```
  uname -m
  ```
在本教程中，此结果应该大于或等于 `armv71`。
+ 基本熟悉 Python。

尽管本教程旨在在 Raspberry Pi AWS IoT Greengrass 上运行，但 AWS IoT Greengrass 也支持其他平台。有关更多信息，请参阅 [支持的平台和要求](what-is-gg.md#gg-platforms)。

## 创建一个 AWS 账户
<a name="create-aws-account"></a>

如果您没有 AWS 账户，请按照以下步骤创建并激活 AWS 账户：

### 注册获取 AWS 账户
<a name="sign-up-for-aws"></a>

如果您没有 AWS 账户，请完成以下步骤来创建一个。

**报名参加 AWS 账户**

1. 打开 [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)。

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册时 AWS 账户，就会创建*AWS 账户根用户*一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

AWS 注册过程完成后会向您发送一封确认电子邮件。在任何时候，您都可以通过转至 [https://aws.amazon.com/](https://aws.amazon.com/) 并选择 **My Account (我的账户)** 来查看当前的账户活动并管理您的账户。

### 创建具有管理访问权限的用户
<a name="create-an-admin"></a>

注册后，请保护您的安全 AWS 账户 AWS 账户根用户 AWS IAM Identity Center，启用并创建管理用户，这样您就不会使用 root 用户执行日常任务。

**保护你的 AWS 账户根用户**

1.  选择 **Root 用户**并输入您的 AWS 账户 电子邮件地址，以账户所有者的身份登录。[AWS 管理控制台](https://console.aws.amazon.com/)在下一页上，输入您的密码。

   要获取使用根用户登录方面的帮助，请参阅《AWS 登录 用户指南》**中的 [Signing in as the root user](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 为您的根用户启用多重身份验证（MFA）。

   有关说明，请参阅 I [A *M* 用户指南中的为 AWS 账户 根用户启用虚拟 MFA 设备（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**创建具有管理访问权限的用户**

1. 启用 IAM Identity Center。

   有关说明，请参阅**《AWS IAM Identity Center 用户指南》中的[启用 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)。

1. 在 IAM Identity Center 中，为用户授予管理访问权限。

   有关使用 IAM Identity Center 目录 作为身份源的教程，请参阅《[用户*指南》 IAM Identity Center 目录中的使用默认设置配置AWS IAM Identity Center 用户*访问权限](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理访问权限的用户身份登录**
+ 要使用您的 IAM Identity Center 用户身份登录，请使用您在创建 IAM Identity Center 用户时发送到您的电子邮件地址的登录 URL。

  有关使用 IAM Identity Center 用户[登录的帮助，请参阅*AWS 登录 用户指南*中的登录 AWS 访问门户](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**将访问权限分配给其他用户**

1. 在 IAM Identity Center 中，创建一个权限集，该权限集遵循应用最低权限的最佳做法。

   有关说明，请参阅《AWS IAM Identity Center 用户指南》**中的 [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 将用户分配到一个组，然后为该组分配单点登录访问权限。

   有关说明，请参阅《AWS IAM Identity Center 用户指南》**中的 [Add groups](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。

**重要**  
在本教程中，我们假定您的 IAM 用户账户具有管理员访问权限。