大白NB-IOT 移远BC28模块模组快速入门 (教您10分钟打通TCP、COAP数据传输)

本文主要是介绍大白NB-IOT 移远BC28模块模组快速入门 (教您10分钟打通TCP、COAP数据传输),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天大白来为大家详细介绍我们的大白BC28评估板的快速入门指南。

文末有彩蛋!!!

                                                                    大白BC28评估板功能示意图

上图为大白的BC28评估板功能示意图,查看详细原理图点击打开链接。

1、USB接口加入了ESD保护,防止静电等脉冲电压打坏评估版,内部有USB转串口芯片;

2、内部稳压器采用低功耗、低噪声低压CMSO线性稳压器SGM2019,它还提供超低压差在便携式电子设备延长电池寿命。

3、USB转双串口芯片,USB口既可以发送AT指令,又可以查看debug串口信息,主串口和debug串口留出串口信息指示灯

4、复位按键用来一键复位BC28模块。

5、SIM卡接口加入ESD保护,防止插卡过程中静电打坏设备。

6、开发板留出了BC28的所有GPIO接口、2个调试串口、I2C接口、SPI接口、BC28复位接口、3.3V和5V电压输出接口、GND接口。

7、背面有单独的SIM卡槽,方便插入SIM卡。

下面分步骤详细介绍怎么使用我们的评估板进行自己的学习开发。

 

第一步:插入NB卡,上电

模块接上天线,插入NB卡(电话卡和普通的物联网卡不能用,必须是NB的物联网卡),如下图。

 

USB口插到电脑USB口,模块即可上电,刚插上电脑时,评估版上电后BC28会启动BOOT程序,主动发送上电安全校验的数据,可以看到大白的串口发送指示灯会闪烁几秒钟。

第二步:查看COM口

把BC26开发板插入电脑的USB接口,在电脑设备管理器中查看COM口,如下图,Standard COM Port(COM74)是BC26的主串口,Enhanced COM Port(COM73)是BC26的debug串口。打开串口调试助手,选择Standard COM Port(COM74)作为AT指令输入的COM口。

 

第三步:设置串口助手

打开串口工具QCOM,软件下载点击打开链接。选择相应的COM口,我的是COM74,BC28模块出厂主串口波特率默认都是9600bps,所以这里波特率选9600,其他选项如下图默认

单击Open Port,开始输入AT指令。

在输入AT指令前,可以按一下复位按钮,随后串口助手接收区域会出现如下数据(同时串口发送指示灯会闪烁提示),表示BC28复位成功。

测试模块是否正常工作:

注意:所有AT指令后都是需要回车的,这样BC28才能识别出指令,所以如下图在Enter左边勾选回车选项,所有命令中不得有中文、中文字符和空格。

如下图输入指令:AT,点击发送后(串口接收指示灯会闪烁),返回OK(串口发送指示灯会闪烁),说明评估板正常工作。

 

本文中所有命令绿色表示发送的指令蓝色表示评估板收到指令后回复的数据。所有AT指令的详细说明可以参考Quectel_BC35-G&BC28_AT_Commands_Manual_V1.1这个文档点击打开链接,进行详细的了解,遇到指令相关问题请先参考这个官方权威的文档,这个官方英文文档还是很容易理解的而且说明的挺详细的。

 

常用AT指令:

 

1、开启UE Error的报告

 

AT+CMEE=1             // Report UE Error

OK

这个命令是开启UE Error的报告,开启后,后面发送指令如果出错,BC28串口会主动返回错误代号。

 

 

具体错误代号需要参考AT指令文档第七节ErrorValues,如下图所示:

 

 

2、设置命令回显

 

ATE1   //Set Command Echo Mode 设置命令回显,就是你发送的指令内容会在串口助手中显示出来

OK

3、查看软件版本号

ATI                       //查看软件版本号

Quectel

BC28

 

 

Revision:BC28JAR01A03

 

4、查看IMEI号(International Mobile station Equipment Identity )产品序列号

    AT+CGSN=1

    +CGSN:867726030047601                                                                                                                                                     OK                                                                               

 

第四步:注网

开机成功后输入以下流程,由于模块默认是自动注网模式,开机模块就会自动进行注网,以下流程只是查询模块状态。

 

1、查看模块是否正常工作:

AT

OK                                  //返回OK,说明模块正常。

 

2、检查SIM卡是否读卡成功:

AT+CIMI                      //检查SIM卡是否读卡成功。

460001357924680    

OK             //返回OK说明SIM卡读取成功,如果出现ERROR请检查SIM是否插好

 

3、查看信号强度:

如下图是AT+CSQ指令的详细介绍。

 

AT+CSQ                 //查看信号强度

+CSQ:99,99             //第一个数为99说明还没有信号,模块在搜信号,第二个数一直是99。

OK

如果没有信号,稍等一会,大概30s也可能更久(就像手机开机时候信号不稳定一样),重新发送命令:

AT+CSQ       //刚上电入网的时候一般获取信号会比较慢,可以不断的发送这个命令,获取当前的信号状态

+CSQ:27,99   //我的信号强度返回27,强度还可以哦。

如果过了一段时间后,第一个数据返回的还是99,请先进行步骤4的操作,切换到其他频段试试。

 

4、切换频段:

4.1查看BC28支持的频段:

 

 

 

 

AT+NBAND=?

+NBAND:(1,3,5,8,20,28)

OK

4.2切换频段:

AT+NBAND=5              //BAND5为电信频段,BAND8为移动联通频段。我的是电信卡。

OK

4.3查看当前所在的频段:

AT+NBAND?               //查看当前所在的频段。

+NBAND:5

OK

4.4再次查看信号强度:

AT+CSQ

+CSQ:26,99                 //CSQ返回26,信号正常。

OK

 

5、查看入网状态:

AT+CGATT?

+CGATT:1                   //返回0为入网失败,返回1为入网成功。

OK

AT+CGATT?返回1就表示入网成功,可以进行下面的业务。

如果入网不成功即AT+CGATT?返回+CGATT:0,则需检查是否有信号。

如果入网成功,但是AT+CESQ指令返回的第一个数依然是99的话,可以先执行指令AT+CFUN=0,再执行指令AT+CFUN=1,然后进行AT+CESQ,应该就可以查询到有效的信号强度了。

第五步:发送和接收TCP数据

1、 Create a socket:

 

AT+NSOCR=STREAM,6,56000,1                  //Create a socket,56000是设备端口,设置范围1-66535

1

OK

2Connect to server

AT+NSOCO=1,123.206.108.227,9099        //Connect to server,这个是大白自己搭建的服务器地址,用于测试网络通信

 

 

OK

3、Send the messages

数据用HEX形式表示:

AT+NSOSD=1,3,010203                            //Send the messages: 0x01 0x02 0x03

1,3

OK

+NSONMI:1,3

PS:如果想发送字符串,比如:“abc”,先将字符串转换成十六进制:0x61 0x62 0x63,再发送。

 

AT+NSOSD=1,3,616263                            //Send the messages:0x61 0x62 0x63

1,3

OK

+NSONMI:1,3

 

4、Read the messages

AT+NSORF=1,3                         //Read the messages,读取到的值是之前发送的数据0x01 0x02 0x03

1,220.180.239.212,8009,3,010203,0

OK

5、Close the socket

AT+NSOCL=1                                                   //Closethe socket

OK

 

 

第六步:接入电信的IOT流程(COAP)

 

按照前几个步骤,确定好是否注网成功,信号强度是多少。如果注网成功,进行以前操作:

小贴士:连接华为的IOT平台之前,需要将模块的IMEI号注册绑定到华为的IOT平台,平台才会接收模块发过来的数据。查看IMEI号指令:AT+CGSN=1

查看注册到服务器信息的状态指令:AT+NMSTATUS?
 

1、设置IOT平台IP和端口号

AT+NCDP=180.101.147.115,5683          //设置IOT平台IP和端口号

OK

2、查询模块注册模式

AT+QREGSWT?                               //查询模块注册模式

+QREGSWT:1

OK

 

 

3、模块启动寄存器注册到IOT平台

AT+QLWSREGIND=0                     //模块启动寄存器注册到IOT平台

OK

4、模块发送NON数据到IOT平台

AT+QLWULDATA=3,313233          //模块发送NON数据到IOT平台

OK

5、模块发送CON数据到IOT平台

AT+QLWULDATAEX=3,313233,0X0100      //模块发送CON数据到IOT平台

OK

+QLWULDATASTATUS:4

6、查询发送CON数据到IOT平台的状态

AT+QLWULDATASTATUS? //查询发送CON数据到IOT平台的状态

+QLWULDATASTATUS:4

OK

/*******************************

需要大白bc28评估板的点击这里

******************************/

加我们扣扣群 345323276 进行技术交流(加群备注:大白nbiot)或者在文章下方留言讨论,大白会及时回复。

 

 

 

 

 

 

 

 

这篇关于大白NB-IOT 移远BC28模块模组快速入门 (教您10分钟打通TCP、COAP数据传输)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/400765

相关文章

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

Python模块导入的几种方法实现

《Python模块导入的几种方法实现》本文主要介绍了Python模块导入的几种方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录一、什么是模块?二、模块导入的基本方法1. 使用import整个模块2.使用from ... i

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停