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

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

如何 Amazon IoT Greengrass 运作

Amazon IoT Greengrass 客户端软件,也称为 Amazon IoT Greengrass 核心软件,可在Windows和基于Linux的发行版(例如Ubuntu或Raspberry Pi操作系统)上运行,适用于具有ARM或x86架构的设备。借 Amazon IoT Greengrass助,您可以对设备进行编程,使其根据其生成的数据进行本地操作,基于机器学习模型运行预测,以及筛选和聚合设备数据。 Amazon IoT Greengrass 允许在本地执行您选择的 Amazon Lambda 函数、Docker 容器、本机操作系统进程或自定义运行时。

Amazon IoT Greengrass 提供称为组件的预建软件模块,可让您轻松扩展边缘设备功能。 Amazon IoT Greengrass 组件使您能够在边缘连接到 Amazon 服务和第三方应用程序。在开发物联网应用程序后, Amazon IoT Greengrass 您可以远程部署、配置和管理现场设备群中的这些应用程序。

以下示例显示 Amazon IoT Greengrass 设备如何与 Amazon IoT Greengrass 云服务以及中的其他 Amazon 服务进行交互。 Amazon Web Services 云

概述了 Amazon IoT Greengrass 设备如何与 Amazon IoT Greengrass 云服务和其他 Amazon 服务进行交互。 Amazon Web Services 云

的关键概念 Amazon IoT Greengrass

以下是理解和使用 Amazon IoT Greengrass的基本概念:

Amazon IoT 东西

Amazon IoT 事物是特定设备或逻辑实体的表示。有关事物的信息存储在 Amazon IoT 注册表中。

Greengrass 核心设备

运行 C Amazon IoT Greengrass ore 软件的设备。Greengrass 核心设备是物联网的东西。 Amazon 您可以将多个核心设备添加到 Amazon IoT 事物组中,以创建和管理 Greengrass 核心设备组。有关更多信息,请参阅 设置 Amazon IoT Greengrass 核心设备

Greengrass 客户端设备

一种通过连接到 Greengrass 核心设备并与之通信的设备。MQTTGreengrass 客户端设备就是一回事。 Amazon IoT 核心设备可以处理、筛选和聚合来自与其连接的客户端设备的数据。您可以将核心设备配置为在客户端设备、 Amazon IoT Core 云服务和 Greengrass 组件之间中继MQTT消息。有关更多信息,请参阅 与本地 IoT 设备交互

客户端设备可以免费运行,也可以使用RTOSAmazon IoT Device SDKGreengrass API 发现来获取有关它们可以连接的核心设备的信息。

Greengrass 组件

部署到 Greengrass 核心设备并在该设备上运行的软件模块。使用开发和部署的所有软件都建模 Amazon IoT Greengrass 为一个组件。 Amazon IoT Greengrass 提供了预先构建的公共组件,这些组件提供了可在应用程序中使用的特性和功能。您还可以在本地设备或云中开发自己的自定义组件。开发自定义组件后,您可以使用 Amazon IoT Greengrass 云服务将其部署到单个或多个核心设备。您可以创建自定义组件并将该组件部署到核心设备。当您执行此操作时,核心设备会下载以下资源来运行该组件:

  • 配方:通过定义组件详细信息、配置和参数来描述软件模块的JSON或YAML文件。

  • 构件:源代码、二进制文件或脚本,可定义将在设备上运行的软件。您可以从头开始创建构件,也可以使用 Lambda 函数、Docker 容器或自定义运行时创建组件。

  • 依赖关系:组件之间的关系,使您可以执行自动更新或重新启动依赖组件。例如,您可以拥有依赖于加密组件的安全消息处理组件。这样可以确保加密组件的任何更新都会自动更新并重新启动消息处理组件。

有关更多信息,请参阅Amazon提供的组件开发 Amazon IoT Greengrass 组件

部署

发送组件并将所需组件配置应用于目标设备的过程,目标设备可以是单个 Greengrass 核心设备或一组 Greengrass 核心设备。部署会自动将任何更新的组件配置应用于目标,并包括定义为依赖关系的任何其他组件。您也可以克隆现有部署以创建使用相同组件但部署到不同目标的新部署。部署是连续的,这表示您对部署的组件或组件配置所做的任何更新都会自动发送到所有目标。有关更多信息,请参阅 将 Amazon IoT Greengrass 组件部署至设备

Amazon IoT Greengrass 核心软件

从版本2.14开始, Amazon IoT Greengrass 提供了其设备运行时的两种替代实现,一种名为nucleus的可执行文件。第一个也是以前唯一的 nucleus 是用 Java 实现的。这种选择提供了跨架构和操作系统的最大可移植性。但是,它还依赖于 Java 虚拟机,因此会占用大量内存。

第二个新添加的核是用 C 实现的。这种选择大大减少了其占地面积。但是,它需要针对不同的目标架构和操作系统分别进行分发(或从源代码编译)。当需要区分两者时,我们将第一个实现称为 n ucleus 经典版本,将后者称为 nuc leus lite。

  • 可选组件:这些可配置组件由您的边缘设备提供, Amazon IoT Greengrass 并在您的边缘设备上启用其他功能。根据您的要求,您可以选择要部署到设备上的可选组件,例如数据流、本地机器学习推理或本地命令行界面。有关更多信息,请参阅 Amazon提供的组件

您可以通过在设备上部署新版本的组件来升级 C Amazon IoT Greengrass ore 软件。

的特点 Amazon IoT Greengrass

Amazon IoT Greengrass Version 2 由以下元素组成:

Amazon IoT Greengrass 核心软件

您可以使用在边缘设备上运行的 Amazon IoT Greengrass Core 软件来执行以下操作:

您可以 Amazon IoT Greengrass APIs通过创建持续的软件部署来配置和管理 Greengrass 核心设备。有关更多信息,请参阅 将 Amazon IoT Greengrass 组件部署至设备

某些功能仅在某些平台上受支持。有关更多信息,请参阅 按操作系统划分的 Greengrass 功能兼容性

有关支持的平台、要求和下载的更多信息,请参阅设置 Amazon IoT Greengrass 核心设备

下载此软件即表示您同意Greengrass Core 软件许可协议