APP下载

基于ARM与Web的养殖场远程监控系统设计

2017-03-06陈光辉王巍琳

软件导刊 2017年1期

陈光辉+王巍琳

摘要摘要:随着时代不断发展,规模化养殖的进程也不断加快,高效的管理机制越来越受到重视。然而,目前养殖场面临自动化程度低、监控系统布线困难,以及费用高等缺陷。针对该现状,提出一种基于ARM+WiFi+Web的一套全方位自动化的养殖场远程监控系统,有效实现养殖场的信息化管理。嵌入式服务层的核心芯片采用STM32,在嵌入式终端搭建Linux操作系统环境,并编写相应的应用程序。用户层可以通过Internet网络远程实时监控养殖场养殖系统。

关键词关键词:远程监控;STM32;WiFi;Web;Linux

DOIDOI:10.11907/rjdk.162295

中图分类号:TP319文献标识码:A文章编号文章编号:16727800(2017)001007802

引言

随着时代不断发展,规模化养殖的进程也随之加快,其逐渐成为主要的养殖方式。这使得养殖户在养殖牲畜时,会更加关心环境监测及调控,还有疫病的预防和控制。但是,以往的人工监测及调控存在很多缺点,比如监测和调控效率低下、经济效益偏低,以及不能及早发现病况,给规模化养殖带来很大阻碍。针对这种现状,目前很多规模化养殖场已采用传感器检测牲畜圈的温度、湿度、光照及有害气体浓度等环境信息,并对其进行实时控制,但存在信息采集实时性差、功能单一等缺点[12];也有采用模拟摄像机进行视频监控,但存在布线难、费用高等缺点。这些方式本质上还是采用人工观察的方式监测牲畜行为,这样做不仅浪费时间和精力,而且人工观察得到的数据带有较强的主观性,不利于精确、稳定、连续地记录[3]。

因此,本文提出了基于ARM+WiFi+Web 的一套全方位自动化的养殖场远程监控系统。在该系统的控制下,通过ARM处理环境和健康数据,采用无线保真(WIreless FIdelity,WiFi)传输技术实现数据远程采集与实时监控[4],客户端通过Web直接远程访问,不需要任何客户端软件。

1系统功能

整个系统由硬件及软件组成。其中,硬件主要由用户端、网络、嵌入式终端(服务器)和控制设备构成(见图1)。用户端主要是通过智能设备(PC、手机等)接入Internet网络,在智能设备的浏览器上将嵌入式服务器IP地址输入即可,之后便可远程监视和控制整个养殖系统的实时情况;网络情况,主要是通过WiFi入网,并通过Internet网传输数据;嵌入式终端(服务器)是本系统的核心部分,主要负责对养殖场设备和环境的数据采集分析处理以及对用户命令的响应;控制设备主要包括传感器模块、风机控制模块和视频监控模块3个模块。传感器模块由各传感器组成(温湿度传感器、NH3传感器等),主要负责采集现场环境数据;风机控制模块(见图2)是通过中央处理芯片(STM32F103ZET6)采集分析数据控制风机的运转状态;视频监控模块,是通过在每个养殖圈放置USB摄像头,然后由嵌入式服务器通过应用程序将视频数据进行读取,最后将JavaScript嵌入到网页上,从而在网页上显示视频数据,这样用户通过网页即可远程监测到每一个养殖圈的具体情形。 软件主要是系统环境搭建,即在Linux操作系统上安装基本服务、编写摄像头驱动、编译U-Boot和内核、制作文件系统[5]。

2硬件设计

嵌入式终端核心控制器采用ST公司的基于ARM CORTEX-M3内核STM32F103ZET6处理器,此外,还扩展了64MB NADA FLASH、64MB的SDRAM、一个USB接口、一个WIRELESS接口。将摄像头连接到USB口采集图像以及通过各传感器采集环境数据,通过与WIRELESS接口连接的WiFi模块将数据发送出去。WiFi模块采用板载ai-thinker公司的ESP8266模块的ATK-ESP8266。系统将WiFi网络和Internet作为通信承载网络,当牲畜排泄出现异常行为时(通过图像处理技术分析生长过程中各状态下出现的异常行为)[6],报警图像通过WiFi网络经Internet发送到客户端。

本文中系统软件设计主要包括搭建Linux+ Boa服务器+Sqlite3数据库环境,Linux下的应用程序开发以及WiFi网络软件设计[7]。

3.1Linux系统移植

首先在STM32F103ZET6开发板上移植嵌入式Linux2.6.38.4内核以及Yaffs文件系统,构建一个基本的ARM+Linux平台[8],再在其上移植Boa服务器[9]。BOA 服务器是一个非常小巧的快速和安全的嵌入式Web服務器[10],能够生成动态页面,用户只需通过Web浏览器就能查看现场的实时情况。数据存储媒介是通过移植Sqlite3数据库获得。

3.2外设驱动编写

底层驱动是在Linux内核下开发出来的,底层驱动有:WiFi驱动、USB摄像头驱动以及串口驱动等,并将相应的API提供给应用程序。在结构体中定义I/O口、外设的初始化及中断等函数,并使驱动程序和系统调用之间相互关联。应用程序调用I/O口函数读取外设中的数据时,最终会调用结构体中的对应函数。

3.3Linux系统下的应用程序开发

应用程序主要有两个功能:①处理WiFi传送过来的数据,将WiFi发送过来的数据进行分析处理,之后存储到数据库中,并作出相应决策,判断是否需要更改风机状态以及是否存在病猪,如果需要,通过向WiFi网络发送对应指令来控制风机作出相应改变或者通过Internet向用户发送报警图像;②对用户的需求进行处理,并编写与之相对应的CGI来回应用户请求,将养殖场的情况通过CGI显示到网页上,同时,用户可通过在浏览器的网页上发送相应指令控制对应设备,从而达到远程监控的目的。

4结语

本文提出了一种基于ARM+WiFi+Web的远程智能化自动监测养殖场的方法。通过嵌入式技术,很好地解决了传统人工检测控制效率低下、经济效益低等问题。通过无线通信技术与Web技术[11],解决了目前监控系统布线难的问题,提供了一种远程监控牲畜、远程监测数据及智能调控的养殖系统。

本研究是一个较好的探索,系统核心硬件仅包含CORTEX-M3处理器、WIRELESS接口、WiFi模块和USB摄像头,在系统上运行的嵌入式Linux操作系统是不收费的,一套产品的费用能够为大众所接受。可以预见,该系统在智能化牲畜养殖业中将会有很广阔的应用前景。

参考文献:

[1]钱东平,王建新,隋美丽.畜禽舍环境温度监控系统模糊控制算法的实[J].农业机械学报,2005,36(12):9598.

[2]马亮,滕光辉,李志忠.嵌入式Web服务器在蛋鸡舍网络环境监测系统中的[J].中国农业大学学报,2006,11(3):8892.

[3]周道雷,席磊,李保明,等.猪的行为特征与饲养方式的改进[J].黑龙江畜牧兽医,2006(10):6364.

[4]张学武,何玉钧.基于WiFi的远程视频传输智能机器人设计[J].电子科技,2013,26(2):46.

[5]王玲,王超峰,郑奎.基于ARM的蛋鸡养殖场网络视频监控系统设计[D].南京:南京农业大学,2011.

[6]朱伟兴,浦雪峰,李新城,等.基于行为监测的疑似病猪自动化识别系统[J].农业工程学报,2010,26(1):188192.

[7]沈洪锐,张晶晶,莫文艳.基于ARM+ZIGBEE+Internet的一体化水产养殖远程监控系统[J].科技风,2015(11):40.

[8]高丽萍,周斌.在嵌入式Linux下OV9650驱动程序的实现[J].软件导刊,2012,11(4):7375.

[9]赵联政,王桂海.基于ARM平台的嵌入式Web服务器设计[J].软件导刊,2015,14(7):1012.

[10]王栋.一种简易Web服务器的设计与实现[J].电子科技,2016,29(1):121123.

[11]张超,仲梁维,陈彩凤.基于Web的车间实时监控管理系统设计与实现[J].电子科技,2015,28(11):120124.