我认为 mqtt clinet keep alive
timer 有一个错误。
代码:
全选m = mqtt.Client(\"ESP\"..node.chipid(), 120, \"user\", \"password\")
m:lwt(PUB_TOPIC, \"offline\", 0, 0)
m:on(\"connect\", function(conn) print(\"mqtt_connected\") end)
m:on(\"offline\", function(conn) print(\"offline\") end)
m:on(\"message\", function(conn, topic, data) receive_data(data, topic) end)
正如您在第一行看到的那样,我正在创建一个保持活动时间为 120 秒的客户端,因此如果客户端失去互联网连接超过 120 秒,它应该启动 m:on(\"offline\"... 事件。看起来它需要更多时间(大约 14-15 分钟才能启动离线事件)。
这是一个错误吗?还是我的代码有问题?我尝试将 120 秒更改为 0,1,10,60 秒,但始终响应相同,离线事件在 13-16 分钟引发。