基于NB—IoT的分布式水质测控系统

2018-01-19 11:35盛平蒋磊刘晓梅
软件导刊 2018年10期
关键词:历史数据

盛平 蒋磊 刘晓梅

摘 要:物联网发展迅速,使用范围越来越广。其中,NB-IoT(窄带物联网)以其适用数据量小、无需移动物联网设备等优势受到高度关注。为使水质监控达到高精确度和实时性要求,提出了基于NB-IoT的分布式水质测控系统。该系统使用传感器进行水质监控,通过ZigBee传达给嵌入式网关,经过滤波算法处理后,使用NB-IoT上传给数据服务中心存储;采用手机APP监测水质实时数据,查看水质历史数据轨迹,实现设备远程管理。实验测试表明,系统运行稳定,水质监控精准度高,水质调控准确性和实时性好,提高了效率,减少了人力成本。

关键词:窄带物联网;水质测控;滤波算法;历史数据

DOIDOI:10.11907/rjdk.181157

中图分类号:TP319

文献标识码:A 文章编号:1672-7800(2018)010-0121-04

英文摘要Abstract:With Internet all things developing fast,it goes more and more popular.Narrowband Internet of Things is growing rapidly in 2017 and is suitable for IoT devices that require less data and no movement.In order to achieve high accuracy and real-time monitoring of water quality,Narrowband Internet of Things is used for water quality monitoring.This paper presents a distributed water quality measurement and control system based on Narrowband Internet of Things.The sensor in the system monitors the water quality and is transmitted to the embedded gateway through ZigBee.After processing,the sensor is uploaded to the data service center for storage using the Narrowband Internet of Things.Meanwhile,the mobile APP can not only monitor the real-time data of water quality and the operation of the remote control device,it can also present the history of water quality data tracks in order to achieve remote management of equipment to improve efficiency and reduce labor costs.The experimental tests show that the system is stable,of high water quality monitoring accuracy,water quality control accuracy and real-time goodness.

英文关键词Key Words:narrowband Internet of Things; water quality measurement and control; filtering algorithm; historical data

0 引言

2016年,我国水产品总量达到6 900万吨且还在不断增长[1],水产养殖水质是很重要的指标。传统的水质测控依赖人工经验,布线复杂且传输距离短,数据传输不稳定,存在精度低、对水质调控实时性较差等问题[2]。针对这些问题,刘熙明、王义等[3]提出基于无线网络的水质监控系统,解决了水质监控现场布线难问题;刘星桥、骆波等[4]针对水质数据传输及上传服务器问题,使用WiFi技术;宋良图、胡晓波等[5]提出了基于ZigBee和ARM的水质实时监控系统,使水质监控自动化。上述系统多使用GPRS与外网连接,GPRS功耗较高,在信号差的地方需外接天线,容易造成损坏。另外,上述系统对收集的水质参数没有进行分析处理,采集的数据易出现偏差。

本文提出基于NB-IoT的分布式水质测控系统,使用最新NB-IoT技術代替GPRS,功耗更低、信号覆盖范围更广;使用滤波算法对采集的水质数据进行分析处理,避免因数据出现偏差而导致水质调控延迟,使调控更加精准。另外,将远程控制和分布式无线局域网络技术相结合,实时对水质进行调控,具有省时省力、科学合理、信息精准等优点,应用前景广阔[6]。

本系统移动端主要采用iOS系统的APP客户端。iOS为美国苹果公司独立研发的移动终端操作系统,主要适用于旗下的iPhone和iPad产品,其开发环境是苹果官方提供的唯一开发软件Xcode,本系统中的APP部分使用Xcode9.2版本开发,开发语言选择与之配套的Objective-C,该语言是一种面向对象的动态语言,具有很好的消息传递机制。

1 系统整体设计

本系统将NB-IoT和ZigBee技术相结合,实现对水质的实时监测及远程控制。系统采用模块化、结构化设计方式,充分发挥软件设计中高内聚低耦合设计思想[7],避免不同模块之间的相互影响。整体结构分为应用层、传输层和感知层,如图1所示。感知层包括PH传感器、溶解氧传感器、水温传感器、增氧机、水泵等设备;传输层是链接上层应用和传感器及控制设备的关键枢纽,由嵌入式网关、ZigBee组网和NB-IoT模块组成。ZigBee通过485串口采集传感器测得的水质参数,汇总到嵌入式网关中,经滤波算法处理后,通过NB-IoT模块将其上传至服务器。同时,嵌入式网关获取来自服务器的控制指令,控制增氧机、水泵等设备工作;应用层由iOS移动端、数据库服务器和通信服务器组成。数据库服务器主要负责保存嵌入式网关上传的水质参数,通讯服务器主要负责建立嵌入式网关和iOS移动端桥梁,使其相互通信;iOS移动端通过HTTPS协议连接数据库服务器,调取数据库中的数据进行展示。

2 系统硬件设计

2.1 NB-IoT应用

NB-IoT指窄带物联网(Narrow Band-Internet of Things)技术。2017以前低功耗广域网还没有对应的蜂窝技术,在低功率业务中大多使用GPRS技术支撑 [8]。NB-IoT技术的出现填补了低功率业务区域空白,可满足低功耗、长待机、深覆盖、大容量要求,更适合静态、时延低敏感、非连续移动、实时传输数据的业务场景,比如农业物联网、智慧物流等[9]。NB-IoT支持大规模链接、信号覆盖范围广,在同一带宽条件下可接入更多设备,适合本系统分布式水质监控需求,能配合ZigBee组网使用于大范围水域或多池塘监控。本系统采用龙尚A9500型模组。

2.2 ZigBee节点及供电设计

使用ZigBee组网很好地解决了池塘布线困难问题[10],系统中数据传输和指令传输由ZigBee完成。ZigBee分为中心主ZigBee和子ZigBee两个部分。中心ZigBee连接嵌入式系统,用于接收数据,子ZigBee连接传感器设备,作为数据节点。系统中的ZigBee节点采用星型拓扑形式[11],适用于本系统分布式水质监控,如图2所示。

系统中分布式节点分散在池塘中,传统的布线供电不符合实际情况。因数据节点功耗低,本系统对每个数据节点采用太阳能供电。太阳能控制器具有MPPT功能,能跟踪太阳板的最大功率点,使其在不同环境下以最大功率输出发电[12-13]。在给数据节点供电的同时还能对蓄电池充电,协调数据节点、蓄电池和太阳能板工作。当遇到连续阴雨天气时,蓄电池就可发挥作用,如图3所示。通过太阳能控制器给数据节点供电,使数据节点持续工作,不丢失水质数据。

2.3 嵌入式网关硬件部分

水质监控环境复杂多变,嵌入式模块长时间处于夏季高温与冬季低温环境中,为保证稳定性和可靠性,需采用工业级产品。

系统使用的嵌入式核心控制模块是基于Linux的GT6502嵌入式计算机。CPU处理器ARM926EJ技术成熟、性能好,能保证系统、设备的稳定性。整版设计采用高品质的PCB材料,全工业布线。此外,模块具有抗静电、防反接、过流等多重电源保护,能在露天、野外等恶劣环境中正常运行。ARM板通过连接中心ZigBee获取传感器采集的水质数据,利用NB-IoT模块实现与外网通信。

3 系统软件设计

3.1 水质数据抗干扰设计

水质环境复杂多变,所需测量的溶解氧、PH、水温等数据易受各种因素干扰,导致数据不精准,影响到系统精度及可靠性。为保证系统的可靠性与精准性,在水质测量中加入滤波算法提高系统工作的稳定性。因水质参数变化过程较缓慢,所以采用递推平均滤波算法和限幅滤波算法消除干扰因素[14]。

3.2 嵌入式软件设计

嵌入式网关由NB-IoT模块和嵌入式ARM板等设备组成。网关主要是收集水质数据并上传数据库,完成远程控制。ARM板通过ZigBee无线传感网络获取传感器数据[15],使用HTTP协议将数据上传至数据服务中心,存入mysql中[16]。此模块通过获取通信服务器传达的指令,解析后执行相应操作,控制增氧机、水泵等设备,如图5所示。

(1)监听:接受iOS移动端发送的数据查询、设备控制等指令,作出相应操作后向客户端返回结果。

(2)断线重连:检测嵌入式设备与服务器的长链接情况。若设备连接中断,则重新与服务器建立连接,以保证嵌入式设备一直在线。

(3)定时:使用时钟模块检测与用户设定的设备运作时间是否匹配。若时间匹配,则执行相应操作。

(4)自动控制:每5分钟收集一次数据,经过分析过滤后,与用户设定的自动控制值相比较。若达到要求,则执行相应操作,直到收集的数据不在自动控制范围内,关闭相应操作。

(5)数据上传:每5分钟收集一次数据,经过分析过滤后,上传到数据库服务器存储。

3.3 数据服务中心设计

为发挥软件设计思想中高内聚低耦合优点,系统将数据服务中心按功能模块分为通信服务器和数据库服务器。两个服务器分开独立设计,使数据库服务与通讯服务互不干扰。

通信服务器采用开源的即时通信系统openFire,将其部署在阿里云服务器上,实现客户端与嵌入式网关建立间接通信、保持长链接,相互之間传送控制指令和实时数据信息。还可通过Openfile系统,在PC端或移动端查看设备在线情况与离线时长,方便用户对设备进行管理。

数据库服务器负责保存嵌入式网关上传的所有数据,使用Mysql数据库,适用于小型数据存储,方便易用。使用Java语言编写Web service,将其发布到阿里云服务器的tomcat上,嵌入式网关将采集到的数据通过HTTP协议上传到服务器,保存在Mysql数据库中,以供移动端查看数字或图表类型的实时数据和历史数据。

3.4 移动端软件设计

使用移动端APP的展示、自动控制、定时功能控制数据,方便用户随时随地掌握水质情况。客户端使用XMPP协议连接通信服务器,并通过通信服务器向在线的嵌入式网关发送指令。网关回复当前水质数据信息给客户端,客户端使用AFNetworking框架中的post方法,从数据库服务器中调取溶解氧、PH、水温等历史参数,通过折线图方式将历史数据展示出来;用户设定溶解氧参数下限。当溶解氧参数值低于设定值时,增氧机设备自动开启进行增氧,当溶解氧参数值高于设定值时自动关闭,增氧机或水泵工作时间由用户设定。

4 功能测试与实验分析

4.1 丢包率测试

为验证系统的稳定可靠性,测试NB-IoT的丢包率。系统采用TCP/IP协议,经过3次握手建立连接,减少系统丢包率,保证上传到服务器数据的完整性。3天测试,平均每天由NB-IoT向服务器发送288个数据包,服务器模块每天平均收到286.3个来自NB-IoT的数据包,测试结果平均丢包率不足1%,满足系统稳定性要求。

4.2 实验分析

为验证系统水质测控效果,在江苏镇江一水产养殖实验中心进行了实地测试。图6描述了从2017年9月20日到2017年9月22日共3天的溶解氧数据,当晚间溶解氧下降至低于5.5mg/L时,增氧机自动打开,增氧30分钟后再次检测鱼塘中溶解氧的值。当溶解氧达到6mg/L时,增氧机关闭,当溶解氧仍不足6mg/L时,继续增氧30分钟,如此循环,使鱼塘中溶解氧不低于5.5mg/L,从而满足鱼的生长环境需求。

5 结语

本文构建了基于NB-IoT的水质测控系统。通过对水质的监控保障水产生物的健康生长,提升了水质测控的科学性,减少了水产生物生病带来的损失,推进了水质测控的自动化、智能化,大大减少了劳动力成本;建立了水质测控数据存储平台,使科学养殖有据可依。

参考文献:

[1] 黄建清,王卫星.基于无线传感器网络的水产养殖水质监测系统开发与试验[J].农业工程学报,2013,29(4):183-190.

[2] 刘万学.互联网在水产养殖中的应用[J].黑龙江水产,2016(5):9-11.

[3] 刘熙明,王义.基于分布式无线网络的水质监控系统设计[J].渔业现代化,2017,44(4):50-56.

[4] 刘星桥,骆波.基于物联网和GIS的水产养殖测控系统平台设计[J].渔业现代化,2016,43(6):16-20.

[5] 宋良图,胡晓波.基于ZigBee及ARM的渔业养殖水质实时监控系统[J].仪表技术,2014(7):19-22.

[6] 杨宁生,袁永明,孙英泽.物联网技术在我国水产养殖上的应用发展对策[J].中国工程科学,2016(3):57-61.

[7] 郭荣.浅谈软件设计模式中的设计原则[J].信息安全与技术,2014(11):28-30.

[8] 錢小聪.NB-IoT的标准化、技术特点和产业发展[J].信息化研究,2016,42(5):23-26.

[9] 邹玉龙,丁晓进.NB_IoT关键技术及应用前景[J].中兴通讯技术,2017,23(1):43-46.

[10] 陈娜娜,周益明.基于ZigBee和GPRS的水产养殖环境无线监控系统的设计[J].传感器与微系统,2011,10(3):380-387.

[11] 严丽萍,宋凯.基于ZigBee与GPRS的嵌入式水质监测系统设计[J].计算机工程与设计,2011,32(5):1638-1640.

[12] 赵冉,赵志英.一种应用于独立光伏发电系统的复合式DC/DC变换器[J].南昌工程学院学报,2010,29(6):18-20.

[13] 张开生,程盼.基于MPPT的太阳能照明控制器研究[J].陕西科技大学学报,2015(1):160-164.

[14] 李丽华.鸡蛋体温与生产性能参数动态监测关键技术研究及应用[D].保定:河北农业大学,2014.

[15] 王士明,杨维卫.基于ZigBee的大水域水质环境监测系统设计[J].传感器与微系统,2014,33(11):102-105.

[16] 毛静波.计算机软件数据库设计原则探讨[J].电脑知识与技术,2016(8).

(责任编辑:杜能钢)

猜你喜欢
历史数据
继电保护隐性故障辨识技术研究
浅谈我国通货膨胀成因
基于故障历史数据和BP神经网络的接地选线方案研究
基于历史数据常规公交调度模式探析
基于大数据的数字图书馆流量预测算法
?基于优良操作的打叶复烤过程含水率稳定管控研究?
用好细节材料 提高课堂实效