我如何使用 AWS IoT Core 轻松可视化通过 MQTT 发送的数据

How can I easily visualize my data sent over MQTT with AWS IoT Core

我正在评估 AWS IoT 服务,并为网关发送 cpu_usageavailable_memory

我想在图表上可视化数据。

使用 AWS IoT SDK,我可以轻松地通过 MQTT 将数据发送到 AWS IoT Core。

但是,我不知道如何可视化数据。

我从 AWS 看到 this tuto 使用 Kinesis Firehose/Analytics 和 QuickSight 来可视化数据,但对于我的用例来说它似乎太多了(而且太贵了)。

我也看到this tuto用ELK来可视化数据,但真的,我没钱买一个专用的ELK实例,只是为了可视化一点数据。

我尝试使用规则将数据发送到 CloudWatch,但查询:

SELECT free_memory FROM topic_1

但是我看不到这个指标。

我还要求获得 AWS IoT Graph 预览访问权,希望它能解决我的问题,但我现在有点迷茫。

是否有一种简单/免费的层级兼容方式来可视化来自 IoT 设备的数据?

可以将 IoT 馈入 CloudWatch。然后,您可以为您的数据配置一个漂亮的仪表板:

我有一个 ESP8266 运行 Mongoose OS,它从 DHT11 接收温度数据。被放到 MQTT 上的 JSON 看起来像:

{
  "total_ram": 51600,
  "free_ram": 39584,
  "temp": 16,
  "humidity": 64
}

然后我有一个查询规则:

SELECT * FROM '/devices/esp8266_079110/events'

然后两个动作,一个是温度,一个是湿度。它们看起来像:

然后您的数据会进入 CloudWatch。您可以点击 AWS 控制台中的仪表板部分,创建一个新仪表板并交互式添加折线图、最新值等。

配置这个花了一些时间。我在第一次创建规则操作时遇到了一些验证问题,但在启用登录 IoT 设置后我能够解决这些问题,然后 AWS 准确地说出我搞砸了什么。

尽管我在这上面花了很多时间,但只涉及 2 个系统:IoT 和 CloudWatch。我很高兴这很简单。