【问题标题】:Google Cloud - Detecting Offline DevicesGoogle Cloud - 检测离线设备
【发布时间】:2019-07-15 07:38:44
【问题描述】:

我对 Google Cloud IoT Core 和相关服务相当陌生,遇到了一个我找不到“最佳实践”解决方案的问题。

使用 Google Cloud IoT Core 从 IoT 设备接收遥测数据,检测 IoT 传感器设备何时离线或静音的最佳方法是什么?其他基于云的 IoT 服务实现有 built-in notification timeouts 用于生成警报,但我找不到 Google IoT 的类似物

示例:许多 IoT Edge 设备监控冷藏室的温度,并通过 MQTT 或 HTTP 通过 WiFi 或移动数据连接每分钟将测量值推送到 Google Cloud IoT Core。如果测得的温度超过可接受的限制,则会触发警报消息,并将其发送给操作服务人员。

但是,如果某个 IoT Edge 传感器由于某种原因突然停止运行,Google Cloud IoT 服务如何检测到呢?显然,出现问题的唯一迹象是,没有从某个 DeviceID 接收到消息的时间明显长于配置​​的消息传递间隔,例如2 x 间隔 + 宽限期,以便可以生成警报以警告缺少遥测数据,这可能是由电源故障引起的,需要解决?

是否有任何标准方法可以根据从设备接收到的(缺少)遥测数据自动维护每个设备的“IoT 设备存在”状态,从而使状态更改(在线/离线转换)会导致生成警报消息?

或者是否需要单独的计划服务来迭代所有(假定为活动的)设备,测量自上次接收遥测(温度)更新以来的持续时间,并直接更新设备存在状态?

【问题讨论】:

  • 这里要澄清的一点是真正的问题是什么。如果您描述的问题是设备由于内部错误而停止发送传感器读数,但它仍连接到 MQTT 代理,则 IoT Core 无法直接跟踪,因为它是您应用程序的一部分。但是,如果问题是因为设备失去连接,您可以使用 Alex 的回答进行跟踪。

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


【解决方案1】:

假设您只想断开连接事件,之前发布的解决方案涉及设置将消息导出到 Pub/SubStackDriver 日志。从那里,您可以在 Cloud Function 中处理事件,以与您列出的实现中可用的方式类似的方式发送电子邮件。设置需要更多时间,但在您可以对连接/断开连接事件执行的操作方面更加灵活。

Google Core IoT Device Offline Event or Connection Status

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 2020-08-21
    • 1970-01-01
    • 2020-01-12
    • 1970-01-01
    • 2012-05-27
    相关资源
    最近更新 更多