【单片机】NB-IoT移远BC28调试笔记
一、入网总体思路
入网思路是参考 《Quectel_BC95&BC35-G&BC28_应用设计指导_V1.1.pdf》来做的。流程如图所示:

二、具体调试细节
3.1 AT+NBAND?
这应该是最关键的一个指令,也最易被忽视的指令。
按照移远的说法,不同的模块硬件类型对应不同的频段。
这个不难理解,就像我们现在的LoRa模块,天线匹配电路都有一个中心频点,不可能一个硬件横跨个几百MHz。所以目前市面上上的NB模块在面对不同运营商网络时,应该会用不同的子型号。

移远的AT命令把NBAND的数值给漏掉了,我用 NB-IoT QNavigator 这软件把 NBAND目前支持的几个数值都试了下,这才搞清楚几个数值。
AT+NBAND=5 850MHz
AT+NBAND=8 900MHz
AT+NBAND=20 800MHz
AT+NBAND=28 // NB-IoT QNavigator 上未展示,猜测应该是700MHz
这样看来,NBAND的数值,倒是和模块硬件子型号一一对应上了。
那现在电信的NB卡比较多,具体应该设置为多少呢?

因此,调试中国电信NB-IoT的话,则应该设置为 AT+NBAND=5。否则模块默认 NBAND=8 ,则无法附着到网络上
三、AT初始化指令


AT+CFUN?
貌似NBAND不对的话,这个指令就会ERROR。 AT+CIMI
查询IMSI号,如果反馈错误,那说明卡没识别到,或者卡有问题。 另外注意,在调试时,如果过快查询也会返回错误。使用 NB-IoT QNavigator 调试时就吃过这个亏,一般上电6秒就执行到这条命,结果立马返回错误了。所以要注意下延时。 AT+CSQ
信号强度,这是物理层的监测。应该是加网检测最基础的一步,如果信号都没有,就不用谈什么加网了。 AT+NUESTATS
模块状态 AT+CGATT?
查询网络附着状态.
移远的工具 NB-IoT QNavigator 就是主要靠这条命令来判断是否附着到网络。是加网的关键一步。 AT+CEREG?
查询注册情况
+CEREG:0,1
加网的第二步,模块得注册上网络。 AT+CSCON?
Query the signal connection status, 1 means “Connected”, 0 means “Idle”. 加网的第三步。 s、总结
NB-IoT的调试难度不大,照着手册操作AT指令就行了。最关键的是基础的频段设置要对。其后是知道加网的几个步骤,知道用什么指令来判断加网成功,那就基本掌握了。
【单片机】NB-IoT移远BC28调试笔记的更多相关文章
- RK3399 4G模块移远EC20移植调试
转载请注明出处:https://www.cnblogs.com/lialong1st/p/11266330.html CPU:RK3399 系统:Android 7.1 1.通过串口打印或者adb获取 ...
- NB-IoT移远BC95使用小结
移远-BC95-测试前准备 1. 设备连接主串口,串口调试助手波特率使用9600,选择对应的端口号.在串口调试助手上输入AT发送,查看是否有OK返回. 如果想修改波特可以通过下面的AT来修改 AT+ ...
- modbus-poll和modbus-slave工具的学习使用——modbus协议功能码3的解析(及欧姆龙温控器调试笔记)
最近的项目中使用到了欧姆龙的温控器,里面有很多的通信方式,我们使用的常见的modbus——RTU方式,其他方式我们不使用,其中通信手册上面有很多通信的实例,欧姆龙modbus还区分4字节模式和2字节模 ...
- 支持移远EC600S的SmartDtu平台,基于QuecPython
前言 本文的主要目的是说明青石SmartDtu到底做了哪些工作?我们在移远硬件平台EC600S上做了哪些支持?为什么说这套平台是硬件开发者的福音?我们的初衷是解放广大硬件开发者的双手,提供一套成熟的嵌 ...
- Tomcat调试笔记
调试笔记 在使用Tomcat过程中经常碰到问题,导致tomcat启动失败.如下↓ 由于报错太过笼统,我根本无法找出错误.后来我切换到Console视图下,看到了如下错误信息. 根据报错信息,错误原因是 ...
- JavaScript特效(调试笔记)
JavaScript特效 一.在网页上显示当前的时间日期,例如:“2016年3月26日 星期六”. js源代码: function getTime() { var today = new Date() ...
- USB wifi调试笔记
本文以realtek 8192CU WiFi模块为例,介绍USB wifi在Jelly Bean 4.1的调试笔记. 1.WIFI打不开现象概述 WiFi打不开是指您在UI的settings下选中Wi ...
- ida动态调试笔记
ida动态调试笔记 目标文件:阿里安全挑战赛的第二题 点击打开链接 使用环境:ida6.8点击打开链接,adt bundle点击打开链接 首先打开avd安卓模拟器,界面如下: 在dos下运行adb命令 ...
- 海思3531添加移远EC20 4g模块(转)
源: 海思3531添加移远EC20 4g模块 Hi3798移植4G模块(移远EC20)
随机推荐
- 玩别人玩剩下的:canvas大雪纷飞
canvas大雪纷飞 前言:正好业务触及到canvas,看完api顺手写个雪花效果,因为之前看到过很多次这个,主要看思路,想象力好的可以慢慢去创作属于自己的canvas效果 思路: 利用画圆arc() ...
- 在TypeScript项目中进行BDD测试
在TypeScript项目中进行BDD测试 什么是BDD? BDD(Behavior-Driven Design)是软件团队的一种工作方式,通过以下方式缩小业务人员和技术人员之间的差距: 鼓励跨角色协 ...
- Python窗口学习之使窗口变得更高清
初学tkinter发现窗口并不像成熟软件那么清楚 在实例化window后加这一行代码 #使窗口更加高清 # 告诉操作系统使用程序自身的dpi适配 ctypes.windll.shcore.SetPro ...
- DWR以及SSH集成DWR
之前只是单独接触了DWR,知道一个基本的开发流程. web.xml配置文件: <!-- 配置Dwr信息 --> <servlet> <servlet-name> ...
- final,finally和finalize的区别
package com.heima.test; public class Test1 { /** * * A:面试题1 * final,finally和finalize的区别 * fina ...
- JavaScript遍历表单元素
运行效果: 源代码: 1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta char ...
- dev分支代码覆盖master分支代码
将develop分支上的代码完全覆盖master分支, 1. 切换到master分支 git checkout master 2. 执行以下命令 git reset --hard origin/dev ...
- @RequestBody和@RequestParam注解以及返回值,ajax相关知识点
关于前后端传递json数据这块查了好多资料,好多地方还是不清楚,先记录一下清楚的地方. 如果我们前端使用ajax发json数据,一般都加上contentType:'application/json;c ...
- Objective-C 基础教程第九章,内存管理
目录 Object-C 基础教程第九章,内存管理 前言: 对象生命周期 引用计数 RetainCount1项目例子 对象所有权 访问方法中的保留和释放 自动释放 所有对象放入池中 自动释放池的销毁时间 ...
- FATAL: using recovery command file "recovery.conf" is not supported
PostgreSQL12 附录 E. 版本说明 将recovery.conf设置移动到postgresql.conf中. (Masao Fujii, Simon Riggs, Abhijit Meno ...