Amazon IoT Greengrass 探索图书馆 - 免费 RTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon IoT Greengrass 探索图书馆

注意

此页面上的内容可能不是 up-to-date。有关最新更新,请参阅免费 RTOS .org 库页面

概述

微控制设备使用 Amazon IoT Greengrass Discovery 库来发现网络上的 Greengrass 核心。使用 Amazon IoT Greengrass DiscoveryAPIs,您的设备可以在找到内核端点后向 Greengrass 核心发送消息。

依赖项和要求

要使用 Greengrass Discovery 库,你必须在 Amazon IoT中创建一个东西,包括证书和策略。有关更多信息,请参阅 Amazon IoT 入门

您必须为 freertos/demos/include/aws_clientcredential.h 文件中的以下常量设置值:

clientcredentialMQTT_BROKER_ENDPOINT

您的 Amazon IoT 终端节点。

clientcredentialIOT_THING_NAME

IoT 事物的名称。

clientcredentialWIFI_SSID

SSID适用于你的 Wi-Fi 网络。

clientcredentialWIFI_PASSWORD

Wi-Fi 密码。

clientcredentialWIFI_SECURITY

Wi-Fi 网络所使用的安全类型。

您还必须为 freertos/demos/include/aws_clientcredential_keys.h 文件中的以下常量设置值:

keyCLIENT_CERTIFICATE_PEM

与你的东西PEM相关的证书。

keyCLIENT_PRIVATE_KEY_PEM

与你的东西PEM相关的私钥。

必须在控制台中设置 Greengrass 组和核心设备。有关更多信息,请参阅入门 Amazon IoT Greengrass

尽管 Greengrass 连接不需要核心MQTT库,但我们强烈建议您安装它。该库可用于在发现 Greengrass 核心后与其进行通信。

API参考

有关完整API参考资料,请参阅 Greengrass API 参考资料。

示例用法

Greengrass 工作流

MCU设备通过请求包含 Greengrass 核心连接参数JSON的文件来启动发现过程。 Amazon IoT 有两种方法可以从文件中检索 Greengrass 核心连接参数:JSON

  • 自动选择会遍历文件中列出的所有 Greengrass 内核,并连接到第一个可JSON用的内核。

  • 手动选择,使用 aws_ggd_config.h 中的信息连接到指定的 Greengrass 核心。

如何使用 Greengrass API

G API reengrass 的所有默认配置选项都在中定义。aws_ggd_config_defaults.h

如果只有一个 Greengrass 内核,GGD_GetGGCIPandCertificate请调用请求包含 Greengrass 核心连接JSON信息的文件。返回GGD_GetGGCIPandCertificate时,pcBuffer参数包含JSON文件文本。pxHostAddressData 参数中包含了您可以连接的 Greengrass 核心的 IP 地址和端口。

要获得更多自定义选项,例如动态分配证书,则必须调用以下命令APIs:

GGD_JSONRequestStart

向发出HTTPGET请求, Amazon IoT 以启动发现请求,以发现 Greengrass 内核。 GD_SecureConnect_Send用于将请求发送到 Amazon IoT。

GGD_JSONRequestGetSize

从HTTP响应中获取JSON文件的大小。

GGD_JSONRequestGetFile

获取JSON对象字符串。 GGD_JSONRequestGetSizeGGD_JSONRequestGetFileGGD_SecureConnect_Read用于从套接字获取JSON数据。 GGD_JSONRequestStartGGD_SecureConnect_SendGGD_JSONRequestGetSize必须调用才能从中接收JSON数据 Amazon IoT。

GGD_GetIPandCertificateFromJSON

从数据中提取 IP 地址和 Greengrass 核心证书。JSON可以通过将 xAutoSelectFlag 设置为 True,打开自动选择功能。自动选择会找到您的免费RTOS设备可以连接的第一台核心设备。要连接到 Greengrass 核心,可调用 GGD_SecureConnect_Connect 函数,传递核心设备的 IP 地址、端口和证书。要使用手动选择,可设置 HostParameters_t 参数的以下字段:

pcGroupName

核心所属 Greengrass 组的 ID。你可以使用该aws greengrass list-groupsCLI命令来查找 Greengrass 群组的 ID。

pcCoreAddress

你正在ARN连接的 Greengrass 内核中的那个。