移远官网

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指令流程如下:

[Tx ->][13:25:20:735][Asc]

AT

[Rx <-][13:25:20:895][Asc]

OK

[Tx ->][13:25:26:193][Asc]

AT+CSQ

[Rx <-][13:25:26:372][Asc]

+CSQ:16,99

OK

[Tx ->][13:25:36:343][Asc]

AT+CEREG?

[Rx <-][13:25:36:526][Asc]

+CEREG:0,1

OK

[Tx ->][13:25:38:655][Asc]

AT+CGPADDR

[Rx <-][13:25:38:851][Asc]

+CGPADDR:0,100.69.54.85

OK

[Tx ->][13:25:42:520][Asc]

AT+QMTOPEN?

[Rx <-][13:25:42:690][Asc]

OK

[Tx ->][13:25:46:248][Asc]

AT+QMTCFG=“aliauth”,0,“g62****L1LH”,“BC28_1”,"******e0745d70486570e4ae741e19f6"

[Rx <-][13:25:46:490][Asc]

OK

[Tx ->][13:25:48:895][Asc]

AT+QMTOPEN?

[Rx <-][13:25:49:065][Asc]

OK

[Tx ->][13:25:50:559][Asc]

AT+QMTOPEN=0,“iot-as-mqtt.cn-shanghai.aliyuncs.com”,1883

[Rx <-][13:25:50:922][Asc]

OK

+QMTOPEN: 0,-1

首先感谢您的回复,根据您给出的几点进行排查
1、AT+CEREG?回复+CEREG:0,1,驻网成功;

2、AT指令是由串口直接发送的,保证在10s内,上面也给出了通信TX与RX的时间戳;(以*隐藏了部分信息望理解)、

3、AT+QMTCFG(设备证书三元组)回复正常,AT+QMTOPEN?回复OK,设备地域是在华东2(上海);

您好,

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


谢谢!


我在AT+QMTOPEN之后,有继续执行AT+QMTCONN指令,截图上带有时间戳,不过AT+QMTCONN回复的是ERROR。

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


目前的情况是打开网络AT指令回复OK(没有报错),不过在设备连接的时候,回复0,0,4,我查了手册是指用户名或密码错误,我在AT指令上也没有加用户名与密码的后缀,如果要加的话,用户名与密码是加什么?是ProductSecret吗?再次感谢您能给予回复。

您好,

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