APP下载

基于STM32和OneNet云平台的奶牛计步器系统设计*

2022-06-27刘忠超范灵燕

中国农机化学报 2022年7期
关键词:计步器活动量发情

刘忠超,范灵燕

(南阳理工学院智能制造学院,河南南阳,473004)

0 引言

近年来,我国奶牛养殖业在国家产业政策支持下得到了快速的发展,已经从家庭散养户向规模化养殖转变,因此对奶牛养殖的智能化管理需求迫切[1-2]。同时,奶牛发情的及时有效检测能够提高奶牛怀孕率,提高奶牛养殖的经济效益。而奶牛发情时运动量明显增加,接受其他牛爬跨并追逐爬跨其他牛[3],因此活动量是判断奶牛发情的重要依据之一,及时地观察检测奶牛的活动量变化,有助于对奶牛的发情及健康状态做出正确判断[4]。

传统奶牛发情检测一般采用人工观察法,该方法费时费力且劳动强度大,同时人工观测不及时易造成漏检,不能做到对奶牛发情状态的实时监测[5]。近年来,国内外学者研究用计步器实现奶牛发情的自动检测,以色列阿菲金(Afimilk)公司的牧场管理系统通过计步器监测奶牛活动量来判断发情[6]。德国韦斯伐利亚(DairyPlan C21系统)与瑞典利拉伐(ALPRO系统)通过将计步器安装在奶牛腿腕部或佩戴于奶牛颈部,来实时监测上传奶牛活动量信息[7]。国内学者杨勇[8]通过自主研发的奶牛计步器采集奶牛活动量,是国内该领域较早研究的学者。蒋晓新等[9]用计步器对荷斯坦奶牛进行发情鉴定,与人工观察相比发情检出率提高了24.01%。柳平增等[10]基于TI公司MSP430微控制器,设计了计步器来监测奶牛发情。胡剑文等采用振动传感器,基于ARM9设计了奶牛运动量无线采集系统,但系统采用点对多点的星状无线通信方式,通信距离较短,不适用大型的奶牛养殖场。

伴随着物联网、无线通信技术的发展,对奶牛活动量的智能化监测是发展的必然趋势。因此,提出了一种基于STM32和OneNet云平台的奶牛计步器系统,设计了奶牛计步器采集终端,借助LabVIEW开发了奶牛计步器上位机监控系统,实现了对奶牛活动量的实时、快速、准确监测。

1 系统总体设计

为了实现奶牛活动量的无线实时自动监测,奶牛计步器系统主要由五个功能模块组成,即STM32主控器最小系统、活动量检测单元、WIFI无线传输系统、LabVIEW远程上位机监控单元以及OLED现场显示单元。STM32主控器完成活动量数据接收、处理以及OLED现场显示单元的显示控制,活动量检测单元主要由加速度传感器ADXL345完成奶牛活动量的检测。WIFI无线传输系统完成活动量数据的OneNet云平台发送。远程监控单元主要是由基于LabVIEW开发的奶牛计步器上位机监控系统。系统总体设计框架如图1所示。

图1 奶牛计步器系统总体框图

为了避免奶牛活动量监测过程中繁杂的布线问题,系统采用WIFI对计步器系统进行无线组网。WIFI技术覆盖范围广、信号传输稳定且速度快、支持的智能终端种类多,传输距离在10~300 m,在传输距离和速度上能够满足系统设计要求。

2 系统硬件设计

奶牛计步器检测终端主要由主控模块STM32最小系统、ADXL345加速度传感器、ESP8266 WIFI模块、OLED显示单元以及电源模块组成。

2.1 STM32最小系统

奶牛计步器终端控制芯片选择STM32F103C8T6,其工作电压为2~3.6 V,1个16位高级控制定时器,3个16位通用定时器,有2组晶振电路,分别为单片机和RTC提供时钟源。最小系统主要由电源电路、时钟电路、BOOT启动电路、调试下载电路、复位电路组成,设计用到7个引脚用于连接外设,PA0和PA1分别连接OLED显示屏的时钟线和数据线,PA2、PA3以及PB1分别连接WIFI模块的RXD、RST和TXD,PA4和PA5分别连接加速度传感器的时钟线和数据线。STM32F103C8T6单片机与外部接口电路原理图如图2所示。

图2 STM32单片机接口原理图

2.2 OLED显示屏电路设计

为了使操作人员便于现场观察奶牛运动情况,系统采用0.96寸OLED显示屏对奶牛活动量进行就地现场显示。该显示屏具有四个引脚,分别为GND、VCC、SCL、SDA。该显示屏支持的电压范围为3~5.5 V,其中采用IIC通信方式与STM32通信,其中SCL为IIC通信时钟线,SDA为数据线。

2.3 ADXL345加速度传感器

加速度传感器ADXL345是一款超低功耗的3轴加速度计,具有分辨率高、电路结构简单等特点[11],该传感器体积小而轻薄,不会影响奶牛的正常活动,可以满足奶牛养殖环境的使用条件,同时能够满足系统所需的测量范围。

ADXL345工作的通讯方式为IIC协议,只需连接传感器的四个引脚即可工作,分别是SCL时钟线、SDA数据线、3V3和GND,可以方便地与主控器进行通信。

2.4 ESP8266硬件电路设计

在穿戴式电子设计与物联网开发中,ESP8266具有极高的性价比,可以灵活地配置所需的WIFI数据传输方案,通过配置可以获得最低功耗的机器状态[12]。因此系统WIFI模块选用ESP8266-01,ESP8266-01采用串口与主控设备STM32进行通信。

2.5 计步器封装设计

计步器外壳封装借助于Solid Edge 2020软件对奶牛计步器节点进行3D建模,结合PCB的大小以及加速度传感器、电池、OLED屏的位置等因素,制作合适外壳封装,主要由外壳底部和外壳顶部组成。选择无毒、无味、柔软的高密度聚乙烯材料(High density polyethylene,HDPE)来封装传感器[13],对奶牛健康和应激反应影响小。节点终端外壳由3D打印而成,把OLED屏固定至顶部,把焊接好的PCB板固定至底部,连接对应引脚,装好电池以及固定腕带进行计步器封装。

3 系统软件设计

系统软件主要由系统主程序、ADXL345加速度传感器程序、ESP8266与OneNet云平台通信以及LabVIEW计步器上位机监控系统四部分组成,选择Keil uVision5作为系统软件开发平台。

3.1 系统主程序

系统主程序流程图如图3所示。

图3 系统主程序流程图

系统主程序首先对单片机各个引脚功能进行初始化,定义相关的数据变量,在外设模块中调用相应的引脚,随后完成外设模块OLED显示屏、ADXL345和串口的初始化,并对ESP8266-01模块进行配置,开启服务器热点,使WIFI模块连接相应的网络,同时使无线网络接入云平台,直至接入成功,延时设定时间后读取加速度传感器ADXL345数值,对数据进行处理后,将读取到的加速度数据上传至云平台并同时在显示屏显示。

3.2 ADXL345加速度传感器程序设计

为了检测奶牛活动量的大小,只需实时显示当前步数和运动距离。因此在设计计步器硬件电路时,为了最大限度降低系统的整体功耗,提高计步器运行效率,ADXL345加速度采用定时器中断服务函数来检测奶牛的活动情况,减少了三个轴数据检测的工作,在数据处理和数据传输上都得到了较好地优化,提高了处理的速度。ADXL345加速度传感器数据采用IIC的传输模式,首先通过写功能配置完相应的寄存器,完成ADXL345传感器的初始化。初始化配置成功后直接读取当前值,通过读取数据线状态,定义数据缓冲区,存储相应X、Y、Z三轴的数据。然后进行读位操作,读取GPIO引脚,配置引脚的输入输出模式,根据IIC传输时序图,实现加速度数据的有效传输。程序流程如图4所示。

图4 ADXL345加速度处理流程图

3.3 ESP8266与OneNet云平台通信

系统WIFI模块与云平台之间的数据发送采用MQTT协议。WIFI模块要想实现加速度数据的接收并发送到OneNet云平台,需要对其进行相应的配置,首先配置与上传服务器有关的数据中心域名或IP地址、网络数据中心端口、产品ID、鉴权信息、设备ID和网络协议等。然后初始化WIFI模块,发送AT指令配置工作模式,设置串口波特率,清空WIFI模块的数据缓存,将数据通过串口发送至WIFI模块,检查发送的命令,若为0表示命令发送成功,最后将数据发送至云平台,利用WIFI模块连接服务器热点可以得到相应的数据。利用WIFI模块实现上传云平台功能的流程图如图5所示。

图5 WIFI模块实现上传云平台功能流程图

3.4 计步器上位机监控系统开发

系统采用虚拟仪器(VI)领域中最具有代表性的图形化开发平台LabVIEW作为上位机开发软件,LabVIEW封装程度高,基本上不用写程序代码,编写开发程序速度快[14]。根据LabVIEW程序设计的模块化思想,设计了奶牛运动信息上位机监控系统,主要包括用户登录、云平台数据获取、数据显示和监控以及报表等功能模块[15]。

1) 用户登录管理界面。用户登录是数据管理的重要部分,也是监控界面设计的基础,该监控系统须提供满足登录条件的信息,才能进入系统进行操作。在程序VI界面内设置相应的用户名和密码,操作人员输入信息后,首先会判断信息是否正确,当用户名和密码输入无误后可以进入监控主界面。

2) 数据显示及监控界面。LabVIEW上位机监控界面如图6所示,主要功能为显示奶牛运动数据等相关信息。根据设计要求,利用从OneNet云平台获取的奶牛计步运动数据,通过截取字符串控件,提取相关变量。为了界面显示直观具有可读性,上位机监控页面内添加了运动仪表,可以观察仪表盘指针的动态变化,从而将对应奶牛运动数据通过仪表直观显示出来,并通过字符串显示控件显示相应的数据。

图6 奶牛运动信息监控界面

3) 数据存取及报表模块。为了方便用户调出历史数据值进行查阅研究和分析,采用将每次记录的数据以EXCEL形式保存到数据存放文件夹,每个表格对应不同编号的奶牛运动信息[16]。用户运行程序之前需选择事先创建好的EXCEL表格,点击运行,登录用户名和密码之后,会弹出相应的表格并显示最小化。在运行过程中,点击停止按钮,表格会自动保存相应的运动数据。

4 系统测试结果及分析

设计3个计步器节点测试系统运行的稳定性和活动量检测的准确性。为了实时观察奶牛的运动情况,便于分析奶牛运动变化情况,上位机系统添加了实时运动曲线,随着时间的变化,根据曲线的走向可以观察到某个时间段奶牛运动量的变化,可以更好地便于工作人员对奶牛运动变化量进行分析,上位机实时监控曲线如图7所示。

图7 奶牛活动量上位机实时监控曲线

由于奶牛发情状态需要对比分析历史活动量,系统开发了数据记录系统,通过获取历史数据可以清楚地观察到奶牛运动数据的详细变化,每个计步器有对应的编号、当前运动时间以及运动信息等。

对计步器系统检测奶牛运动的准确性进行测试,通过人工观察计数实际运动步数与计步器系统检测步数进行对比,以人工观察实际运动每100步为一次循环测试,共测试5次,试验结果如表1所示。

表1 计步器系统检测准确率

由测试结果可以看出,开发的奶牛计步器系统计步精确度较高,准确率可达97%以上,OneNet云平台端成功接收到ESP8266 WIFI下位机发送的运动数据,数据传输稳定,能够实现对奶牛活动量的实时、远程、无线监测,满足了奶牛活动量及发情检测的需要。

5 结论

1) 基于STM32和OneNet物联网云平台,开发设计了奶牛计步器系统,系统设计结构合理,固定方便,奶牛活动量检测准确率达97%,能够有效提高奶牛活动量检测的便捷性,具有一定的推广应用价值。

2) 基于LabVIEW开发了奶牛计步器上位机监控系统,系统运行稳定,可以实现奶牛活动量的无线、远距离、实时监测,提高了奶牛发情监测的智能化水平,对畜牧领域其他动物的活动量监测也具有一定的参考意义。

猜你喜欢

计步器活动量发情
魔方小区
童年活动量大 运动习惯保持
羊的同期发情技术研究综述
浅谈小学体育教学中的游戏
基于MTK平台的计步器功能软件设计
小学语文课堂无效教学例谈
计步器
手机带你每天走一万步!
影响氯前列烯醇诱导母羊发情效果的主要因素