关于NB-IOT模块断连OneNet,无法发布数据问题

背景

最近在搞毕设,用到NB-IOT模块。为了成功将模块通过串口连接OneNet,看了很多帖子和B站视频,但是一直卡在数据发布,刚刚得到解决,遂发一下心得,给各位一些参考。

硬件

某宝的某墨某子,移某远BC20模块开发板全网通NB-IOT,带GPS(兼容BC26)。

问题

如下图:

可以看到订阅失败发布数据失败

导致OneNet直接离线

原因

前期被严重误导,加之其他帖子图片,我一直认为订阅返回:0,1,0,128,是正确的,而且此时OneNet不掉线,所以一直在看发布数据的命令。有趣的是,在这种情况下,我先解决了发布数据命令的问题,然后发现订阅命令存在着同样的错误。修改后,跑通。

错误

$,不相同!!!!!!正确的是$,下图分别是在WPS和代码中的对比,后者正确。

                                                 $和$ 

错误命令:

订阅:

AT+QMTSUB=0,1,"$sys/用户ID/wrong_reset/dp/post/json/accepted",0

发布数据:

AT+QMTPUB=0,0,0,0,"$sys/用户ID/test/dp/post/json",{"id":123,"dp":{"temp":[{"v":100}],"humi":[{"v":325}]}}

正确命令:

 订阅:

AT+QMTSUB=0,1,"$sys/用户ID/wrong_reset/dp/post/json/accepted",0

 发布数据:

AT+QMTPUB=0,0,0,0,"$sys/用户ID/test/dp/post/json",{"id":123,"dp":{"temp":[{"v":100}],"humi":[{"v":325}]}}

正确结果 

可以看到订阅成功发布数据成功  

OneNet数据成功接收

其他注意事项

下面只写一些我过程的疑惑,对于用户名,密码之类,B站视频较多,自行了解,这里不过多赘述

1、MQTTX连接的名称和Client ID,我这里默认一样,一致与否有无差别暂不清楚

2、MQTTX连接的服务器地址不要默认broker.emqx.io,要改成mqtts.heclouds.com

3、遗嘱消息,这里不管

4、Clean Session不勾选连接不了

最终配置如下:

如有错漏之处,望批评指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值