一、该问题的重现步骤是什么?
1. 
这个代码执行了,但是没有获取到设备信息,mqtt连接是关闭了。
这个username是mqtt的账号,根本没有获取设备信息,所以再进行设备状态更新时,函数直接return了。

2.
3.
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
你用的是mqtt账号连接的, 没有用设备三元组的模式么?
如果用的是mqtt账号,当然无法获取到设备信息,所有设备都用同一个账号连接,服务器是不知道具体谁是谁的,你要用mqtt账号控制上下线是不可能的。
真实控制上下线,只能用设备三元组(根据设备名称密钥等参数来计算,具体看:https://iot.bladex.cn/tech/device/link/mqtt.html)的方式去连接。
mqtt账号一般是用来直接上报数据用的,无法识别设备身份。
现在因为一些原因,目前只能通过代理通信的方式控制设备上下线,现在上线没有问题,但是设备直接断电,是没有办法上报设备下线消息的。只能通过遗言的方式。发布一个遗言消息。
我看mica-mqtt有支持遗言,平台目前是不支持遗言消息的,平台中能将遗言加进去么,这样就可以通过遗言控制设备下线。
无法实现,你可以设备关机前,执行一个下线的topic:https://iot.bladex.cn/tech/prologue/protocol.html#_5-2-%E8%AE%BE%E5%A4%87%E4%B8%8B%E7%BA%BF
如果要防备意外断电、关机的事件,只能通过三元组认证来实现。
遗嘱消息怎么订阅,我想通过自己订阅遗嘱消息,然后监听到之后发送离线消息到物联网平台。模拟设备发送离线消息
扫一扫访问 Blade技术社区 移动端