NB-IoT之BC95调试记录



经过一个月左右的努力,BC95终于调试通过了。
>>Enter main loop>>
uart1 recv[20]=


+CSQ:20,99


OK


rssi=20
appJson[]={"M":"update","ID":"863703030454644","SN":"2","V":{"2001":"100","2002":"20","2003":"300","2004":"1","2005":"0"}}
AT


+NSOST=0,61.157.88.83,5678,112,7B224D223A22757064617465222C224944223A22383633373033303330343534363434222C22534E223A2232222C2256


223A7B2232303031223A22313030222C2232303032223A223230222C2232303033223A22333030222C2232303034223A2231222C2232303035223A2230227D7


D
uart1 recv[15]=


0,112


OK


Failed 1 times.
uart1 recv[16]=


+NSONMI:0,65


resp received success!
AT+NSORF=0,200
uart1 recv[165]=




0,61.157.88.83,5678,65,7B224D223A22726573706F6E7365222C224944223A22383633373033303330343534363434222C22534E223A2232222C2256223A


7B2232303035223A2231227D7D,0


OK


BC95 recv app:{"M":"response","ID":"863703030454644","SN":"2","V":{"2005":"1"}}
uart1 recv[20]=


+CSQ:19,99


OK


rssi=19
appJson[]={"M":"update","ID":"863703030454644","SN":"2","V":{"2001":"100","2002":"19","2003":"300","2004":"1","2005":"0"}}
AT


+NSOST=0,61.157.88.83,5678,112,7B224D223A22757064617465222C224944223A22383633373033303330343534363434222C22534E223A2232222C2256


223A7B2232303031223A22313030222C2232303032223A223139222C2232303033223A22333030222C2232303034223A2231222C2232303035223A2230227D7


D
FreeRTOS 7.6.0 for STM32F030
Build date: Aug 13 2017 16:51:02
The current time is :  08:00:00 
start to init BC95 at:28800
uart1 recv[74]=


REBOOTING
樹 ?
REBOOT_CAUSE_APPLICATION_AT
Neul 
OK


ERROR


OK


uart1 recv[6]=


OK


测试BC95初始化时间,包括:复位BC95,设置频段,连接NB网络,激活PDN,获得udp socket。
第一次测试时间:53s。
第二次,sockfd=0
init BC95 end at:28837,cost=37s
第三次复位测试,
sockfd=0
init BC95 end at:28837,cost=37s
BC95_Init. sockfd=0
第四次,也是cost=37s




总结:
1、BC95初始化中,首先应该是一条reboot命令。 char gBc95RebootCmd[]="AT+NRB\r\n";
2、BC95关联PS域很容易失败。char gBc95AttachCmd[]="AT+CGATT=1\r\n";
建议不断拉大时延尝试3次。
3、BC95读/写的内容是16进制编码(ASCII码),比如你要发A3这个数据,就得发4133这两个编码后的数据。
我写了两个小功能的func来转换。
unsigned int Utls_StringToHex(char Str[],char HexStr[])
unsigned int Utls_HexToString(char HexStr[],char outStr[])


中国电信的NB-IoT网络在重点城市都开通了。这个应用场景我比较认同:
公共节能。人来灯亮,人走灯灭。或是天黑灯亮,天亮灯熄。















NB-IoT的中文指令集,基于BC95 657 SP2版本翻译的。 —————————————————————— AT 命令 描述 实现的状态 3GPP Commands (27.007) AT+CGMI 查询制造商 ID B350+ AT+CGMM 查询模块型号 B350+ AT+CGMR 查询固件版本 B350+ AT+CGSN 查询模块序列号 B350+ AT+CEREG 查询网络注册状态 B350+ AT+CSCON 查询信号连接状态 B350+ AT+CLAC 列出可用命令 B350+ AT+CSQ 获取信号强度 B350+ AT+CGPADDR 显示 PDP 地址 B350+ AT+COPS 选择接入的网络 B350+ AT+CGATT PS 连接或分离 B350+ AT+CGACT 激活或停用 PDP 上下文 B657SP1+ AT+CIMI 查询国际移动设备身份码 B350+ AT+CGDCONT 定义一个 PDP 上下文 B350+ AT+CFUN 设置终端功能 B350+ AT+CMEE 报告移动终端错误 B600+ AT+CCLK 返回当前日期和时间 B656+ AT+CPSMS 省电模式设置 B657SP1+ AT+CEDRXS eDRX 设置 B657SP1+ AT+CEER 扩展错误报告 B657SP1+ AT+CEDRXRDP eDRX 阅读动态参数 B657SP1+ AT+CTZR 时区报告 B657SP1+ ETSI Commands(正在开发中) AT+CSMS 选择短消息服务 B657SP1+ AT+CNMA 模块消息提醒 B657SP1+ AT+CSCA 服务中心地址 B657SP1+ AT+CMGS 发送短消息 B657SP1+ AT+CMGC 发送短信命令 B657SP1+ AT+CSODCP 通过控制层发送原始数据 B657SP1+ AT+CRTDCP 通过控制层传送终端数据 B657SP1+ General Commands 通用命令 AT+NMGS 发送消息到 CDP 服务器 B350+ AT+NMGR 接收 CDP 服务器消息 B350+ AT+NNMI 接收消息标志 B350+ AT+NSMI 发送消息的标志 B350+ AT+NQMGR 查询接收到的消息量 B350+ AT+NQMGS 查询发送的消息量 B350+ AT+NMSTATUS 信息注册状态 B657SP1+ AT+NRB 模块重启 B350+ AT+NCDP 配置和查询 CDP 服务器设置 B350+ AT+NUESTATS 获取的操作统计 B350+ AT+NEARFCN 指定搜素频率 B350+ AT+NSOCR 创建 Socket B350+ AT+NSOST 发送数据 B350+ AT+NSOSTF 发送有标记数据 B656+ AT+NSORF 接收命令 B350+ AT+NSOCL 关闭 Socket B350+ +NSONMI 指示 Socket 消息到达(只响应) B350+ AT+NPING 测试 IP 网络连接到远程主机 B350+ AT+NBAND 设置频段 B600+ AT+NLOGLEVEL 设置日志级别 B600+ AT+NCONFIG 配置模块的功能 B650+ AT+NATSPEED 配置 UART 端口波特率 B656+ AT+NCCID 卡片识别 B657SP1+ AT+NFWUPD 通过 UART 更新固件 B657SP1+ AT+NRDCTRL 控制无线配置 B657SP1+ AT+NCHIPINFO 读取系统信息 B657SP1+ Temporary Commands 临时命令
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草根大哥

进军大神程序员路上,谢谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值