相信很多小伙伴都遇到过连接服务器失败的情况,其返回报错信息如下:
+MQTTDISCONNECTED:0 ERROR
官方给出MQTT使用手册中给出了这样相关的内容:
其大致意思是说:
一般情况下,AT MQTT命令会在10秒内响应,但AT+MQTTCONN命令除外。例如,如果路由器无法访问internet,则AT+MQTTPUB命令会在10秒内响应。但是AT+MQTTCONN命令可能需要更多的时间,因为在不良的网络环境中需要重传数据包。.如果AT+MQTTCONN基于TLS连接,每个包的超时为10秒,则根据握手包计数,总超时将长得多。
当MQTT连接结束时,将提示消息+MQTTDISCONNECTEd:<LinkID>。
当MQTT连接建立时,它将提示消息+MQTTCONNECTED:<LinkID>“<scheme><”主机“>,端口,<”路径“>,<reconnect>
简单的说就是,使用AT+MQTTCONN命令时,断开连接或者主动连接失败都会返回+MQTTDISCONNECTEd:<LinkID> 错误内容。
关键来了:
连接服务器时之所以会报错的原因就是出在利用 物联平台配置工具生成的PASSWORD不正确!
(因为MQTT参数刷新一次就会有变化)
其正确的做法是:
①在建立好阿里云物联网平台的物理模型后,将设备的三元组复制到物联平台配置工具中
②Cilentld 随便填,5位;TimeStamp不要填!!!,不然生成密码有误!!!
③再将生成的密码等参数重新进行MQTT AT测试。然后你就会发现,此时WIFI模块可以正常连接云服务器了;