NB-Iot烟感07:NB-IOT 无线通讯程序开发

一、搭建程序的开发环境:

NB-Iot 无线通讯板我们选择的主控芯片是 我们选择的是华大半导体的HC32F005C6PA, 这个芯片是基于M0的32位低功耗单片机。

开发环境我们选择的是Keil MDK, 这个非常通用,在这里我就不给大家介绍了。

二、准备工作:

NB-Iot通讯的主要功能是为了将烟感的数据上次到云平台。 

目前的NB-Iot 的云平台主要中国移动的OneNet 和中国电信cwing。今天华维单片机编程主要给大家介绍一下BC26和OneNet平台的通讯。

为什么不选择中国电信平台? 中国电信也是可以的,只不过中国电信平台需要企业注册认证才可以注册账号,有点麻烦。

1.我们首先要注册一个OneNet 账号,OneNet个体就可以注册。

打开网页,大家在右上脚,注册账号,然后再登陆。

我们登录以后需要新建自己的项目, 注意要选择旧版本。

新建项目如下,可以根据自己的需求 填写项目名称,选择项目标签。点增加即可。

项目新建完成后如下图所示:

接下来,我们需要添加产品:

添加设备的时候,需要和我们的产品设备对应 ,每个NB-IOT 模块都一个对应的IMEI号。IMSI是设备安装的SIM卡的卡号 也是15位。

以上就是我们平台准备的工作,接下来,我们就开始我们程序的开发

三、产品NB-Iot 通讯指令流程

NB-IOT 是基于运营商的基站通讯的,所有需要准备一张有效的NB-Iot SIM卡。我们选择的是贴片SIM卡,可以直接使用。

我们先研究一下NB-IOT 的初始化过程。(参考BC26软件开发相关资料)

1.NB-Iot的初始化指令:

获取模块的IMEI

指令: AT + CGSN = 1;

OneNet平台注册需要

490154203237511 就是模块的IMEI序号,平台注册要用。

程序处理:

如果串口发送了 AT + CGSN = 1;NB模块没有回复,就需要确定是否模块开机失败?或者模块硬件有故障等。(如果模块没有回复, 需要尝试发送3次,连续3次失败表示他获取失败)

如果获取到了有效值,则执行下一条指令

获取产品SIM卡的IMSI                OneNet平台注册需要

 指令: AT+CIMI

460001357924680 SIM卡的IMSI序号

程序处理:

获取失败: 表示检测SIM卡失败,设备异常,通过提示灯报故障,

获取成功:执行下一条指令

查询信号值

指令: AT+CSQ

从指令可以获取 当前的CSQ值为22,表示为有效值。CSQ的其他取值的含义。

0  -113 dBm 或以下

1  -111 dBm

2~30 -109 至-53 dBm

31 -51 dBm 或以上

程序初始化过程中,我们需要判断CSQ的值 需要大于10,且小于32.才能有效,负责后期会严重影响产品的稳定性,需要提示生产者 产看是否天线没有安装好,或其他问题。

程序处理:

CSQ异常: 表示检测SIM卡失败,设备异常,通过提示灯报故障,

CSQ的值有效:执行下一条指令

注意:CSQ 的值需要系统每隔2秒,连续循环查询20次,等待模块入网。

查询模块网络是否已经注册。

指令: AT+CEREG?

本条指令说明:

+CEREG: 1,1  

第一个1,表示允许上报网络注册状态,如果=0,表示禁止上报网络注册状态 URC

第二个1,表示EPS 注册状态。其他取值说明。

0 未注册,MT 当前未搜索网络

1 已注册,归属网络

2 未注册,但 MT 当前正在尝试附着或搜索网络以进行注册

3 注册被拒绝

4 未知(例如:超出 E-UTRAN 覆盖范围)

5 已注册,漫游状态

程序处理:

发送 AT+CEREG?,模块需要回复+CEREG: 1,1,或+CEREG: 0,1 表示网络已注册。

回复失败:循环等待查询20,间隔2秒。 超时提示故障,需要查询模块的硬件故障

回复成功:   执行下一条指令。

查询 PDP 上下文激活状态

指令:AT+CGATT?

  • 1
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

华维单片机编程

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值