可以获取到心跳包吗?

环境信息

  • EMQX 版本:4.4.3
  • 操作系统及版本:Ubuntu 20.04.3 LTS
  • 其他

问题描述

可以获取到 MQTT 的心跳包吗? 用 exhook 是否可以获取到?还是有其他办法?

现在没有 MQTT 心跳的 EMQX 事件。你要解决什么问题,能用其他的方式解决吗?

我的每个设备有一个心跳图。要跟踪每个设备心跳是否异常。 就跟医院看到的那个心跳差不多。汗-_-||

为什么不让设备周期性的 publish 一条消息上来呢?

低功耗设备。多发一条消息都可能导致功耗增加,产品会打我的。

我倒是觉着既然已经是 MQTT (TCP) 了,功耗就已经不少了,UDP 的功耗小一些。

有个变通的办法是,你可以不发心跳包,代码里按照心跳的周期自己发个 PUBLISH 报文代替,消息尽量短一些就好了。

没收到心跳,周期性收到 PUBLISH 的话,emqx 这边应该也不会断开的,你可以测一下。