本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 IoT东西
-
Amazon IoT事物是特定设备或逻辑实体的表示。有关事物的信息存储在Amazon IoT注册表中。
- Greengrass 核心设备
-
运行 C Amazon IoT Greengrass ore 软件的设备。Greengrass 核心设备是物联网的东西。Amazon您可以将多个核心设备添加到Amazon IoT事物组中,以创建和管理 Greengrass 核心设备组。有关更多信息,请参阅 设置Amazon IoT Greengrass核心设备。
- Greengrass 客户端设备
-
一种通过 MQTT 连接到 Greengrass 核心设备并与之通信的设备。Greengrass 客户端设备就是一回事。Amazon IoT核心设备可以处理、筛选和聚合来自与其连接的客户端设备的数据。您可以将核心设备配置为在客户端设备、Amazon IoT Core云服务和 Greengrass 组件之间中继 MQTT 消息。有关更多信息,请参阅 与本地物联网设备互动。
客户端设备可以运行 FreeRTOS,也可以使用Amazon IoT Device SDK或 Greengrass 发现 API 来获取有关它们可以连接的核心设备的信息。
- Greengrass 组件
-
部署在 Greengrass 核心设备上并在其上运行的软件模块。使用开发和部署的所有软件都建模Amazon IoT Greengrass为一个组件。 Amazon IoT Greengrass提供了预先构建的公共组件,这些组件提供了可在应用程序中使用的特性和功能。您还可以在本地设备或云端开发自己的自定义组件。开发自定义组件后,您可以使用Amazon IoT Greengrass云服务将其部署到单个或多个核心设备。您可以创建自定义组件并将该组件部署到核心设备。当你这样做时,核心设备会下载以下资源来运行该组件:
-
配方:一个 JSON 或 YAML 文件,通过定义组件详细信息、配置和参数来描述软件模块。
-
A@@ r tifact:定义将在您的设备上运行的软件的源代码、二进制文件或脚本。您可以从头开始创建工件,也可以使用 Lambda 函数、Docker 容器或自定义运行时创建组件。
-
依赖关系:组件之间的关系,使您可以强制自动更新或重新启动依赖组件。例如,您可以让一个依赖于加密组件的安全消息处理组件。这样可以确保对加密组件的任何更新都会自动更新并重新启动消息处理组件。
有关更多信息,请参阅 Amazon-提供的组件和 开发Amazon IoT Greengrass组件。
-
- 部署
-
发送组件并将所需组件配置应用于目标设备的过程,目标设备可以是单个 Greengrass 核心设备或一组 Greengrass 核心设备。部署会自动将任何更新的组件配置应用于目标,并包括定义为依赖关系的任何其他组件。您也可以克隆现有部署以创建使用相同组件但部署到不同目标的新部署。部署是连续的,这意味着您对部署的组件或组件配置所做的任何更新都会自动发送到所有目标目标。有关更多信息,请参阅 将Amazon IoT Greengrass组件部署到设备。
- Amazon IoT Greengrass核心软件
-
您在核心设备上安装的所有Amazon IoT Greengrass软件的集合。 Amazon IoT Greengrass核心软件包括以下内容:
-
Nucleus:这个必需的组件提供了Amazon IoT Greengrass核心软件的最低功能。nucleus 管理其他组件的部署、编排和生命周期管理。它还便于在单个设备上进行本地Amazon IoT Greengrass组件之间的通信。有关更多信息,请参阅 Greengrass 核。
-
可选组件:这些可配置组件由您的边缘设备提供,Amazon IoT Greengrass并在您的边缘设备上启用其他功能。根据您的要求,您可以选择要部署到设备上的可选组件,例如数据流、本地机器学习推理或本地命令行界面。有关更多信息,请参阅 Amazon-提供的组件。
您可以通过在设备上部署新版本的组件来升级 C Amazon IoT Greengrass ore 软件。
-
Amazon IoT Greengrass 的特征
Amazon IoT Greengrass Version 2由以下元素组成:
-
软件发行版
-
Greengrass nucleus 组件,这是核心软件的最低安装量。Amazon IoT Greengrass该组件管理 Greengrass 组件的部署、编排和生命周期管理。
-
Greengrass 开发工具,可用于创建、测试、构建、发布和部署自定义 Greengrass 组件。
-
Amazon IoT Device SDK,其中包含用于自定义 Greengrass 组件的进程间通信 (IPC) 库和用于客户端设备的 Greengrass 发现库。
-
Stream Manager SDK,可用于管理核心设备上的数据流。
-
-
云服务
-
Amazon IoT Greengrass V2 API
-
Amazon IoT Greengrass V2 控制台
-
Amazon IoT Greengrass Core 软件
您可以使用在边缘设备上运行的 Amazon IoT Greengrass Core 软件来执行以下操作:
-
在本地设备上处理数据流,并自动导出到Amazon云端。有关更多信息,请参阅 管理 Greengrass 核心设备上的数据流。
-
Support 支持Amazon IoT和组件之间的 MQTT 消息传递。有关更多信息,请参阅 发布/订阅 Amazon IoT Core MQTT 消息。
-
与通过 MQTT 连接和通信的本地设备进行交互。有关更多信息,请参阅 与本地物联网设备互动。
-
Support 支持组件之间的本地发布和订阅消息。有关更多信息,请参阅 发布/订阅本地消息。
-
部署和调用组件和 Lambda 函数。有关更多信息,请参阅 将Amazon IoT Greengrass组件部署到设备。
-
管理组件生命周期,例如支持安装和运行脚本。有关更多信息,请参阅 Amazon IoT Greengrass组件配方参考。
-
对Amazon IoT Greengrass核心软件和自定义组件执行安全 over-the-air (OTA) 软件更新。有关更多信息,请参阅 更新Amazon IoT Greengrass核心软件 (OTA)和 将Amazon IoT Greengrass组件部署到设备。
-
为本地机密提供安全、加密的存储以及组件的受控访问。有关更多信息,请参阅 秘密经理。
-
通过设备身份验证和授权,保护设备与Amazon云端之间的连接。有关更多信息,请参阅 Amazon IoT Greengrass 的设备身份验证和授权。
您可以Amazon IoT Greengrass通过 API 配置和管理 Greengrass 核心设备,在那里您可以创建持续的软件部署。有关更多信息,请参阅 将Amazon IoT Greengrass组件部署到设备。
某些功能仅在某些平台上受支持。有关更多信息,请参阅 按操作系统划分的 Greengrass 功能兼容性。
有关支持的平台、要求和下载的更多信息,请参阅设置Amazon IoT Greengrass核心设备。
下载此软件即表示您同意Greengrass Core 软件许可协议