基于ZigBee的奶牛体征监测系统设计与实现

2018-08-10 10:58杨宇阗奕何东健
农机化研究 2018年9期
关键词:包率串口体征

杨宇阗奕,何东健,刘 畅,刘 聪

(西北农林科技大学 机械与电子工程学院,陕西 杨凌 712100)

0 引言

在传统奶牛饲养过程中,一般通过人力低效率饲养,只能通过饲养员发现和记录奶牛的成长、患病、妊娠和发情等身体特征数据。在畜牧场体量不大时,这种低效率的方式可以满足生产要求。在现代养殖规模化的环境下,奶牛的个体基数巨大,此时如果仍采用低效率的肉眼观察及经验判断的方式无法准确测知具体牛只的个体身体特征数据,如预测预防可能性疾病、估算不同奶牛的发情期及精确地记录奶牛的产奶量等;另一方面,传统人工养殖方法工作强度大、生产效率不高,经常会遇到遗漏和个人经验判断失误的情况,导致做出错误的决策,产生巨大的经济损失[1]。

当前在现代化养殖中,信息采集技术有着越来越广泛的应用,而以往的研究一般只将重点放在奶牛个体体征获取和计算机奶牛体征数据处理上,针对畜牧场环境的数据传输方法优化却不够深入。范国连等采用RFID技术,给每头奶牛以耳标形式安装节点,在日常生产环节中记录牛只的生活数据,建立牛只信息数据库[2],但这种方法需要人工手持设备采集奶牛的生活数据。贾北平等设计了一套软硬件系统,利用STC51单片机将获取的数据上传至计算机[3],而数据传输方法并未针对大型奶牛场进行优化。梁明珅等利用基于以太网控制器设计的Wi-Fi数据传输方法,具有覆盖范围较大、网络传输快捷等优点[4],但这套方案需要购入一定的专业设备,同时Wi-Fi网络铺设的成本较高,无法满足农业生产过程中的低成本、易上手等需求。庞超通过RFID针对奶牛养殖过程每一个环节的数据进行了溯源研究,然而在数据传输过程中设计了较为复杂的路径,降低了网络的实时性,增加了处理负担[5]。针对上述问题,本文以奶牛体温及加速度的远程、实时监测为目标,研究基于ZigBee网络的奶牛体征监测系统,设计低成本、低功耗的传感器节点、协调器节点硬件和易上手的软件系统,并优化网络传输路径以提高工作效率。

1 系统需求分析

在大型养殖场的工作环境下,奶牛除了日常的挤奶、进食等行为外,一般分区活动在面积约为3 200m2的泥土运动场上。

从易安装佩戴、网络传输和检测性能等方面分析,奶牛体征检测系统应满足如下要求:

1)监测节点体积较小,其佩戴不干扰其正常活动。奶牛在场地内四处走动,监测节点的佩戴不能干扰其正常活动,且不会因为奶牛的活动而导致传感器脱落或损坏,故需要考虑尺寸小且易于佩戴的部位和方式。

2)能在室外相对恶劣的工作环境下工作。佩戴在奶牛身上的传感节点,会受到高温、高湿及雨淋等相对恶劣环境影响,故要求传感器节点应具有良好的封装,能适应相对恶劣的工作环境。

3)传感器节点具有足够的传输距离。目标奶牛运动场地长约为80m,宽约为40m。传感器节点在数据链路传输过程中需要具备约80~100m的传输距离。

4)数据传输可靠、丢包率低。网络传输稳定高效,节点之间的数据交互可靠,具体要求信号强度指示(RSSI)大于标准要求的-105dBm,丢包率小于5%。

2 系统整体设计

通过对无线传输技术和畜牧场工作环境的综合考虑,设计奶牛体征采集系统的具体方案如图1所示。该系统主要包括支持ZigBee技术的传感器节点、协调器节点及计算机等硬件和相应的软件系统。根据本系统的实际工作情况,采用簇型网络进行通信[6]。簇型网络对硬件配置要求低,路由算法也较为简单,有利于功率的降低,同时符合养殖场内奶牛生活行为习惯。传感器节点在应用层驱动传感器并获取采集的信息,通过射频模块在网络设定好的信道、传输链路中向其他节点传输数据。协调器节点接收到数据后,数据经由RS232转USB串口电路上传到计算机处理平台,计算机通过串口调试助手软件读取数据并在屏幕上显示,数据以文本形式存储在计算机端。

图1 系统设计方案

本文ZigBee网络选用的控制芯片为德州仪器(Texas Instrument)生产的CC2530,协调器和传感器节点都搭载CC2530芯片以进行数据的处理和传输,具有能量消耗较低、硬件成本较低的特点,是物联网技术很典型的支持硬件[7]。CC2530一般处于休眠状态下,只有在定时唤醒或外部数据中断唤醒是快速工作,完成任务后再次休眠,模式的切换快速,具有较低的时延,特别适用那些电池寿命要求非常长的应用场景。

2.1 协调器节点

协调器节点主要由CC2530无线收发模块、电源模块及RS-232转USB串口电路组成。协调器负责建立及管理网络,将传感器节点采集到的实时数据通过串口上传至计算机处理平台,同时计算机端可以通过协调器节点给传感器节点发送命令。计算机通过USB线与协调器节点相连,并对节点供电,协调器节点的硬件设计方案如图2所示。

图2 协调器节点硬件设计方案

2.2 传感器节点

无线传感器节点的硬件由CC2530模块、数字温度传感器、三轴加速度传感器及其配合电路和电源转换模块构成。其中,CC2530不仅实现ZigBee网络数据的发送,还是控制传感器数据采集的微处理器[8];指示灯用以表明各传感器的工作状态及ZigBee网络的组网状态。传感器节点通过微处理器读取传感器采集的体征数据,利用射频模块选择合适的传输路径将信息传送给协调器节点。传感器节点的硬件设计如图3所示。

图3 无线传感器节点硬件设计方案

2.3 传感器模块

监测奶牛健康的重要体征是体温和运动量,可用于推测奶牛的发情、疾病状态。因此,本文采用美国DALLAS半导体公司生产的数字式传感器DS18B20,可以把监测到的温度转化成数字信号传递给微处理器,同时按照应用环境的不同以编程的方式转换不同的精度值。DS18B20温度传感器的供电范围为3.0~5.5V,本文采用7号10440电池供电,额定电压为3.7V,在统一的电源供应下,配合CC2530的电压需求,采用3.3V供电[9]。传感器的电路设计为,DS18B20的VDD引脚接3.3V电源,总线与CC2530的P0.6口相连,串联一个10K的电阻R1到3.3V电源,最后通过编程驱动即可获取环境内的温度。DS18B20温度传感器的连接如图4所示。

图4 DS18B20温度传感器电路图

奶牛的运动量选用飞思卡尔的MMA8451监测,它是基于微电机系统MEMS(Micro-Electro-Mechanical System)的数字三轴加速度传感器。这款传感器具有封装小型化、能量消耗较低、数据获取准确及灵敏度较高的优点[10],适合作为奶牛运动数据监测的主要元器件。同样,采用3.3V给VDD供电,GND引脚接地,SCL端、SDA端分别与CC2530的P1.6、P1.7口相连,且用4.7K的电阻R1、R2上拉到3.3V电源。INT1、INT2分别直接连接CC2530的P1.0、P0.0口。MMA8451接口与CC2530的连接如图5所示。

图5 三轴加速度传感器信号调理电路图

2.4 CC2530模块

CC2530是各节点的微处理器,控制传感器的采集和节点间的通信。为了实现硬件电路最小化设计并便于损坏元件的便捷更换,采用的CC2530模块将CC2530配合电路单独设计成一个板子,在烧录完程序后即可插放在底板上,以便减小传感器节点的尺寸。CC2530模块的电路原理如图6所示。

1)晶振集成电路:为了计算时间,CC2530运行时需要两个配合的时钟晶体振荡器,两个时钟晶振规格不一样,所提供的功能也不相同。其中,一个是主频为32MHz的系统时钟,在电路中为使用高频交流收发器提供一个速率较高且可靠的时钟源;另一个是主频为32.768kHz的晶振[11],当节点进入休眠状态时,仍然需要进行时间计算,以便在定时模式下及时唤醒。C9和C11为32MHz晶振的两条引线串联的外部有效电容,通过晶振的具体规格确定两个电容的具体值,通过综合计算获得C9和C11为27pF。

2)电源滤波电路:直流电源的供电过程并不稳定,在额定电压值附近会有一定的抖动。为了获得更加平稳的电源供应,需要在供电电路上加入适配的滤波电容来稳定芯片供电针脚的额外信号,这个额外信号是芯片在运行过程中产生的串扰。此时需要在CC2530的各个数字电源针脚即9、38及6个模拟电源针脚即20、23、26、27、30、32外接一个100nF的电容。而这两种针脚之间使用一个100μH的电感进行阻断,同样为了防止两者之间的串扰。

3)接口电路:采用P1为14脚、P2为12脚的小型插头,将CC2530的I/O口、电路供电针脚以及restart针脚引出。这些引出的引脚用于程序的烧写,方便模块的扩展,提供电源供电以及按键复位等功能,通过这种方式增加模块的通用性。同时,CC2530芯片的烧写可以取下在Debugger上完成,编译好后即可插在排针座上使用,优化了传感器节点的空间,使得节点硬件体积进一步缩小。

3 软件设计

3.1 节点软件设计

在设计软件前,首先对协议栈的具体参数进行设定,如波特率、信道、组网方式,节点的休眠、中断唤醒及定时唤醒周期等[12]。协调器的CC2530模块作为网络建立和维护者,移植Z-stack协议栈可以给其赋予网络建立、接受新节点加入请求、授权及鉴定节点、中继并转发传感器节点数据及数据串口上传至PC设备的功能。协调器节点的主要工作过程如下:CC2530被初始化,同时复位Z-stack,中断函数打开准备工作,此时根据设定好的参数建立一个自定义的网络,这个网络可以是单一形态的网络,也可以是多个形态组成的复杂网络。当网络初始化成功后,新节点加入网络的申请会以中断的形式发送给协调器节点,协调器节点处理该信号,并为申请节点分配网络短地址,同时发送响应,表明已经收到申请。若网络任一节点获取了体温、加速度数据,则以中断的形式进入新的任务程序,在子函数的控制下协调器将信息通过USB串口发送给上位机设备。协调器软件流程如图7所示。

图6 CC2530模块电路图

图7 协调器软件工作流程图

将传感器驱动程序移植进协议栈后,传感器节点实现的主要功能:申请并加入由协调器定义的不同形态的网络系统中、通过CC2530的I/O口获取两个传感器寄存器中的监测数据、通过网络层将获取的数据射频发送给附近节点、通过射频串口获取协调器节点经由其他中继节点发送过来的指令等。具体的工作过程:打开开关连通电路后,CC2530被初始化,并复位Z-stack,其次给CC2530的数据接口准备开始工作。同时,传感器节点进行申请加入整个网络系统,协调器应答后授权成功,则可以接受协调器发送过来的节点短地址,用来标注不同节点的身份。传感器节点软件的流程如图8所示。

图8 传感器节点软件工作流程图

3.2 上位机软件设计

本系统通过LabVIEW设计了便于用户操作的上位机软件,调用VISA接口模块来进行数据的读取,实时获取协调器上传的串口数据,从而快速判断奶牛的健康状况。利用VISA节点对RS-232串口通信进行设

置,实现协调器节点与上位机的通信[13]。首先通过VISA Open指令打开上位机与协调器的传输通道,然后在VISA Read的控制下开始读取协调器发送过来的数据并以图表的形式进行显示。调用VISA Write功能可以将输入的数据发送到协调器节点,通过命令来对整个ZigBee网络进行管理。上位机软件同时可以将采集的数据以TXT的形式保存在本地,方便数据库的建立,对每头奶牛的信息进行存档。上位机软件的LabVIEW逻辑图如图9所示。

4 系统测试与分析

在各个节点的CC2530芯片写入各自的程序后,给传感器节点装入电池并打开开关连通电路,指示灯常亮表明工作正常。将协调器节点用USB Dongle线连接至PC打开电路开关,黄灯闪烁表示正在搜索网络,当两种节点都常亮黄灯后组网完成。打开计算机上的串口调试助手软件,根据不同的USB接口查询选择设备管理器中连接的串口,选择最大的波特率即115200,不设置校验位,数据位为8[14]。传感器节点采集并发送数据约耗时1s,待机2s后再次采集数据,连续发送3次数据后进入休眠模式,休眠时长设置为1min。

协调器接收到的各无线传感器节点的帧体温数据和帧加速度数据如图10所示。

为验证畜牧场内节点间通信的丢包率能否满足使用需求,本文部署2个节点在一定距离下进行数据包传输实验,测量实际收取的数据包数量。节点距离分别设置为 1、10、20、30、50、70、80m。实验距离在20m内两个节点无障碍传输,在20~50m距离下,为了模拟牛场环境摆放少量障碍物并间隔一堵墙,丢包率=(发送数据包数-实收数据包数)/发送数据包数。测试数据如表1所示。

图10 上位机软件处理数据

距离/m发送量接收量丢包率/%12002000102001990.5202001981302001971.5502001914.5702001933.5802001924

由测试数据可以看出:在30m的传输距离以下时,丢包率比较低,在1.5%以内;当距离大于30m时,丢包率开始迅速增加,此时环境内出现对信号干扰较大的遮挡物,并且进入了通信链路传输的过渡区,信号的不稳定导致丢包率的增加。节点数据传输在80m的距离下,丢包率也仅为4%,基本可以满足工作需求。

在室外对温度进行测量,用传感器节点的DS18B20数字温度传感器测量并上传的数据与环境实际温度进行对比。测试时传感器每分钟采集3次数据,取平均值计为测量数据,实际温度用手持式测温仪测量DS18B20表面获得,同样的,每分钟采集3次数据,取平均值。计算误差=(测量温度-实际温度)/实际温度,得到结果如表2所示。

节点安装SMA天线,在有3堵墙壁遮挡的情况下,最大传输距离约为30m,而在空旷场地无障碍物时,测试节点通信最大传输距离约为90m。而奶牛运动场地符合上述后者环境,奶牛佩戴节点在场地内自由行走,该通信距离可以满足需求。节点在正常距离的数据传输过程中,丢包率低于5%,信号强度在-75~-33dBm之间,数据测量误差最高为2.63%,最低为0.85%,平均误差为1.75%,可以符合使用需求。本系统实时监测养殖场奶牛体征信息,给管理者提供合理决策和判断提供有力的数据支持。

表2 测量数据与实际温度对比

5 结论

随着科技的不断发展,物联网传输技术将慢慢进入人们的日常生活工作环境,无线通信技术的传输速率不断提高,成本不断降低,在复杂场景对各种环境数据的监测也将越来越准确,势必会给人们生产、工作带来巨大变化。为了实时监测养殖场奶牛体征信息,给管理者提供合理决策和判断提供有力的数据支持,帮助提升农业养殖效率,本文研究了基于ZigBee技术的奶牛体征监测系统设计与实现,对传感器节点和协调器节点的硬件设计、软件设计进行了详细论述,开发了基于ZigBee技术的奶牛体征监测系统,实现了对奶牛体温及运动量等体征信息实时监测。

猜你喜欢
包率串口体征
支持向量机的船舶网络丢包率预测数学模型
一种基于喷泉码的异构网络发包算法*
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
电磁线叠包率控制工艺研究
浅谈AB PLC串口跟RFID传感器的通讯应用
Endoscopic pedicle flap grafting in the treatment of esophageal fistulas: A case report
基于EM9000工控板高性能双串口通信模型设计与实现
IEEE 802.15.4协议无线传感器网络干扰测试∗
船舶电子设备串口数据的软件共享方法
以高热为主诉无明显甲状腺肿大的亚急性甲状腺炎的临床分析