【发布时间】: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