一般问题

什么是 Amazon IoT Greengrass?

Amazon IoT Greengrass 是一种允许您以安全方式在互联设备上运行本地计算、消息收发、数据管理、同步和 ML Inference 功能的软件。借助 Amazon IoT Greengrass,互联的设备可以运行 Amazon Lambda 函数,基于机器学习模型执行预测,保持设备数据同步以及与其他设备安全通信,甚至在没有连接互联网的情况下也可实现这些功能。

Amazon IoT Greengrass 可将 亚马逊云科技 无缝扩展至设备,因此可以在本地操作其生成的数据,同时仍可将云用于管理、分析和持久存储。利用 Amazon IoT Greengrass,您可以使用熟悉的语言和编程模型在云中创建设备软件,然后将其部署到设备中。您可以对 Amazon IoT Greengrass 进行编程,让其可以筛选设备数据,并仅将必要信息传输回云中。

如何开始使用 Amazon IoT Greengrass?

请单击此处查看 Amazon IoT Greengrass 入门指南。 

Amazon IoT Greengrass 包括哪些主要组件? 每个组件的作用是什么?

Amazon IoT Greengrass 由一个云服务和 IoT 设备的三个软件发行版组成:Amazon IoT Greengrass Core、Amazon IoT 设备开发工具包和 Amazon IoT Greengrass 开发工具包。下面的图表对这三个软件发行版进行了比较。

Amazon IoT Greengrass 还与 Amazon FreeRTOS 一起使用。有关 Amazon IoT Greengrass 和 Amazon FreeRTOS 的详细信息,请参阅“将 Amazon FreeRTOS 和其他设备连接到 Amazon IoT Greengrass”的“常见问题”部分。

  目的 运行位置
Amazon IoT Greengrass Core 提供本地服务(计算、消息收发、状态、安全),并在本地与运行 Amazon IoT 设备开发工具包的设备通信 运行通用操作系统(如 Linux)、基于 CPU 的设备(x86 或 Arm)
Amazon IoT 设备开发工具包 允许设备与 Amazon IoT Greengrass Core 在本地交互 几乎所有支持 C++、Node.js、Java 或 Python 2.7、3.7 和 3.8 的设备。
Amazon IoT Greengrass 开发工具包* 允许 Lambda 函数与 Amazon IoT Greengrass Core 中的本地服务进行交互 在部署到 Amazon IoT Greengrass Core 的 Lambda 函数中

* 仅 Amazon IoT Greengrass 版本 1 需要

什么是 Amazon IoT Greengrass Core 设备? 这类设备必须达到哪些最低硬件规格?

Amazon IoT Greengrass Core 软件可在网络集线器、网关或其他设备上运行,能够自动与云同步和交互。Amazon IoT Greengrass Core 旨在在配备通用处理器的设备上运行,这种处理器非常强大,能够运行 Linux 等通用操作系统。Amazon IoT Greengrass 至少需要 1GHz 的计算频率(Arm 或 X86)、128MB RAM 以及其他资源,才能根据使用案例满足所需操作系统、消息吞吐量和 Amazon Lambda 执行的要求。从 Raspberry Pi 到服务器级设备,Amazon IoT Greengrass Core 可在各种设备上运行。

* 基于使用以下 JDK 的亚马逊云科技研究:用于测试的 JDK 版本:openjdk 版本“1.8.0_275”、OpenJDK 运行时环境(内部版本 1.8.0_275-8u275-b01-0ubuntu1~18.04-b01)和 OpenJDK 64 位服务器 VM(内部版本 25.275-b01,混合模式)。使用不同的输入,内存使用量可能会更高。

哪些 CPU 架构和操作系统与 Amazon IoT Greengrass 兼容?

受 Amazon IoT Greengrass Core 支持并且经过亚马逊云科技兼容性测试的操作系统和 CPU 架构见此处

其他 Linux 版本也可以成功运行 IoT Greengrass,但可能未经过 Amazon IoT Greengrass 团队验证。您可以使用 GitHub 上的 IoT Greengrass 依赖项检查器验证其他 Linux 版本的兼容性。或者,您可以在“进程模式”下运行 IoT Greengrass,以降低兼容性阈值,但会删除对 Linux 容器的支持。

哪些设备与 Amazon IoT Greengrass Core 兼容,以及如何快速开始使用?

您可以在满足最低硬件和软件要求的设备上运行 Amazon IoT Greengrass Core。您还可以使用 Amazon IoT Device Tester 对您的设备进行自行测试,以查看您的设备是否能以最佳方式与 Amazon IoT Greengrass 和其他 亚马逊云科技 服务结合运行。您还可以在 Amazon Partner Device Catalog 中发现并评估与 Amazon IoT Greengrass 兼容的设备。

如何验证将运行 Amazon IoT Greengrass Core 的设备?

为确保您的设备可运行 Amazon IoT Greengrass Core,请通过适用于 Amazon IoT Greengrass 的 Amazon IoT 设备测试器对其进行测试。下载该工具并阅读文档。

由光环新网运营的 亚马逊云科技 中国(北京)区域的 Amazon IoT Greengrass 功能与其他 亚马逊云科技 区域之间是否存在任何差异?

您可以在此处查看区域之间的可用性差异。

Amazon IoT Greengrass 支持哪些 Amazon Lambda 开发语言?

Amazon IoT Greengrass 支持使用以下语言编写的 Lambda 函数:

  • Python 2.7、3.7 和 3.8
  • Node v8.10.0 和 v12.x
  • Java 8
  • C
  • C++
  • 支持导入 C 库的任何语言 

哪些 Lambda 可部署到 Amazon IoT Greengrass?

使用 Python 2.7 和 3.7、Node v8.10.0 或 v12.x 或 Java 8 Lambda Runtime 的任何 Lambda 都可以部署到 Amazon IoT Greengrass Core。部署到 Amazon IoT Greengrass 的 Lambda 必须与 Amazon IoT Greengrass Core 开发工具包打包在一起。此外,您还可以选择将 亚马逊云科技 开发工具包添加到您的 Lambda 软件包中,以便轻松与 Amazon DynamoDB 等 亚马逊云科技 服务进行交互。

当 Amazon IoT Greengrass Core 处于脱机模式时,您的 Lambda 所依赖的一些云服务(例如,DynamoDB)将不能供您的 Lambda 函数使用,并且这些服务在脱机模式下无法调用 API。此外,如果您在同一软件包中同时包含 Amazon IoT Greengrass Core 开发工具包和 亚马逊云科技 开发工具包,则您的 Lambda 函数需要为每种开发工具包使用相应的命名空间。

我可以在 Docker 容器中运行 Amazon IoT Greengrass 吗? 在其他容器环境(如 LXD 或 Ubuntu Snap 软件包)中呢?

是的,通过配置 Amazon IoT Greengrass 组无容器化运行,您可以在 Docker 容器中运行 Amazon IoT Greengrass。您还可以将 Amazon IoT Greengrass 部署为快照,这是一种可在各种 Linux 发行版上运行的容器化软件包。首先,您可以在此处访问 Amazon IoT Greengrass 快照,并在此处开始使用。

我可以在 Mac OS 或 Windows 上运行 Amazon IoT Greengrass 吗?

可以。您可以通过在 Docker 容器组级别运行没有 Amazon IoT Greengrass 容器的 Amazon IoT Greengrass,来在 Mac OS 或 Windows 上运行 Amazon IoT Greengrass。您可以查看我们的文档详细了解该功能。

什么是 Amazon IoT Greengrass SLA?

适用于云管理的 Amazon IoT Greengrass SLA 规定,如果 Amazon IoT Greengrass 云服务的月度正常运行时间百分比低于 99.9%,您将有资格获得 Amazon IoT Greengrass 提供的可用于部分月度服务费的积分。

如需详细了解 SLA 的所有条款与条件以及如何提交申请,请参阅 Amazon IoT Greengrass SLA 详情页面。

Amazon IoT Greengrass 的哪些组件是开源组件?

从 Amazon IoT Greengrass 2.0 开始,边缘运行时和几个组件现在是开源组件,并在 GitHub 中发布。有关更多详细信息,请参阅开源组件列表。

我能否更改项目的 Amazon IoT Greengrass 边缘运行时源代码?

能。Amazon IoT Greengrass 开源边缘运行时根据 Apache 2.0 许可证进行分发,因此可以根据应用程序或项目的具体需求进行修改,而无需获得我们的许可。

使用不同版本的 Amazon IoT Greengrass 时,定价是否不同?

否。版本之间的定价没有区别。有关定价的详细信息,请参阅定价页面

本地资源访问

什么是 Amazon IoT Greengrass 本地资源?

“本地资源”是指 Amazon IoT Greengrass 主机上物理存在的总线和外围设备,或 Amazon IoT Greengrass 主机操作系统上的文件系统卷。例如,要与通过 Modbus/CANBUS 连接的设备进行通信,Amazon IoT Greengrass Lambda 函数需要访问设备上的串行端口。本地资源是在 Amazon IoT Greengrass 组范围内定义的,Amazon IoT Greengrass 组中所有 Lambda 都可以使用定义的本地资源。

什么时候可以访问本地资源?

Amazon IoT Greengrass 本地资源允许 Lambda 函数与硬件(如传感器和执行器)安全交互。例如,您的 Lambda 函数可以从设备上的相机读取视频流,或将命令和控制发送到 GPIO。

安全性

什么是硬件可信根?为什么需要硬件可信根?

硬件可信根提供了防篡改可信执行环境,在这种环境中,真随机数生成器可以生成用于加密功能的私钥。这些硬件“安全元件”可以抵御恶意软件篡改,并在物理上绑定到给定的 IoT 设备,从而建立了安全部署软件所依据的强大可信根。

如何在 Amazon IoT Greengrass 架构中引入硬件可信根安全性?

首先,您必须在具有安全元件的边缘设备上运行 Amazon IoT Greengrass Core 软件。按照硬件供应商的指示,在该安全元件上生成私钥。然后,按照文档中的说明来更新 config.json 文件设置以使用安全元件私钥。

如何验证安全元件可以使用硬件安全集成功能?

安全元件供应商已将其安全元件配置为使用一组 PKCS#11 标准 API,以便集成 Amazon IoT Greengrass。供应商使用一组测试工具来验证其硬件配置是否正确。

ML 推理

如何使用我自己训练的 ML 模型?

您可以将自己训练的 ML 模型以 .tar.gz 和 .zip 格式放置在 Amazon S3 中,从而进行使用。然后,您要让 Amazon IoT Greengrass 了解 S3 URI 和 Amazon IoT Greengrass 将部署到目标设备。

Amazon IoT Greengrass ML 推理在哪些 亚马逊云科技 区域可用?

目前,Amazon IoT Greengrass ML 推理在以下 亚马逊云科技 区域可用:

  • Amazon GovCloud(美国西部)
  • 美国东部(弗吉尼亚北部)
  • 美国西部(俄勒冈)
  • 由光环新网运营的 亚马逊云科技 中国(北京)地区
  • 亚洲(东京)
  • 亚洲(悉尼)
  • 欧洲(法兰克福)
  • 欧洲(都柏林)

无论您身处哪个地理位置,只要您能够访问上述任何一个 亚马逊云科技 区域,您就可以使用 Amazon IoT Greengrass ML 推理。

Amazon IoT Greengrass 组件

什么是 Amazon IoT Greengrass Core 组件?

借助 Amazon IoT Greengrass 连接器,您现在可以轻松地在 Amazon IoT Greengrass 上构建复杂的工作流,而不必担心要了解设备协议、管理凭证或与外部 API 交互。使用 Amazon IoT Greengrass 连接器,您能够与第三方应用程序、本地软件和 亚马逊云科技 服务进行交互,而无需编写代码。由于能够在边缘发现、导入、配置和部署应用程序,您可以在不同的 Amazon IoT Greengrass 设备上重复使用常见业务逻辑。您还可以在边缘使用 Amazon IoT Greengrass Secrets Manager 来保护云中和边缘的密钥和凭证。如果 Amazon IoT Greengrass 连接器需要密钥来对应用程序或服务进行身份验证,您可以选择一个密钥并将其作为 Amazon IoT Greengrass 连接器配置的一部分部署到 Amazon IoT Greengrass Core。

如何将 Amazon IoT Greengrass 组件添加到我的设备配置或我的设备中?

可在 Amazon IoT Greengrass 控制台中通过每个组的“Components”(组件) 部分添加 Amazon IoT Greengrass 组件。添加后,配置 Amazon IoT Greengrass 组件的参数并部署组,即可将它们添加到您的 Amazon IoT Greengrass Core 设备。

哪类用户可以使用 Amazon IoT Greengrass 组件?

Amazon IoT Greengrass 客户均可在 亚马逊云科技 管理控制台中使用 Amazon IoT Greengrass 连接器。

有哪些可用的 Amazon IoT Greengrass 组件?

您可以在我们的文档中查找可用的 Amazon IoT Greengrass 组件。

协议适配器

如何将 OPC-UA 协议用于 Amazon IoT Greengrass?

您可以为 Amazon IoT Greengrass 创建自定义实施,使您可以使用 OPC-UA 提取和处理来自工业设备的消息。根据您定义的规则,可将消息传输到本地或云目标。您可以从本教程开始,其中显示了 Amazon IoT Greengrass Core 上的自定义 OPC-UA 实施示例。

如何使用 Amazon IoT Greengrass 实施替代协议?

由于在 Amazon IoT Greengrass Cores 上运行的 Lambda 函数可以访问网络资源,因此您可以使用 Lambda 实现在 TCP/IP 之上实施的任何协议的支持。另外,您还可以利用 v IoT Greengrass 本地资源访问来实现对需要访问硬件适配器/驱动程序的协议的支持。

Amazon IoT Greengrass 还提供 Modbus-RTU、Modbus-TCP 和 Ethernet/IP 协议适配器连接器,可帮助您连接到边缘设备。有关更多信息,请参阅此处的连接器文档。

如何将工业设备数据提取到 Amazon IoT Greengrass?

您可以使用 IoT SiteWise 连接器从 OPC UA 服务器中提取设备数据,使用 Modbus-TCP 连接器从 Modbus-TCP 服务器中提取设备数据,以及使用 Ethernet/IP 连接器从 EtherNet/IP 服务器中提取设备数据。向 Amazon IoT SiteWise 导出数据默认处于启用状态,您可以使用自定义流将数据导出到 Amazon IoT Analytics、Amazon Kinesis 和 Amazon S3。您还可以使用自定义流将数据发送到 Lambda 函数,以便在导出数据之前进行本地处理。或者,您可以创建自定义实施,以使用本地部署的 Lambda 函数提取和处理设备数据,然后将数据传送到本地或云目标。

无线 (OTA) 更新

什么是 Amazon IoT Greengrass 无线 (OTA) 更新?

亚马逊云科技 将不时发布 Amazon IoT Greengrass Core 软件的更新版本以提供下列优势:

  • 引入新的或改进的功能
  • 漏洞修复
  • 提高安全性

借助 Amazon IoT Greengrass 无线 (OTA) 更新,客户可以获得所有这些优势,无需手动下载并重新安装 Amazon IoT Greengrass Core 软件。

我必须使用 Amazon IoT Greengrass OTA 更新吗?

不。您始终都可以选择手动下载和安装更新,或者执行其他的软件部署过程。

我将如何获知有新的 Amazon IoT Greengrass Core 版本可用?

当 Amazon IoT Greengrass Core 的新版本可用时,我们将在 Amazon IoT Greengrass 软件开发人员论坛公布。

将 FreeRTOS 和其他设备连接到 Amazon IoT Greengrass

如何在本地将设备连接到 Amazon IoT Greengrass Core?

可以使用 FreeRTOS 或 Amazon IoT 设备开发工具包在本地将设备连接到 Amazon IoT Greengrass Core。Amazon IoT Greengrass 发现可通过 C++、Node.js、Java 以及 Python 2.7、3.7 和 3.8 在 Amazon IoT 设备开发工具包上使用。有关更多信息,请参阅 Amazon IoT Greengrass 用户指南。您可以在 FreeRTOS 源代码中使用 Amazon IoT Greengrass 发现库,来查找并连接 Amazon IoT Greengrass Core 设备。 

哪些语言通过 Amazon IoT 设备开发工具包支持 Amazon IoT Greengrass?

Amazon IoT Greengrass 发现可通过 C++ 以及 Python 2.7 和 3.7 在 Amazon IoT 设备开发工具包上使用。有关更多信息,请参阅 Amazon IoT Greengrass 开发人员指南

FreeRTOS 可以与 Amazon IoT Greengrass 一起使用吗?

能。FreeRTOS 设备可以直接连接到云或连接到 Amazon IoT Greengrass。  FreeRTOS 在 IoT 终端节点上运行,通常负责 IoT 拓扑中的“感知”和“行为”。

Amazon IoT Greengrass 和 FreeRTOS 有何区别?

Amazon IoT Greengrass 是一种允许您以安全方式在互联设备上运行本地计算、消息收发、数据缓存、同步和 ML 推理功能的软件。借助 Amazon IoT Greengrass,互联设备可以运行 Amazon Lambda 函数、同步设备数据,以及与其他设备安全通信 – 甚至无需连接互联网。通过使用 Amazon Lambda,Amazon IoT Greengrass 可以确保您的 IoT 设备能够快速响应本地事件,使用在 Amazon IoT Greengrass 核心上运行的 Lambda 函数与本地资源进行交互,执行间歇性连接,通过无线更新保持更新状态,最大限度地降低将 IoT 数据传输到云的成本。

Amazon FreeRTOS 是用于微控制器的开源操作系统,在边缘站点运行,一般不支持可运行 Amazon IoT Greengrass 的芯片组。这些微控制器设备可用于各种 IoT 终端,如健身追踪器、起搏器、电表、汽车传动设备和传感器网络。Amazon FreeRTOS 设备无法运行 Amazon IoT Greengrass Core 但可以在 IoT Greengrass Core 设备之间收集、发送和接收消息,以在边缘进行本地处理。

这两个设备的硬件要求和操作系统是不同的。

  FreeRTOS Amazon IoT Greengrass
软件 操作系统,在微控制器上运行 Linux 设备的运行时和 Amazon IoT Greengrass 感知设备的开发工具包
硬件要求 >64KB RAM >96MB* RAM(v2.0 边缘运行时或更高版本)
>128MB RAM(v1.11 边缘运行时或更低版本)
类别 嵌入式系统、IoT 终端节点 边缘设备、本地网关
使用案例 基于微控制器的设备 工业自动化系统、无线路由器、摄像机、网关

* 基于使用以下 JDK 的亚马逊云科技研究:用于测试的 JDK 版本:openjdk 版本“1.8.0_275”、OpenJDK 运行时环境(内部版本 1.8.0_275-8u275-b01-0ubuntu1~18.04-b01)和 OpenJDK 64 位服务器 VM(内部版本 25.275-b01,混合模式)。使用不同的输入,内存使用量可能会更高。

了解有关 Amazon IoT Greengrass 定价的更多信息

访问定价页面
准备好开始使用了吗?
注册
还有其他问题?
联系我们

开始使用亚马逊云科技免费构建

开始使用亚马逊云科技免费构建

关闭
热线

热线

1010 0766
由光环新网运营的
北京区域
1010 0966
由西云数据运营的
宁夏区域