通过AWS greengrass核心进行设备通信

时间:2018-05-04 05:58:05

标签: aws-lambda aws-sdk

我是AWS IoT的新手。你能指导我或者给我一些有用的材料来实施整个绿草。我想在gg组中使用覆盆子pi作为我的绿草核心,我想在不同设备之间建立通信,在我的例子中是esp8266和esp32通过raspberry pi。

我按照aws网站上给出的官方文档并实施了所有给出的示例。在aws greengrass核心文档的第4个模块中,他们展示了一个示例,其中有两个设备;发布者和订阅者,彼此沟通。正如他们提到的那样,我将我的计算机设置为终端设备,并在一个终端中运行该basicDiscovery.py文件作为其他终端中的发布者和订阅者,并且它起作用。

现在,我不想在我的计算机中使用终端,而是使用一个esp8266作为发布者,另一个esp8266作为订阅者,并通过raspberry pi(greengrass core)在它们之间交换数据。我不知道我是否必须在esp上安装设备SDK或者什么?我发现这里没办法了。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您询问要在ESP8266设备上运行以便与AWS Greengrass交互的软件。据我所知,您可以在ESP8266上运行两个软件选项:

  • FreeRTOS(FreeRTOS)是一个非常稳定的操作系统,允许您使用C语言进行编码。
  • MongooseOS是一个新的操作系统,允许您使用Javascript进行编码。
  • Arduino(这篇instructables文章将向您介绍如何向AWS IOT注册设备,这应允许您将其连接到Greengrass,但我建议使用以上两个选项。)

Amazon FreeRTOS

  1. 要在您的设备上安装FreeRTOS软件,这里有两个教程: install the FreeRTOS software在您的设备上。 这是另一个教程:AWS IOT with FreeRTOS example
  2. 一旦安装了FreeRTOS软件,则可以通过将AWS IOT设备(您的ESP 8266)添加到AWS Greengrass组中来继续您提到的Module 4

MongooseOS

  1. 首先,在计算机上安装mos实用程序。
  2. 接下来,使用mos实用工具通过MongooseOS software刷新设备。
  3. 然后,将代码上传到您的设备(example)以连接到AWS Greengrass Core(或继续进行第4单元),如您所述。

祝你好运!

答案 1 :(得分:0)

首先,您应该阅读有关Greengrass的信息,您可以找到有用的信息以及如何在RaspberryPi here上安装它。 然后,您应该选择要用于ESP的操作系统类型。您可以使用:

  • Amazon FreeRTOS
  • MongooseOS
  • Zerynth
  • 或者使用Arduino等不同的IDE使用C / C ++进行裸机编程

我建议使用 Amazon FreeRTOS ,因为它众所周知且文档非常好。您可以找到更多信息以开始使用here

如果您想使用 MongooseOS ,我应该指出该文档不好,尽管您可以在他们的ESP上找到关于它的更多信息,但您可能会浪费时间将其连接到Greengrass组。博客here

您还可以使用基于python的 Zerynth 。它也有很好的文档。虽然,它不支持各种微控制器制造商。您可以找到有关here的更多信息。

如果您想使用 Arduno ,可以找到更多信息here

基本上,任何AWS IoT设备都可以连接到AWS Greengrass核心,但是您应该考虑以下提示:

  • 您的所有设备(RaspberryPi和ESP)应位于同一网络中,并且应将ESP中的代理IP设置为本地网络中RaspberryPi的IP。
  • 您还应该在AWS IoT控制台中将设备设置为同一组,并将配置部署到Greengrass。
  • 物联网设备的政策应允许它们发布/订阅。
  • 要连接到AWS代理,所有设备都应具有有效的证书,并且要将ESP(或任何其他设备)连接到Greengrass网络,应将CA根证书替换为Greengrass组证书。