大白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

相关文章

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时

C++快速排序超详细讲解

《C++快速排序超详细讲解》快速排序是一种高效的排序算法,通过分治法将数组划分为两部分,递归排序,直到整个数组有序,通过代码解析和示例,详细解释了快速排序的工作原理和实现过程,需要的朋友可以参考下... 目录一、快速排序原理二、快速排序标准代码三、代码解析四、使用while循环的快速排序1.代码代码1.由快

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase