硬件工具:BC95开发板
购买地址
.......................................................................................................................................................................................................................................
软件工具:QCOM
下载地址

使用串口助手测试

1、测试功能

这个时候可以打开串口助手,我们用到的工具是Quetel的QCOM。

然后我们看到COM Port 这个选项框中,有我们刚才看到的1、3。这个是根据不同的电脑可能有不同的选项,具体要选择哪个数值,要和我们第一步中看到的端口一致。波特率(Baudrate)选择9600默认,其他的都默认选项,可以参照上图设置。然后点击Open Port。(如果显示端口已占用,可以拔掉设备重新插一次)

开始进行第一步,我们在Input这栏中,是我们要发送的内容,我们先验证一下:输入  AT

有很多朋友写完AT,点击发送之后,模组没反应,这个时候就要看一下你是否勾选了 Send With Enter,因为模组将换行符作为AT指令的结束帧的,必须要勾选上,或者在输入框内敲入:Ctrl+Enter,点击发送(SendCommand)这个时候在我们的返回框可以看到已经有返回OK,说明我们的模组已正常工作了。

我们可以看到在右侧,有1、2、3、4....28、29这些框,这个是很便捷的一个功能,直接把我们的AT指令输入进去,点击发送后,软件会自动保存我们的输入记录,以便于下次继续使用。下面我们开始进行模组信息检测:

我们先输入“AT+CFUN”,然后选择Enter所对应的勾选框,点击对应的数字1

这个时候看到模组有

——————————

+CFUN:1

 

OK

——————————

返回,如果你返回的是+CFUN:0,这个就是个错误的返回结果了,CFUN的功能是射频开关,我们可以通过AT+CFUN=1来开启模组的射频开关,在B656版本之后,模组上电后默认是开启射频开关的,并不需要认为的设置AT+CFUN=1,如果你查询AT+CFUN?返回的结果是0,先等个几秒钟再查,如果依旧是0的话,就可能是以下几种情况:

1:模组频率设置不正确

2:模组SIM没有正常连接。

至于频率设的相关设置,大家可以点击:BC95频率设置来查看如何设置。如果模组的SIM卡没有识别到的话,那么AT+CFUN?的结果必然是0,这个时候你要检查你的硬件电路是否有问题。

AT+CFUN?返回结果为1的时候,这个时候我们才能进行下一步操作,

No1:首先我们检查一下卡的IMSI

对应AT指令是:AT+CIMI,返回结果为你卡片所对应的IMSI。

2、查询当前信号质量 CSQ

如果没有信号的话,自然是没有办法连入网络,所以这一步我们检查一下我们的开发板是否连入网络。

输入:AT+CSQ,我这里返回结果为+CSQ:16,99。前面这个16就是信号质量,这个取值范围是0-31的一个数值,当这个数位99的时候,就说明没有获取到信号,这个时候我们可能需要多等一会儿,根据不同的地点,所等待时间在1-60s内,如果超过这个时间依旧返回的结果是+CSQ:99,99的话,这个时候就要看一下卡是否是NB卡了,还有就是你的模组固件版本是否在657以下(之前版本没有开启扰码功能,不能成功接入基站)。还有一点,虽然你有很强的信号,但有时候入网入不了,这个时候你就要注意了,很有可能是你所处的环境信噪比太小,建议你换个地方尝试一下。

3、查询当前模组网络注册连接状态

虽然前面一步,我们已经获取到信号CSQ了,但这个时候不代表着已经可以测试这个网络了。因为CSQ仅仅代表着和基站交互没有问题,而我们想要上网,还是需要经过运营商核心网这条路的。入核心网有个很关键的地方,就是你使用的NB SIM卡,必须是NB专用卡,否则你的IMSI没有在核心网登记过,不会允许你进行下一步的。在卡正常的情况下,我们可以通过发送:

AT+CEREG?

这个指令返回的结果,可能有以下几种,这里详细的说一下:

+CEREG:0,0

+CEREG:0,1

+CEREG:0,2

前面一个0,是功能码,如果设置为0,只有我们请求的时候才会返回+CEREG这个结果,设为1,一旦网络状态发生改变的时候,会自动上报URC来通知我们。

后面的0,1,2,当为0的时候,说明网络还未注册,依旧在搜索信号,一般刚开机的时候,发送请求会返回为0,当为1的时候,这个时候表明网络已经注册成功了,可以正常使用了。如果为2的时候,这个是从0到2的转换,再次尝试入网,这个时候就说明网络质量或者线路并不是很流畅,模组在尝试入网。如果一直为2的话,建议重启模组或重启射频CFUN。直至返回结果为+CERGE:0,1。当然后面还有3,4,5等,这些目前都用不到。

4、查询当前模组当前的IP地址

对应AT指令:AT+CGPADDR。这步是多余的,但为什么讲这一步呢,因为很多人把这个IP地址当作寻呼模组的一个IP地址。我们先看一下返回结果

CGPADDR:0,10.162.113.26,从结果上看,10.162.113.26是我们模组的IP地址,这么说没错,但,这个地址并不是公网地址,只是运营商网络给分配的一个内网地址,10段IP一直都是用在内网上的,所以不要想了,即使你有回天之术,也不能在外网通过10段IP访问到模组。所以,虽然COAP支持M2M,但NB模组在IPV6普及之前也无法使用的。

5、PING服务器

对应AT指令:

AT+NPING=X.X.X.X

我个人觉得这步很关键,为什么呢?因为现在电信的NB是定向卡,如果你的服务器IP没有和NB卡进行绑定的话,是没法访问到服务器的,测试卡和服务器是否绑定,只需要发送一个PING命令,如果返回:+NPING:x.x.x.x,115,1042字样字段,说明你可以拿这个服务器测试,如果不行,多试几次,还是不行的话,那就是你的NB卡并没有绑定这个服务器。注意如果你发送完直接就返回+NPINGERR:1,那就说明你的NB卡和服务器真没绑定。

6、创建UDP SocketNSOCR

对应AT指令:AT+NSOCR=DGRAM,17,8888,1。前面两个参数可以忽略,按照这个来写就行,第三个8888是指模组所需要监听的UDP PORT端口,取值范围1-65535当然你也不需要记住,因为一旦通过运营商网络运营商会NAT转发,公网中就不是这个端口了。不过如果你要创建多个socket的话,注意这个参数不能重复。

返回:

0

OK

前面一个0就是socket id号,socket id最多只能创建0~6,也就是7个,如果超过了,就会返回ERROR。这个id号也是我们后面发送数据及接收数据要用的,前期的话我们可以只创建一个试试。

7、发送UDP数据 NSOST

对应指令:AT+NSOST=0,x.x.x.x,60001,2,AB30。前面做那么多铺垫终于到了重头戏了,第一个参数0,就是我们上面创建的socket id返回的id号,我们可以把它称为0号场景。x.x.x.x是我们的服务器IP地址,60001是端口,根据自己服务器开的端口而定,2是我们要发送的数据长度,AB30是我们要发送的数据,因为数据是16进制的,所以就是 0xAB 0x30这两个数据。

返回的结果:0,2  OK,其中0是socket id,2是发送的数据长度,这个时候我们的服务器应该就可以收到我们发送的数据了。

和我们发送的数据一模一样的。

8、接收UDP数据(第一步NSONMI)

这步没有对应的AT指令,当我们通过No7向服务器发送数据后,这个时候运营商为模组和服务器开通了一个短暂通道,模组的地址就是我们接收数据时候的地址,我的这个是:117.61.135.23,端口:40548,这个地址是临时的,正常有效时间不会超过1分钟,所以你最好在30秒内通过这个地址将数据发送给模组,一旦超过这个时间,链路就会失效,你必须再次用模组向服务器发送一个数据,请求新的链路。

我们在UDP调试工具中十六进制输入:010203,点击发送:

此时模组URC上报一个消息:+NSONMI:0,3,这个是告诉我们,socketid为0的场景中收到一个字节长度为3的数据,此时我们并不能查看数据,必须通过下个步骤No9。

9、接收UDP数据(第二步NSORF)

对应AT指令:AT+NSORF=0,3。实际上当我们在No8的步骤中的时候,数据已经到了我们的模组中,但华为为了让大家知晓有多少数据过来,方便开启Ram缓冲,所以分为两步走,这一步的作用就是把数据从模组中取出来。第一个参数0代表着socket id,用来识别内容来自哪个id的,第一给3是长度,当然,你也可以大于3,只要不小于No8得到的长度。在下个数据或重启之前,都是可以取出这个数据的,和时间没有关系。发送AT+NSORF=0,3,返回:0,x.x.x.x,60001,3,010203,0,这就好理解了,x.x.x.x是服务器地址,60001是我开启的端口,3是收到的数据长度,010203是我刚才从服务器发送的十六进制数据。最后一个0是还没有读取的数据长度,因为我这里读取的是3,把所有的数据读完了,所以显示为0.

好了,9个步骤,很安全的把NB-IoT 的UDP演示一遍,如果做产品的话,其中一些可以省略。

【第二章】NB-IoT模组BC95入网测试相关推荐

  1. NB-IOT模组SIM7020供电测试

    使用KEYSIGHT N6705C对NB-IOT模组SIM7020供电测试 电路板构造 测试设备及方法 电路板构造 主控器采用STC15W4K32S4,用于控制SIM7020启动及串口通信. 开关机参 ...

  2. 【第六章】STM32单片机+NB-IoT模组BC95采集温湿度数据发到电信平台(下)

    相关信息 设备接入方式:CoAP非加密方式 应用开发 串口助手AT命令对接平台 这部分内容是通过电脑串口调试软件,手动发AT指令,直接发给NB-IoT模块.NB模块返回的信息,直接到电脑串口调试软件. ...

  3. IoT模组使用笔记(二):EC21、EC200指令流程、设置休眠、升级模组、切换运营商等

    五.EC20.BC20等模组指令和问题 5.1 EC20 5.1.1 注册网络失败. 5.1.2 TCP连接指令流程: 5.2 BC20 5.2.1 上电指令流程 5.3 EC21-KL 5.3.1 ...

  4. NBIOT模组BC95功耗控制的问题

    对于选择NBIOT的应用,相信功耗控制才是最核心的问题,针对该问题谈谈看法. 首先,收集网络上一些比较有价值的信息给大家参考,然后再结合项目实际情况写写自己的经验. 网络资源如下: (1)移远-BC9 ...

  5. 【第一章】浅谈NB-IoT技术及介绍NB-IoT模组BC95的特点

    NB-IoT 窄带物联网(Narrow Band Internet of Things, NB-IoT)成为万物互联网络的一个重要分支.NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,可直接 ...

  6. 华为云IoT智慧物流案例04 | 4G网卡拨号(广和通L610-CAT.1模组)与北斗定位模组(中科微电子)数据解析

    华为云IoT智慧物流案例04 | 4G网卡拨号(广和通L610-CAT.1模组)与北斗定位模组(中科微电子)数据解析 回顾 第一章 广和通L610-CAT.1模组调测和拨号脚本编写并验证网络 第二章 ...

  7. m5310模组数据上传至onenet_硬核干货!基于M5310-A的NB-IoT水表通信模块软件业务逻辑分享...

    根据不同的应用场景需求,目前NB-IoT水表主要有以下几种方案: 图1 几种常见NB水表方案 接下来将从NB-IoT水表上电开机.模组初始化.入网判断.业务逻辑四个环节来详细讲述,以下业务流程仅供参考 ...

  8. 全球80家无线通信模组企业汇总及介绍

    通信模组是将芯片.存储器.功放器件等集合在一块线路板上,并提供标准接口的功能模组.通信模组包括蜂窝通信模组(2/3/4/5G/NB-IoT等)和非蜂窝类通信模组(WiFi.蓝牙.LoRa等).每一个联 ...

  9. mqtt 串口_移柯L620模组使用MQTT协议连接移动OneNet云平台

    点击上方蓝色字体,关注我们 1 硬件基础 最近调测移柯L620 NB-IoT模组, 特申请调测L620开发板(L620_ EVB),其专门为评估和测试L620模块而设计的,用于帮助开发人员进行开发.调 ...

最新文章

  1. 线程类中如何调用service_你真的了解Java多线程吗?
  2. iOS 动画系列之动画解释
  3. 什么是透传通道?(透明传输通道,就是当中继使)
  4. MATLAB图像处理基础
  5. MySQL的四种事务隔离级别实践
  6. 问题:使用pandas中的DataFrame写入csv文件多出一行unnamed,如何解决呢??
  7. L1-001. Hello World-PAT团体程序设计天梯赛GPLT
  8. 学习AngularJs:Directive指令用法
  9. LeetCode 227. 基本计算器 II 【c++/java详细题解】
  10. rsync+crontab实现定时备份
  11. LAN9220 MII并行接口 PHY设备
  12. 安装 kafka 配置 sasl 认证
  13. 用utraISO刻录windows10系统并用U盘安装,用easyBCD安装ubuntu18.04
  14. 批处理命令更改Windows鼠标滑轮滚动方向
  15. python输出字母金字塔a bb ccc dddd_《程序设计基础》题库(50道)
  16. SolidPlant材料清单
  17. Python抓取基金公开信息,从此选基金不再盲目
  18. js判断时间是否为早上,中午,下午,晚上
  19. 怎么把照片改成一寸照?教你把照片改成一寸照的方法
  20. 三星认为 LG 零售店销售苹果 iPhone 违约:也应该销售 Galaxy 手机

热门文章

  1. 张启发院士给他的博士生的一封信(转载)
  2. 转《胡侃学习(理论)计算机》的心得
  3. 深入Flutter(四) Infinite scrolling -- 无限滚动
  4. 超级服务器防熊系统教程,关于服务器防熊办法
  5. 已购买阿里云CDN流量包仍旧扣费的原因及解决方法
  6. 致此刻选专业发愁的你 | 从学技术到做CEO:电子信息类专业在大学时期的正确打怪升级路径
  7. 自己做量化交易软件(20)通达信公式选股程序的实现
  8. java开发外包是什么意思,一文全懂
  9. BAT疯狂抢人, AI应届博士生年薪201万, 网友: 转行来得及吗???
  10. MATLAB 求解积分上、下限含有未知数的方程