开始使用 Amazon IoT Greengrass - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon IoT Greengrass Version 1 2023 年 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 之间进行 MQTT 通信。

选择如何开始使用 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 函数和 Amazon IoT 之间进行 MQTT 通信的订阅。

  • 为 Greengrass 系统组件和 Lambda 函数配置本地日志记录。

  • 部署程序包含 Lambda 函数和订阅的 Greengrass 组。

  • 将消息从本地 Lambda 函数发送到 Amazon IoT。

  • 从 Amazon IoT 调用本地 Lambda 函数。

  • 测试按需和长时间运行的函数。

模块 4 和 5

模块 4 展示了客户端设备如何连接到核心并相互通信。

模块 5 展示了客户端设备如何使用阴影来控制状态。

  • 注册和预置 Amazon IoT 设备(由命令行终端表示)。

  • 安装适用于 Python 的 Amazon IoT Device SDK。客户端设备使用它来发现 Greengrass 核心。

  • 将客户端设备添加到您的 Greengrass 组。

  • 创建允许 MQTT 通信的订阅。

  • 部署程序包含客户端设备的 Greengrass 组。

  • 测试 device-to-device 通信。

  • 测试阴影状态更新。

模块 6

模块 6 展示了 Lambda 函数如何访问 Amazon Web Services 云。

  • 创建允许访问 Amazon DynamoDB 资源的 Greengrass 组角色。

  • 将 Lambda 函数添加到 Greengrass 组。此函数使用适用于 Python 的 Amazon SDK 来与 DynamoDB 交互。

  • 创建允许 MQTT 通信的订阅。

  • 测试与 DynamoDB 的交互。

模块 7

模块 7 展示了如何配置模拟硬件安全模块 (HSM) 以便与 Greengrass 核心一起使用。

重要

此高级模块仅用于实验和初始测试。它不适用于任何种类的生产用途。

  • 安装和配置基于软件的 HSM 和私钥。

  • 配置 Greengrass 核心以使用硬件安全性。

  • 测试硬件安全性配置。

要求

要完成本教程,您需要:

  • Mac、Windows PC 或类似 UNIX 的系统。

  • Amazon Web Services 账户。如果没有,请参阅创建 Amazon Web Services 账户

  • 使用支持 Amazon IoT Greengrass 的 Amazon 区域。有关 Amazon IoT Greengrass 支持的区域列表,请参见 Amazon Web Services 一般参考 中的 Amazon 端点和配额

    注意

    记下您的 Amazon Web Services 区域,以确保在本教程中自始至终使用该区域。如果您在本教程中切换 Amazon Web Services 区域,则可能会在完成步骤时遇到问题。

  • 一台 Raspberry PI 4 Model B 或 Raspberry PI 3 Model B/B+(带有一张 8 GB microSD 卡)或一个 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 账户
  1. 打开 https://portal.aws.amazon.com/billing/signup

  2. 按照屏幕上的说明进行操作。

    在注册时,将接到一通电话,要求使用电话键盘输入一个验证码。

    当您注册 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 用户账户具有管理员访问权限。