李雪涵
烟台江联智能科技有限公司 山东烟台 264000
摘要:作为一门新兴物联网技术,NB-IoT正广泛应用于环境监测领域。且NB-IoT技术在通信范围广、终端可移动工作、系统功耗低等方面有着明显优势。目前,有多种物联网云平台支持NB-IoT模块工作。物联网云平台不仅功能强大,还可以减少开发人员的工作量,缩短产品的设计周期。基于此,本文就基于NB-IoT技术研究分析了环境温湿度监测系统的设计过程,以期为利用NB-IoT技术进行环境监测提供参考。
关键词:NB-IoT;温湿度;可视化;网络架构
1系统总体方案设计
![](/userUpload/15(6315).png)
本系统由监测终端和物联网云平台两部分组成。其中,监测终端由三个模块构成,分别为微控制器模块、传感器模块和NB-IoT模块(含发射天线)。系统搭配的物联网云平台为中国移动OneNET云平台。系统整体结构如图1所示。
图1系统整体结构
2NB-IoT的网络架构
NB-IoT的典型网络由行业终端+NB-IoT模块、NB-IoT基站、核心网、IoT平台构成,本系统遵循该网络架构。
监测终端负责数据采集和发送,通过空口连接到NB-IoT基站。当终端开机或进入覆盖区域后,通过读取系统消息获得公共陆地移动网络列表并完成注册,最终附网成功。NB-IoT基站汇聚终端上传的数据,并通过S1接口连接到NB-IoT核心网。现有的核心网主要面向人与人之间的通信,与物联网的要求差异很大。NB-IoT核心网由MME,S-GW,P-GW,SCEF四部分组成,其功能是将不同种类的数据分配到不同路径处理。OneNET云平台是PaaS物联网开放平台,能够实现NB终端与平台间的数据上传和下发功能。OneNET云平台采用基于NB-IoT的LWM2M协议和CoAP协议实现NB终端与平台间的通信。LWM2M和CoAP都是NB-IoT的标准协议,可以实现非常全面的室内蜂窝数据连接覆盖[1]。
3系统硬件组成
3.1微控制器模块
本系统选用的微控制器为STM32F1系列单片机,其内核为32位的Cortex-M3,配备的外部高速时钟(HSE)为12MHz。外围电路包括时钟电路、复位电路、电源电路、JTAG下载调试电路[1]。
3.2温湿度传感器模块
本系统选用的温湿度传感器型号为SHT20。模块采用I2C协议与微控制器通信,测量精度由用户编程设置。SHT20所测得的湿度值为国际定义的基于液态水的相对湿度。SHT20温度测量范围为-40~125℃,湿度测量范围为0~100%RH。SHT20模块引脚接线如图2所示。
图2SHT20模块引脚接线图
3.3NB-IoT模块
系统选用的NB-IoT模块为中国移动M5310模组,该模组采用华为海思Hi2110芯片,内置CoAP/LWM2M等协议以及扩展的AT指令。模组工作的上行频率为880~915MHz。模组在使用时需要购买电信运营商的NB流量卡,每张NB流量卡具有唯一的IMSI号,NB-IoT核心网通过IMSI号对监控节点进行识别[2]。NB-IoT模块接线如图3所示。
图3NB-IoT模块引脚接线图
4系统软件设计
4.1SHT20模块编程
SHT20模块程序代码函数:
voidSht_Init(void); //SHT20软件复位
voidSht_Resolution(void);//设置测量分辨率,本系统中温度和湿度的分辨率分别设置为12位和8位
floatT_Result(void); //温度测量函数
floatRH_Result(void); //湿度测量函数
温度测量函数和湿度测量函数均包含启动测量、读取测量结果和计算测量数值三个部分,经计算后,温度的单位为摄氏度,湿度值以百分数形式表示,计算结果均取一位小数。
上述4个函数在运行时需调用已写好的模拟I2C时序函数族和延时函数。模拟I2C时序函数族包括I2C初始化函数、I2C启动、I2C停止、应答信号、非应答信号、发送字节和接收字节共7个函数。延时函数采用SysTick系统定时器实现,可进行微秒级和毫秒级延时。
4.2NB-IoT模块编程
NB-IoT模块的工作过程为单片机通过串口向模块发送AT指令,模块接收指令后执行相应操作。模块正确执行操作后,会通过串口向单片机返回字符串“OK”,否则返回“ERROR”。单条AT指令的发送和模块返回信息的处理流程如图4所示。
NB-IoT模块AT指令发送函数如下:intM5310_Cmd(char*cmd,char*reply){Usart_SendString(USART3,cmd);
//串口未接收到数据,返回0if(struct_usart3.USART_Length==0){return0;}
else{ //串口接收到数据且接收正确,返回1if(strstr((char*)struct_usart3.USART_BUFF,reply)){return1;}
//串口接收到数据且接收为“ERROR”,返回0elseif(strstr((char*)struct_usart3.USART_BUFF,"ERROR")){return0;}
//串口接收到数据且接收为乱码,返回0else{return0;}
}
}
4.3OneNET平台配置
在本系统中,OneNET平台若要实现上传数据的可视化,则需要完成创建监测界面和组件设置。
5实验结果
系统工作时,终端所测得的数据经过一系列传输,最终接入OneNET云平台。由于监测界面的曲线图关联了相应数据流,平台接收到数据后,经过后台处理,上传的监测数据即可在监测曲线图上更新展示。
6结语
综上,基于NB-IoT技术设计的环境温湿度监测系统,在结构上更加简单,成本造价也更低,运行的稳定性及可靠性更好,可适用于起生活及生产的多种场所,具有很好的推广应用价值。
参考文献
[1]郭晓玲, 武仁杰, 张同心. 基于NB-IoT的温度监测系统的设计与实现[J]. 河北北方学院学报(自然科学版), 2018(05):34-37.
[2]何灿隆, 沈明霞, 刘龙申,等. 基于NB-IoT的温室温度智能调控系统设计与实现[J]. 华南农业大学学报, 2018(02):117-124.