基于LoRa无线传感网络的群养奶牛个体信息监测系统的设计与实现

2023-12-09 02:55熊强强齐志艺曾美琳2
电子设计工程 2023年23期
关键词:子程序奶牛终端

熊强强,齐志艺,曾美琳2,

(1.南昌理工学院,江西 南昌 330044;2.江西工业贸易职业技术学院,江西南昌 330038;3.南昌蛋讯电子科技有限公司,江西南昌 330029)

我国科学技术水平持续提升,传统农业应当积极引入科技实现智慧农业改革,尤其是养殖业,正处于重要改革和发展时期。原本不超过千头的奶牛和肉牛养殖场是以粗放经营模式为主,具有信息技术水平低和管理水平滞后等问题,导致无法显著提升饲养效果,同时也难以控制较高的人工成本。对此,基于云计算、大数据和物联网等技术,完成以LoRa无线传感网络为基础的群养奶牛个体信息监控系统的研发与实现,使中小规模奶牛养殖场的奶牛管理信息化水平得以提升。

1 总体设计方案

系统运行之后,首先利用RFID 电子耳标辨别奶牛身份[1-3],然后对奶牛的体温、心率以及运动状态信息进行采集,接着利用LoRa 无线传感网络向汇聚节点传输这些个体信息,汇聚节点成功接收信息后对其进行分析和处理,再打包成数据帧,利用LoRa 无线传感网络向后端监控平台传递,从而利用PC 端监控群养奶牛个体信息,而移动终端可以根据需要拍照或者录像,并与后端监控平台实时交互信息,使奶牛个体信息得以共享。系统工作原理图如图1所示。

图1 系统工作原理图

2 硬件设计

硬件设计具体包括移动终端、服务器端、监控端、汇聚节点以及监测节点。监测节点包含三个传感器,分别用于监测奶牛体温、心率血氧以及运动状态,RFID 电子耳标用于辨别奶牛身份[4-5]。

2.1 监测节点

动物健康情况可通过体温改变来体现,就如同人类一样,低烧高烧就表示身体健康存在异常,养殖奶牛时对于体温的监测也非常重要。MXL90615 传感器被用来完成体温的监测,其主要优势为精度高,测得的最高温与最低温之差高达155 ℃,正常运转过程中最高温与最低温之差是125 ℃,并且具有功耗低、尺寸小和成本低的特征;且响应速度快,动态测量奶牛运动时信息更为便捷。红外信号通过MXL90615向电信号转变,然后进行放大和处理,并保存最终运算结果。

中小型奶牛养殖场空间有限,奶牛总量也不能太多,否则每一头奶牛活动范围也会受限,因此奶牛运动行为都有相应的规律。奶牛运动行为能够反映其健康状态,将运动传感器安装到奶牛的颈部,对其运动行为监测并获取图像,利用去除伪迹算法处理图像,获取奶牛的侧卧、走动和采食等行为。监测奶牛全天运动行为,通过算法比较所有图像,获取奶牛运动位移,进而对加速度等进行计算,最后根据奶牛运动量对奶牛健康状态进行判断。该研发系统中测量运动的传感器选用的是LIS2DH,可实现三轴加速度的测量,低功耗情况下电流只有2 μA,输出频率范围在1 Hz~5.3 kHz,加速度量程为±2g、±4g、±8g、±16g。该传感器的可编程中断共两个,低功耗状态下能够对运动加速度进行检测,并对运动状态进行研究,并使中断唤醒得以实现,从而实现奶牛运动数据的传输。

奶牛体征参数中心率是非常重要的,一般为70~80次/分(犊牛),40~60次/分(2岁牛),60~80次/分(成年奶牛),30~60 次/分(成年公牛)的心率脉搏指标是正常的。如图2 所示为此模块电路原理示意图,光电传感器是其最主要的器件,监测到奶牛脉搏信号后将其转变成光信号,再将其转变为电信号。奶牛体内血管血流量会随着心脏跳动而发生改变,探测器接收光强受到血流量改变的影响,由此能够测量出心率值。此模块对奶牛心率信号采集是通过MAX30100 传感器来实现的[6-9]。

图2 心率信号采集电路

RFID 电子耳标负责对奶牛体重、年龄和编号等信息进行辨别。RFID 器件作为电子耳标的核心元件,其电子读写器选择R200 模块,该模块工作频率在840~960 MHz 范围内可调,读写距离最大能够达到20 m,主要优势在于距离远、尺寸小和功耗低,很好地满足体积小和成本低的要求。

2.2 汇聚节点

汇聚节点硬件由STM32F103ZET6 微控制器、LoRa 数传电路等构成。每隔5 ms 唤醒监测节点,同时打包采集的数据利用LoRa 传输到汇聚节点,成功接收之后对数据进行监测,再利用LoRa 数传向STM32 微控制器传输,完成解析再与上位机进行通信,完成数据帧打包,利用LoRa 数传连接上位机。选择由安信可新推出的LoRa 模块Ra-02 作为核心模块,如图3 所示为LoRa 通信模块实物图[10-13]。

图3 LoRa通信模块实物图

3 软件设计

3.1 主程序设计

主程序流程图如图4 所示。系统首先进行初始化,为系统运行提供保证,接下来利用RFID 电子耳标辨别奶牛个体信息,以保证奶牛参数的正确,然后利用相应的传感器对奶牛的运动状态、血氧、体温以及心率等数据进行采集,再通过LoRa 无线传感网络传输至汇聚节点,汇聚节点获取信息之后,完成相应的处理,具体包括分类、筛选以及压缩等,打包后向监控服务器传递。监控端处理数据并显示相应数据,以移动端需求为依据,将相应的数据发送给移动终端。

图4 主程序流程图

3.2 无线通信子程序

图5 所示为LoRa 无线通信接收数据子程序流程图。此程序运行之后,首先完成接收模块的初始化操作,接下来对接收方式进行判定。若选择单一接收模式,对接收通道前导码不断查询,如果是需要的就对数据进行接收。若选择连续接收方式,则接收数据开始的判定条件:接收的前导码长度与SX1278 芯片RegPreambleMsb 寄存器和RegPreambleLsb 寄存器设置的前导码长度相同[14-15]。

图5 LoRa无线通信接收数据子程序

图6 所示为LoRa 无线通信发送数据子程序流程图。该子程序运行后首先进行包括时钟电路、Flash 闪存电路等的初始化配置,还必须配置载波频率扩频因子、带宽发送功率等通信参数。SX1278发送数据时,首先,需要把奶牛的数据信息写入到SX1278 的FIFO 中;然后,设置RegOpMode 寄存器,以便从休眠模式切换到发送模式;数据发送后,根据该芯片ReglrqFlags 寄存器的TxDone 位数值判断数据发送是否成功。

图6 LoRa无线通信发送数据子程序

3.3 监控台软件设计

群养奶牛监测系统监控台软件的作用是对采集个体信息数据进行保存、查询、处理、研究以及展示。上位机软件通过Visual Studio 开发平台来实现[16-20],软件模块开发是利用C#.Net 的窗体应用程序来完成,上位机功能主要包括设备管理设定、人际交互页面以及查询保存数据等。图7 所示为监控台软件结构图。

图7 监控台软件

3.4 移动终端子程序

手机移动端监控子程序流程图如图8 所示,程序开始运行以后,首先通过输入服务器的IP 和Port,判断是否连接正确,如果正确连接则能够顺利显示监控到的视频信息,相应的操作也能够实现,如果连接未成功则程序返回到最开始重新运行,重新提示需要输入正确的服务器IP 和Port。移动终端的监控共分为照片浏览、视频保存和照片保存三种操作,如果不需要同步观看则退出即可。

图8 手机移动端监控子程序

4 实验结果

系统核心电路板实物图如图9 所示,移动终端示意图如图10 所示。

图9 系统核心电路板实物图

图10 移动终端示意图

因通信功能为该系统的核心功能,为此设计两个测试对系统通信效果进行检测,第一个测试是对后台监控端与监测节点数据通信状况进行测试,测试环境包括检测节点600 个,后台监控主机一台。测试过程:首先,通过波特率为9 600 bit/s 串口将测试数据发送至监测节点,然后,监测节点利用LoRa 无线传感网络(无线收发模块射频中心的频率和发射功率分别为470 MHz 和20 dBm)将这些数据发送至后台监控主机。最终,通过后台监控主机上接收到的数据情况,来测试监测节点与后台监控端传输距离与丢包率之间的关系。测试过程中,每次发送数据包的数量都会是100 个。表1 所示为对应的测试结果。

表1 监控节点至后台监控端通信效果

由表1 中数据可知,传输距离越大丢包量就越多。传输距离不超过2.5 km 的情况下,数据丢包率低于15%。

表2 为测试2,是对移动终端与后台监控端通信性能进行检测。具体测试为利用手机移动终端查看后台监控端所提供的奶牛的视频图像。

表2 移动终端至监控端通信效果

根据表2 可知,当对30 头奶牛的信息数据同步检测与查看时,手机终端丢包率达到8.6%~10.3%,且在查看视频过程中,出现卡顿情况较为严重。

5 结论

群养奶牛个体信息监测系统应用了LoRa 无线通信技术,该技术可实现后台端和监测节点以及移动终端之间的数据通信,确保全方位的监测群养奶牛的个体健康情况。系统能够稳定运行,数据的远距离传输也得以实现,同时具有功耗小的优势,并且组网也非常简单和方便。然而该系统也存在一些不足,如移动终端同时监测多头奶牛的情况下,会导致移动终端对视频的浏览等功能带来较为明显的干扰,同时,整套系统的价格优势相对来说并不是非常突出,未来对于以上问题和不足还会不断改进,同时也会不断完善其他功能。

猜你喜欢
子程序奶牛终端
乍暖还寒时奶牛注意防冻伤
夏季奶牛如何预防热应激
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
奶牛吃草
多功能北斗船载终端的开发应用
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
《奶牛的家》
西门子840D系统JOG模式下PLC调用并执行NC程序