MQTT连接相关问题

什么是MQTT协议?

MQTT是基于TCP/IP协议栈构建的异步通信消息协议,是一种轻量级的发布、订阅信息传输协议。MQTT在时间和空间上,将消息发送者与接受者分离,可以在不可靠的网络环境中进行扩展,适用于设备硬件存储空间有限或网络带宽有限的场景。物联网平台支持设备使用MQTT协议接入。

使用MQTT协议连接,不同的设备可以使用相同的clientID连接服务器吗?

不可以,clientID需为全局唯一。如果不同的设备使用相同的clientID同时连接物联网平台,那么先连接的那个设备会被强制断开。

MQTT协议版本是多少?

目前物联网平台支持MQTT标准协议接入,兼容3.1.1和3.1版本协议。

MQTT进行设备认证时发生错误

当设备认证发生错误时,表示鉴权认证失败。其主要原因是设备证书信息ProductKey、DeviceName和DeviceSecret错误,请仔细核对三元组信息。

MQTT发布的消息体大小限制

MQTT协议包最大不能超过4M。超过限制的消息会被丢弃。

MQTT协议pub消息payload格式是怎么样的?

物联网平台没有制定pub消息payload的具体字段有那些。您根据应用场景制定自己的协议,然后以JSON格式放到pub消息载体里面传给服务端。

是否可以使用MQTT直连的方式进行OTA升级?

IFLYIoT支持MQTT直连的方式进行OTA升级,同时支持HTTP升级。具体升级流程如下图。

OTA升级1

  • 设备端须支持OTA升级服务
  • IFLYIoT提供的SDK完成升级,并将固件升级消息推送给设备,设备即可在线升级
  • 也可使用HTTPS完成升级

说明:
1.使用IFLYIoT提供的SDK完成升级,适用于设备端集成了IFLYIoT提供的升级SDK的场景,基于MQTT协议完成升级
2.使用HTTPS完成升级,适用于设备端未集成SDK场景下,通过HTTPS请求完成升级

为什么设备一直上下线?

如果发现设备反复上下线,很有可能同一个设备证书用于多个设备连接认证。例如有两个设备,但使用了同一个设备证书。设备1先上线,设备2后上线。设备2连接认证时,系统会把设备1的连接断掉,而设备1又会重连,再将设备2断掉,如此循环。可以通过日志服务,根据设备信息查询日志情况。

如下图所示,在设备日志的设备行为数据分析中,可以看到设备上下线的原因分析。

设备上下线

如何判断设备掉线的原因?

可以通过IoT通用控制台中的监控运维>日志服务>设备行为分析,来查看设备状态变更的原因分析。

设备上下线

results matching ""

    No results matching ""