基于ZigBee 协议的黄桃数据采集系统的研究与实现
2022-03-08胡雯雯王运圣徐识溥吴颖静
胡雯雯,王运圣,徐识溥,刘 勇,吴颖静
(上海市农业科学院农业科技信息研究所,上海数字农业工程与技术研究中心,上海 201403)
无线传感网络采用自组网络,由众多传感器节点组成,实现数据的采集、传输、监测处理等功能,在智慧农业上发挥着重要作用。如杨玮等[1]针对温室农业控制的需要,开发了温室无线智能控制终端,实现了温室环境因子的数据采集和有效控制。于合龙等[2]采用无线传感器自组网络,对设施内环境参数进行采集,利用物联网进行客户端显示。陈晓燕等[3]设计了基于ZigBee 网络的温室节水灌溉系统,可有效实施温室节水控制。谭文静等[4]采用ZigBee 协议搭建无线传感器监测网络,实现了近红外反射光谱的植物群体相对叶绿素含量的准确测量实时监测工作。蔡义华等[5]结合嵌入式处理器开发了无线传感器网络节点和汇聚节点,实现了对信息的动态显示和大容量存储,并测出在小麦不同生长时期最佳天线高度的有效传输距离。
无线传感网络的应用为精细农业无损检测、农业环境数据实时获取提供了理论及实践基础。目前,无线传感网络设备在农业上有很多应用[6-7],但在科研人员采集数据平台上应用较为缺乏。本研究拟开发一套基于ZigBee 协议的黄桃数据采集系统,实现环境数据的实时采集与科研人员试验数据的同步处理,并以案例验证该平台的可行性。
1 系统整体设计
按照ZigBee 网络的特点,本系统由传感器节点、协调器、网关、PC 客户端4 个模块构成[8],如图1所示。
图1 系统总体设计Fig.1 System overall design
传感器节点用于上传当前网络状态,对温度、湿度数据进行收集转发;协调器用于网络组建、维护,控制传感器节点的加入并负责转发数据至网关;网关通过串口接收来自协调器发来的传感器数据,并解析数据,把数据封装成http 格式通过post 方式实现远程发送数据到服务器。PC 客户端面向用户,平台从服务器获取数据并将其可视化显示,为用户决策提供数据支撑。本文主要介绍传感器节点、协调器以及PC客户端的软硬件设计。
2 系统硬件设计
2.1 传感器节点设计
传感器节点的设计主要包括传感器单元、处理器单元、A∕D 单元、射频单元、供电单元以及扩展接口单元[9],节点的硬件总体结构框架如图2 所示。其中传感器模块用于采集温湿数据及A∕D 数模转换,处理器模块和无线射频模块采用CC2431 芯片[10-11],该芯片内部具有模拟数字转换器、定时器等功能[12],控制整个传感器节点操作。
图2 节点硬件总体框架Fig.2 General framework of node hardware
2.2 传感器模块设计
传感器模块设计分为温度传感器设计和湿度传感器设计。如图3 所示,温度传感器采用AD590,它可将温度值转化为正相关电流,温度每增加1 ℃,就会增加1 μA 输出电流,无需辅助电源,可测量范围为-55 ℃至150 ℃。温度显示电路采用A∕D 转换器ICL7107,ICL7107 整机组装方便、噪音小、精度高,是一种集三位半双积分型A∕D 转换器,带有内部模拟开关,可实现自动清零和自动极性显示功能[13]。MC1403是高精度低漂移能隙基准电源,集成运算放大器选取高精度型器件OP07[14]。
图3 温度测量电路图Fig.3 Temperature measurement circuit diagram
湿度传感器采用HS1101 型湿度传感器,该传感器具有监测速度快、高精度、高可靠性、长期稳定、使用方便等特点[15],与NE555 定时器、ADC0809、电阻组成多谐振荡器电路,电路设计如图4 所示,其中ADC0809 为数模转化器。
图4 湿度测量电路图Fig.4 Humidity measurement circuit diagram
其工作循环中充电时间为Ti =0.7(R2+R4)C1,放电时间为T1=0.7R2C1,输出脉冲占空比为Q =。当外界湿度变化时,HS1101 两端电容值随环境湿度的增大而增大,输出变化的定时电路频率,因此只要测出NE555 的输出频率,就可以得到环境湿度值。
3 软件设计
3.1 系统软件体系结构
软件框架设计分为3 个模块:底层节点软件设计、协调器节点软件设计和客户端软件设计,整个系统软件工作流程如图5 所示。
图5 软件工作流程Fig.5 Software workflow
底层节点软件作用是定时间隔上传自己的网络状态,并将温度、湿度数据反馈给协调器。为降低功耗,传感器节点应当每隔一段时间采集温度和湿度数据,传输成功则进入休眠模式,反之,则继续采集数据发送数据,直到成功为止。
协调器作为网络的中心节点,用来初始化网络,且仅有一个ZigBee 协调器。底层软件节点主动扫描逻辑信道,选择适当的PAN 标识符,上层将请求MAC 层对物理层和MAC 层的PIB 属性进行相应的设置[16]。节点被检测到后,它将关联请求命令发送给协调器,协调器在接收到确认帧后立即答复确认帧,指示其已接收到该节点的连接请求,并决定是否允许该节点的连接请求。节点收到来自协调器发出的确认帧后,开始加入与协调器的连接。
软件平台实时显示上传数据,并以曲线图显示,采用ADO 数据访问接口,同时数据存放于SQL Server数据库。该平台用户分为普通用户和管理员,普通用户无需登录,可直接对数据进行处理分析,管理员可通过登录平台,进行数据维护与更新。
3.2 数据结构及通信协议
系统采用两个结构体分别存储环境数据和试验数据。其中传感器采集数据需先转换为ASCII 码后再进行存储与发送。系统的数据传输协议以报文头、结构体、结尾组成,其中为保证数据传输的正确性,每帧数据加上包头、包尾、校验字符[17]。数据帧格式如表1 所示。
表1 数据帧格式Table 1 Data frame format Byte
4 案例与分析
按照以上传感器节点、协调器、网关、PC 客户端4 个部分的软硬件设计,开发出相应的数据采集处理平台(图6)。平台采用C#语言开发,以B∕S 架构实现数据存储与显示。于2017—2019年用案例对平台进行数据处理,验证平台的可行性。
图6 数据采集处理平台Fig.6 Data acquisition and processing platform
4.1 样本准备
试验地点为上海市奉贤区,黄桃采集时间为2017—2019年每年的7—9月份,黄桃采摘时间间隔为一周,按照果实生长成熟进度,每次采摘10—30 个,并分别编号。平台内数据包括环境数据以及试验数据,其中环境数据由黄桃试验地传感器定点上传,数据每5 min 采集一次,采集完一次节点进入休眠状态;试验数据由科研人员对黄桃样本进行测定提供,由管理员在系统内分别导入光谱、糖度、硬度等数据。
4.2 近红外光谱采集
近红外光谱的测量采用便携式光谱仪测量,在测量光谱前,首先对黄桃进行标号,在黄桃赤道处设置3 个点,头部、尾部各1 个点。测试仪在获取数据过程中均在密闭无光源空间进行,首次获取先做白板校正试验,每个黄桃样本采集5 条光谱,导入ViewSpecPro 软件。
4.3 糖度、硬度采集
采集完光谱后,需对黄桃样本进行糖度和硬度测定。糖度检测仪为手持式折光仪,型号为LH-T10,分别挖出黄桃样本测光谱标记处果肉,注入果汁,以反射刻度线记录数据,以每个样品所有标记点的糖度平均值作为该样品的糖度。
硬度检测采用手动式硬度机,在每个黄桃样本赤道处选2 点标记,以压力平均值作为该样品的硬度。图7 为系统内存储的一颗黄桃测得的5 点糖度值,用户可根据时间范围选择对应值。
图7 黄桃糖度采集情况Fig.7 Collection of sugar content of yellow peach
4.4 数据预处理及特征选择
数据预处理采用ViewSpecPro 软件进行处理,计算出黄桃光谱的反射率,其计算公式为:
式中Rγ表示黄桃在波长γ下的反射率,Sγ表示在波长下γ的黄桃光谱强度,Dγ表示在波长γ下的黄桃暗光谱强度,RDγ表示在波长下γ的黄桃参考光谱强度。图8 为2018年8月13日采集光谱为325—1 073 nm 的反射率曲线。将预处理数据导入平台,用于黄桃糖度、硬度模型的建立。
图8 黄桃光谱反射率曲线Fig.8 Spectral reflectance curve of yellow peach
为对光谱数据进行有效波段提取,在特征波长上采用连续投影算法(SPA)。SPA 算法能够消除在原始波段矩阵中冗余的信息,得到最优的特征波长,提高模型的预测准确率。
4.5 数据建模
在获取到最优的特征波长后,建立K-近邻(KNN)分类模型,利用黄桃糖度、硬度、最优特征波长三类特征作为品级分类,数据集中训练集样本为80%,剩余20%为预测集样本,以准确率、召回率作为评价标准。
如图9 所示,当k 设置为6 时,准确率达到93.2%,对黄桃品级分类具有较好的效果。
图9 k值准确率Fig.9 Accuracy of k value
5 结论
通过无线传感网络节点定时收集气象数据,在数据获取上表现出极大的便利性与可靠性,同时该系统提供试验数据导入功能,有效整合气象数据和试验数据并可视化,只需用户根据需求调用数据,方便了科研人员后期数据处理的需要。该系统具有可扩展性,对于气象数据的收集,可增设其他传感器节点,如土壤湿度、土壤温度、光照、空气湿度等,能较好满足科研人员采集各类数据的需求,另外为提高分类精度,可在特征向量选择上增加黄桃的高宽比例、颜色等数据,逐步在后续试验中完善平台功能。