【问题标题】:AWS GREENGRASS Cannot connect to deviceAWS GREENGRASS 无法连接到设备
【发布时间】:2018-07-18 23:30:05
【问题描述】:
我是 AWS IoT 的新手。您能否指导我或向我推荐一些有用的材料来实施整个绿草。我想在 gg 组中使用树莓派作为我的 greengrass 核心,并且我想通过树莓派在不同的设备之间建立通信,在我的例子中是 esp8266 和 esp32。
我想使用一个 esp8266 作为发布者,另一个 esp8266 作为订阅者,而不是我计算机中的终端,并通过树莓派(greengrass 核心)在它们之间交换数据。我不知道我是否必须在 esp 上安装设备 SDK 或什么?我从这里找不到出路。
非常感谢您的帮助。
【问题讨论】:
标签:
amazon-web-services
aws-lambda
greengrass
【解决方案1】:
首先您应该阅读有关 Greengrass 的信息,您可以找到有用的信息以及如何在 RaspberryPi here 上安装它。
然后,您应该选择要用于 ESP 的操作系统类型。您可以使用:
- 亚马逊 FreeRTOS
- MongooseOS
- Zerynth
我推荐使用 Amazon FreeRTOS,因为它很有名,而且文档非常好。您可以找到更多信息以开始使用它here。您应该考虑您的所有设备(RaspberryPi 和 ESP)都应该在同一个网络中,并且您应该将 ESP 中的代理 IP 设置为本地网络中 RaspberryPi 的 IP。此外,您应该在 AWS IoT 控制台中将设备设置为同一组,并将配置部署到 Greengrass。 IoT 设备的策略应该允许它们发布/订阅。为了连接到 AWS 代理,所有设备都应该具有有效的认证,并且为了将 ESP 连接到 Greengrass 网络,CA 根证书应该替换为 Greengrass 组证书。
【解决方案2】:
您不能将 esp8266 与 aws Greengrass 一起使用,因为 esp8266 不支持 TLS 1.2 通信并且 aws IoT 需要 TLS 1.2。
您可以使用支持 TLS 1.2 并且可以交换证书的 esp32,并与 aws greengrass 建立安全连接。
我写了一个article,它解释了每一个步骤,你如何从零开始到高级。
Zerynth 官方在他们的blog 上推荐了这篇文章。因此,请遵循它并完成您的解决方案。