Greengrass 发现演示应用程序无法正常工作
Greengrass discovery Demo Application is not working
我有两个 STM32 Discovery 套件(AWS 推荐),我想使用 Amazon FreeRTOS 将它们连接到 Greengrass 组。我浏览了有关 Amazon FreeRTOS (https://docs.aws.amazon.com/freertos/latest/userguide/gg-demo.html) 和 Greengrass 演示的文档。
我根据教程中的描述添加事物、证书和策略,并将事物添加到 greengrass 组。我还从 AWS 控制台的软件部分下载了 "Greengrass discovery for ST ",更新了 wifi 用户名和密码,"aws_clientcredentials.h" 中的物联网端点,还更新了 "aws_clientcredentials_keys.h" 中的证书。
根据文档,订阅 "freertos/demos/ggd" 主题会给 IoT 测试一些消息,但事实并非如此。
有人有同样的经历吗?
控制台的输出是:
0 0 Starting key provisioning...
1 3 Write root certificate...
2 7 Write device private key...
3 15 Write device certificate...
4 23 Key provisioning done...
5 608 WiFi module initialized.
6 4010 WiFi connected to AP defabe Engineering_EXT.
7 4015 IP Address acquired 192.168.178.50
8 4020 Attempting automated selection of Greengrass device
9 34517 About to close socket.
10 34756 Socket closed.
11 34759 JSON parsing: Couldn't find certificate
12 34764 Auto-connect: Failed to retrieve Greengrass address and certificate.
非常感谢任何帮助和建议。
问候,
凯文
P.S:我创建了一个具有核心且成功部署的 Greengrass 组。
您在将 AWS IoT "Thing" 添加到 Greengrass 组后没有在您的问题中明确表示您已经 created a Greengrass Core, and completed at least one successful configuration deployment 了。这些是您尝试 运行 的演示应用程序的先决条件。
完成上述操作后,我建议您使用 README.md for the Amazon FreeRTOS Greengrass Connectivity demo app. Synopsis: those steps confirm the configuration and trust between your AWS IoT “Thing” and your Greengrass Core using the AWS command-line interface 的高级诊断部分中的调试步骤。
如果您能够在服务器不断开您连接的情况下进行 MQTT 连接并订阅 AWS IoT 代理,则可以断定您的 Amazon FreeRTOS 设备具有有效的客户端证书并且至少附加了一个基本策略。但是,除其他事项外,上述高级诊断步骤将帮助您确认您的事物证书策略是否足以用于 Greengrass 演示。无论如何,我怀疑您的问题此时与 Greengrass 部署有关。
问题已解决!
有两件重要的事情导致了这个问题:
1- 在 greengrass 设置下,应激活“自动检测和覆盖连接信息”。
2- 附加到设备的策略可能会导致此问题。它应该包含:
{
"Effect": "Allow",
"Action": [
"greengrass:*"
],
"Resource": [
"*"
]
}
它需要正确的资源和操作。
我有两个 STM32 Discovery 套件(AWS 推荐),我想使用 Amazon FreeRTOS 将它们连接到 Greengrass 组。我浏览了有关 Amazon FreeRTOS (https://docs.aws.amazon.com/freertos/latest/userguide/gg-demo.html) 和 Greengrass 演示的文档。 我根据教程中的描述添加事物、证书和策略,并将事物添加到 greengrass 组。我还从 AWS 控制台的软件部分下载了 "Greengrass discovery for ST ",更新了 wifi 用户名和密码,"aws_clientcredentials.h" 中的物联网端点,还更新了 "aws_clientcredentials_keys.h" 中的证书。 根据文档,订阅 "freertos/demos/ggd" 主题会给 IoT 测试一些消息,但事实并非如此。 有人有同样的经历吗?
控制台的输出是:
0 0 Starting key provisioning...
1 3 Write root certificate...
2 7 Write device private key...
3 15 Write device certificate...
4 23 Key provisioning done...
5 608 WiFi module initialized.
6 4010 WiFi connected to AP defabe Engineering_EXT.
7 4015 IP Address acquired 192.168.178.50
8 4020 Attempting automated selection of Greengrass device
9 34517 About to close socket.
10 34756 Socket closed.
11 34759 JSON parsing: Couldn't find certificate
12 34764 Auto-connect: Failed to retrieve Greengrass address and certificate.
非常感谢任何帮助和建议。 问候, 凯文
P.S:我创建了一个具有核心且成功部署的 Greengrass 组。
您在将 AWS IoT "Thing" 添加到 Greengrass 组后没有在您的问题中明确表示您已经 created a Greengrass Core, and completed at least one successful configuration deployment 了。这些是您尝试 运行 的演示应用程序的先决条件。
完成上述操作后,我建议您使用 README.md for the Amazon FreeRTOS Greengrass Connectivity demo app. Synopsis: those steps confirm the configuration and trust between your AWS IoT “Thing” and your Greengrass Core using the AWS command-line interface 的高级诊断部分中的调试步骤。
如果您能够在服务器不断开您连接的情况下进行 MQTT 连接并订阅 AWS IoT 代理,则可以断定您的 Amazon FreeRTOS 设备具有有效的客户端证书并且至少附加了一个基本策略。但是,除其他事项外,上述高级诊断步骤将帮助您确认您的事物证书策略是否足以用于 Greengrass 演示。无论如何,我怀疑您的问题此时与 Greengrass 部署有关。
问题已解决! 有两件重要的事情导致了这个问题: 1- 在 greengrass 设置下,应激活“自动检测和覆盖连接信息”。 2- 附加到设备的策略可能会导致此问题。它应该包含:
{
"Effect": "Allow",
"Action": [
"greengrass:*"
],
"Resource": [
"*"
]
}
它需要正确的资源和操作。