Greengrass发现演示应用程序无效

时间:2018-04-02 11:00:46

标签: amazon-web-services aws-sdk freertos ca

我有两个STM32 Discovery工具包(由AWS推荐),我想使用Amazon FreeRTOS将它们连接到Greengrass组。我浏览了有关Amazon FreeRTOS(https://docs.aws.amazon.com/freertos/latest/userguide/gg-demo.html)和Greengrass演示的文档。 我根据教程中的描述添加Thing,Certificates和policy,并将其添加到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.

任何帮助和建议都会非常感激。 问候, Keivan

P.S:我创建了一个具有核心和成功部署的Greengrass小组。

2 个答案:

答案 0 :(得分:0)

您在问题中没有明确说明您已经created a Greengrass Core,并在添加了您的AWS IoT" Thing&之后至少完成了一次成功configuration deployment #34;到格林格拉斯集团。这些是您尝试运行的演示应用程序的先决条件。

完成上述操作后,我建议您使用README.md for the Amazon FreeRTOS Greengrass Connectivity demo app的“高级诊断”部分中的调试步骤。概要:这些步骤使用AWS command-line interface确认您的AWS IoT“Thing”与您的Greengrass Core之间的配置和信任。

如果您能够在没有服务器断开连接的情况下进行MQTT连接并订阅AWS IoT代理,那么您的结论是您的Amazon FreeRTOS设备具有有效的客户端证书和至少一个基本策略附在它上面。但是,除其他外,上述高级诊断步骤将帮助您确认您的Thing证书策略是否足以用于Greengrass演示。无论如何,我怀疑你的问题是Greengrass部署在这一点上。

答案 1 :(得分:0)

问题解决了! 导致此问题的重要原因有两个: 1-在绿色草图设置下,应激活“自动检测并覆盖连接信息”。 2-附加到设备的策略可能导致此问题。它应该包含:

{
  "Effect": "Allow",
    "Action": [
      "greengrass:*"
    ],
    "Resource": [
      "*"
    ]
}

此致 Keivan