建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块

Lily_y

发帖: 76粉丝: 29

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2018-12-27 21:17:48 4644 10 楼主 显示全部楼层
[干货分享] 【分享】模组AT命令 及 设备绑定上报数据问题定界

很多小伙伴总会问模组怎么上线,为什么绑定不成功、设备上报数据为什么平台上看不到等问题,在这里给小伙伴们一个大概的方向


AT命令的使用

在平台上用设备IMEI注册好设备并修改设备信息之后,就可以使用真实设备对接平台了。(插件和profile的开发请直接参考【开发者portal在线开发插件系列一】profile和基本上下行消息

一般搞设备开发的小伙伴最初都是从模组调测起,一起看一下怎么做吧


1、在电脑上安装好串口精灵之类的串口工具,将模组连上电脑(现在模组都直接有USB插口),打开串口工具选择设备串口

2、依次使用如下AT命令(以移远模组发送CoAP消息为例)

    AT+CMEE=1            //报错查询

    AT+CFUN=0            //关机

    AT+CGSN=1            //查询IMEI

    AT+NTSETID=1,8637XXXXXXXXXXX    //如果查询不到可自行设置IMEI,且只能设置一次,一般模组出厂都会设置好IMEI

    AT+NCDP=XXX.XXX.XXX.XXX,5683   //设置对接的平台IP端口,IP要设置南向设备对接的IP,5683是非加密通道的端口,5684是加密通道的端口

    AT+CFUN=1                       //开机

    AT+NBAND=5                    //设置频段

    AT+CGDCONT=1,“IP”,“CTNB”    //置核心网APN

    (目前电信NB卡不支持从设备侧设置APN,开卡时已设置好,可找电信开卡人员修改)

    AT+CGATT=1             //入网

    AT+CGPADDR            //获取终端IP

    AT+NMGS=2,0001     //发送上行数据,第1个参数为字节数,第2个参数为上报的业务码流(16进制),1个字节是2个(16进制)码流

    AT+NQMGR               //接收下行数据(查看收到的下行数据的数量)

    AT+NMGR                 //读取最开始的一条数据


    每条命令的意义已标注在后面,还一些需要注意的事项

        a)有一些命令要在关机状态下设置才能生效(关机状态下设置好,后面再开机就生效了),如设置平台IP和端口的命令

        b)频段和APN的配置跟运营商有关,不同的运营商提供的频段和APN不一样,请直接咨询运营商

        c)AT命令分业界通用命令及自定义命令两种。上述以C开头的命令如AT+CFUN是数字蜂窝扩展相关的命令,一般是通用的命令;以N开头的命令是模组厂商自定义的命令。别的模组厂商可能使用的不是相同的命令,但一般会有类似的AT命令来实现相应的功能

        d)同一个厂商的模组也可能有多种,适用的AT命令也不一样,所以AT命令的使用最好直接咨询模组厂商

        e)AT+NMGS是发送CoAP协议的消息,有的模组同时支持CoAP和LWM2M协议,但使用的命令不一样,更多移远模组的AT命令手册可以到移远官网下载。下载地址https://www.quectel.com/cn/support/downloadb/word.htm


设备绑定上报数据问题定界

如果使用的环境是测试环境,设备绑定失败、设备重启后上线失败 或者 数据上报没成功,都可以使用以下方法先进行定界,然后找到相应的人帮忙定位

这个方法说出来很简单,就是看平台设备日志消息跟踪


1、如果所在的测试环境有开发者portal,可以打开 我的设备-》点击相应设备进入设备详情-》切到设备日志页签-》点击启动按钮(如果有历史日志注意要先清理一下日志)-》重复上一节介绍的AT命令进行设备上线测试-》等几秒种后查看设备日志(注意这时候不要在北向对设备进行任何操作),如果日志出现,说明设备数据到了平台,有问题可以找平台接口人帮忙定位;如果日志出现,说明设备数据没到平台,得找运营商帮忙看一下消息到哪了


2、如果所在的测试环境没有开发者portal,也可以在sp portal上查看消息跟踪。打开设备管理-》选择对应应用-》设备-》进入设备列表点击相应设备进入设备详情-》切到消息跟踪页签-》点击启动按钮(如果有历史日志注意要先清理一下日志)-》重复上一节介绍的AT命令进行设备上线测试-》等几秒种后查看设备日志(注意这时候不要在北向对设备进行任何操作),如果日志出现,说明设备数据到了平台,有问题可以找平台接口人帮忙定位;如果日志出现,说明设备数据没到平台,得找运营商帮忙看一下消息到哪了


注意事项:

1、一定要确认查看的平台设备与真实设备的IMEI是一样的。

2、如果消息没到平台,且使用的是电信物联网卡,可以打400电话(在购买的电信物联网卡上有完整的客服电话号码),有专人帮忙查看消息。

3、如果sp portal没有开通消息跟踪能力怎么办?到应用管理进入应用详情,然后点击编辑,将消息跟踪数据授权开关打开

image.png

举报
分享

分享文章到朋友圈

分享文章到微博

建赟

发帖: 257粉丝: 15

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2018-12-29 09:23:03 沙发 显示全部楼层

学习下

点赞 回复 举报

学长不知道

发帖: 2粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-2-15 17:19:26 板凳 显示全部楼层

版主。我平台这边显示设备已绑定,用NBIOT的终端可以正常数据上报,但是用2G通信终端上报的数据却没收到,是不是开发者版本的平台只能接收NBIOT的终端呀?

点赞 回复 举报

Lily_y

发帖: 76粉丝: 29

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2019-2-20 09:38:13 地板 显示全部楼层

   

学长不知道 发表于 2019-2-15 17:19版主。我平台这边显示设备已绑定,用NBIOT的终端可以正常数据上报,但是用2G通信终端上报的数据却没收到, ...

目前平台南向设备对接支持的协议有CoAP/LWM2M和MQTT,且设备登录都是要鉴权的,2G通信终端上报的数据是什么样的呢?

2G通信终端如果不使用已有模组,一般要集成华为LiteOS+AgentTiny(使用LWM2M协议对接平台),指导见https://github.com/Yuheng-P/LiteOS_Lab/blob/master/doc/Huawei_LiteOS_SDK_Developer_Guide_del.md,源码https://github.com/LiteOS/LiteOS,集成完成后直接调用接口就能对接平台。

点赞1 回复 举报

不甘堕落的...

发帖: 0粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-3-4 18:40:05 5# 显示全部楼层

版主  我通过串口助手发送AT指令用BC35模组向华为IOT平台发送数据   但是总是提示这个错误+CME ERROR: 523  ,这种情况有可能是我哪里操作错误了吗  这个错误代码是什么意思?

点赞 回复 举报

godblessjs

发帖: 0粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-3-22 09:10:16 6# 显示全部楼层

请问对接平台的IP是多少?

点赞 回复 举报

Dark_Sky

发帖: 86粉丝: 21

级别 : 注册会员

Rank: 2

发消息 + 关注

发表于2019-3-26 14:23:03 7# 显示全部楼层
godblessjs 发表于 2019-3-22 09:10 请问对接平台的IP是多少?

https://bbs.huaweicloud.com/forum/thread-11864-1-1.html 这个帖子上有对接信息

点赞 回复 举报

小南ai华为...

发帖: 0粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-5-7 16:06:11 8# 显示全部楼层

image.png

0001,在NB消息中算4字节,还是2字节?

点赞 回复 举报

小南ai华为

发帖: 0粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-5-9 08:46:54 10# 显示全部楼层

image.png

NB的消息包长度最大为512,指的是上面AT指令2的位置最大长度是512,还是0001位置,所有ASCII码的最大长度是512?

点赞 回复 举报

Lily_y

发帖: 76粉丝: 29

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2019-5-9 11:57:30 11# 显示全部楼层

   

小南ai华为 发表于 2019-5-9 08:46NB的消息包长度最大为512,指的是上面AT指令2的位置最大长度是512,还是0001位置,所有ASCII码的最大长度是 ...

512应该是指的512字节,现在模组用的是16进制码流,一个字节是2个16进制码流,也就是说给的例子中0001是2个字节。

如果模组支持的NB的消息长度最大为512,那AT命令可以是这样:AT+NMGS=512,0001...000F ,此处省略(512*2-8)个码流 :)

一个字节是2个16进制码流是怎么算出来的呢?请听下回分解



=================下回分解分割线====================

一个字节(byte)是8个比特(bit)位,如10001000(bit),这是2进制的,根据2进制转16进制之间的关系,4个比特位可以转成一个16进制数:

10001000(bit)==> 88

11111111(bit)==> FF


点赞 回复 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册