首页 > 解决方案 > 以 GET /“拉”方式从 Google Cloud IoT 设备检索实时数据?

问题描述

我需要从 Web 应用程序轮询串行设备(使用 ESP32)的接近实时读取。我目前正在使用 Particle Photons 和 Particle Cloud API 执行此操作,并且想知道是否有一种方法可以使用 Google Cloud IoT 实现类似的功能。

通过阅读文档,执行此操作的常见方法似乎是通过 PubSub,然后通过 Cloud Functions 通过 DataFlow 或 Firebase 发布到 BigQuery。但是,为了减少定价开销,我希望仅在设备收到外部请求时触发数据交换

看起来有一种方法可以向物联网设备发送命令- 我在正确的轨道上吗?我似乎在这里找不到文档,但是在收到命令后,它会使用 PubSub 发布到主题,这可以触发 Cloud Function 来更新 Firebase?

最后,看起来还有一种方法可以向GET设备的.DeviceStatestate

如果有另一种低延迟、低成本的方式允许客户端从我错过的 IoT 设备轮询实时值,请告诉我。谢谢!

标签: google-cloud-platformiotgoogle-cloud-pubsubesp32google-cloud-iot

解决方案


乐鑫集成了Google 的 Cloud IoT Device SDK,该 SDK 在设备和 IoT Core 之间创建了一个经过身份验证的双向 MQTT 管道。正如您已经发现的那样,您可以将任何东西从云端发送到设备(它被称为“命令”,但它只是一个 MQTT 有效负载,因此您可以将几乎任何您想要的东西放入其中),反之亦然(它被称为“遥测”但同样它只是一个 MQTT 有效负载)。一旦来自设备的传入消息到达云端,pubsub 就可以将它们路由到您想要的任何地方。我不知道我是否会称其为实时,但良好的 WiFi 网络中的延迟往往不到一秒。


推荐阅读