【问题标题】:Retrieving real-time data from Google Cloud IoT device in GET / "pull" fashion?以 GET /“拉”方式从 Google Cloud IoT 设备检索实时数据?
【发布时间】:2021-07-25 07:18:11
【问题描述】:

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

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

看起来有一种方法可以将send commands 连接到 IoT 设备 - 我是否在正确的轨道上?我似乎在这里找不到文档,但是在收到命令后,它会使用 PubSub 发布到 Topic,这可以触发 Cloud Function 来更新 Firebase?

最后,看起来还有一种方法可以向设备的 DeviceState 发出 GET 请求,但这只能每秒更新一次(这也可能有效,尽管听起来他们通常不鼓励使用state 用于此目的)。

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

【问题讨论】:

    标签: google-cloud-platform iot google-cloud-pubsub esp32 google-cloud-iot


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-27
      • 2022-09-27
      • 1970-01-01
      • 2018-11-10
      • 2021-10-06
      • 2015-07-30
      相关资源
      最近更新 更多