移远官网

BC28连接阿里云(MQTT协议)之打开网络错误

image (通过串口使用AT指令的回复)BC28模块固件版本BC28JAR01A12,想在阿里云上使用MQTT协议,模块上电后通过AT指令查询驻网状态是驻网成功的,AT+QMTCFG=“aliauth”,0,“ProductKey”,“DeviceName”,“DeviceSecret”(阿里云上设备三元素)回复也是OK的,就是在下一步AT+QMTOPEN=0,“iot-as-mqtt.cn-shanghai.aliyuncs.com”,1883时一直返回0,-1,无法打开网络,导致后面BC28设备也无法连接;使用的是移动的物联网NB卡,卡刚开没多久,没有停卡欠费。
请社区内的大佬帮忙解答,谢谢!

您好,

可以从以下几点进行排查:
1、AT+CEREG? 确定已经注网成功?
2、注意消息在发送过程中不会超时,10S内
3、AT+QMTOPEN?查询看是否返回有效信息,如下截图所示:

4、执行 AT+QMTOPEN? 时,若仅返回 OK 或者ERROR,表示当前不存在已打开的用户端信息,需要去平台端核对设备创建的信息是否一致。
如果排查还是不行,麻烦提供完整的AT流程,谢谢!

您好,

您这边AT+QMTOPEN后有继续执行AT+QMTCONN指令吗?看不到下面的流程。
Open之后,要立即发起客户端链接,要不然超时(10S之内)就断开OPEN了, 会返回+QMTOPEN: 0,-1
如截图相关流程:


谢谢!

建议:
1、平台上重新删除创建的产品以及设备信息,重新创建,另外创建时不用加密,注意截图处的选择。
2、AT+CMEE=1打开错误代码,如果指令返回ERROR,会返回错误码。
3、如果还是不行,也可以咨询下平台端。
谢谢!

您好,

建议检查下参数设置
阿里云 MQTT 连接心跳时间为 30 秒至 1200 秒。心跳时间不在此区间内,服务器将会拒绝连接。建
议取值 300 秒以上。谢谢!

遇到了一样的问题,百度过来的,尽管这个帖子过了很久,但是我希望用我的经验告诉后来的学者们。我和题主遇到的问题一样,最终结果是引号的中英文输入法问题,切换成英文输入法就没问题了。保险起见,我切换成英文输入法并且重置了BC28模块,指令全部手打了一遍,问题一次性解决。低级错误,引以为鉴!