【发布时间】:2019-07-03 17:16:09
【问题描述】:
有人知道当 Google Core IoT 上的设备离线时触发事件的简单方法吗?在我切换到 Google 的 IoT 实施之前,这非常容易通过在 MQTT 断开连接时触发事件来处理,但 Google 似乎没有简单的方法来做到这一点。
有人知道这方面有什么计划吗?
我需要让谁回来让他们看到像这样的东西是物联网设备管理的基本要求!
AWS 和 Microsoft 等其他平台已经实现了此功能(或以某种方式轻松处理): https://docs.aws.amazon.com/iot/latest/developerguide/life-cycle-events.html
Device connectivity(online/offline)status with the Auzure iot hub
我希望我在编写所有代码并使用 Google 的 IoT 平台实现我的设置之前就知道这一点,我想这是我的错,因为我假设了一些事情 如此简单物联网设备的标准将可用。
如果连基本的线下/线上活动都不能提供,你将如何与其他物联网提供商竞争?!
我在这个 SO 问题中的回复显示了我如何必须编写 100 多行代码才能创建一个 firebase 函数来检查设备是否在线(但这仍然不能处理离线事件,并且只是一个 hack 任何物联网服务提供商都应该原生!): https://stackoverflow.com/a/54609628/378506
我希望其他人已经找到了一种方法来做到这一点,因为我花了很多天搜索 SO、Google、Google Core IoT 文档,但仍然没有找到任何东西。
即使支持 MQTT Last Will,我们也可以完成这项工作,但 Google 也不支持 (https://cloud.google.com/iot/docs/requirements) ... 加油!
【问题讨论】:
-
@FrankvanPuffelen 好的,但这是特定于 firebase,我需要类似的东西用于 Google Core IoT 设备
-
通过使用您的其他 SO 问题,我假设您的设备正在使用 Firebase。我不是 Java 开发人员,所以我没有给出答案,但我会使用您拥有的任何事件流或通知通道(在 JS 中它将是 rx Observable 或主题)并基于在线/离线编写事件提供程序状态?
-
@DennisSmolek 这就是问题所在,从与此有关的任何事情中删除 firebase ......无法确定设备何时离线 - 我引用的是 Firebase,因为这是我过去手动使用的通过比较设备的时间戳(或发送命令和检查响应)来检查设备状态
-
所以我基本上必须在每次加载我的应用程序或更改页面时运行该功能,以确保设备没有脱机。即使他们只是将 LWT 添加到 MQTT 实现中,我也可以想出一种方法来触发 pub/sub 并更新数据库以将其标记为离线 .. 但现在谷歌对此一无所知,我真的无法理解为什么他们没有
标签: firebase google-cloud-platform google-cloud-firestore google-cloud-iot