基于龙芯组网的农业环境远程监测系统设计
2018-01-10苟超李强刘文乐
苟超+李强+刘文乐
摘 要:为了实时获取农业生长环境信息,提升农作物生产效益,文中研制了一种基于龙芯处理器与无线网络通信技术相结合的农业环境远程监测系统。组建了基于龙芯1C的终端采集节点、汇聚节点和WiFi网絡,实现了对CO2浓度、空气温湿度、光照强度等农业环境信息的采集和无线传输;设计了基于龙芯3A的数据监测中心,实现了数据储存与人机交互。由监测实验室农业物联网沙盘环境信息实验可知,本系统有效实现了农业环境信息的无线组网监测,为农业物联网环境监测提供了一种新的实现方式。
关键词:龙芯;无线网络通信;WiFi;农业环境监测
中图分类号:TP274 文献标识码:A 文章编号:2095-1302(2017)12-00-04
0 引 言
农业可持续发展是农业建设的重要内容,要实现农业优质、安全、高产的可持续发展,必须借助科学技术对影响农作物生长的环境信息进行实时、智能化监测和管理。影响农作物生长的环境信息包括空间气象信息和土壤环境参数信息,对信息的感知、处理和应用是农业环境监测研究的主要内容[1]。由于农业地形分散、环境信息多变,为多方位、网络化、精准、快速地采集作物生长环境信息带来了诸多困难。
随着物联网技术的迅猛发展,无线传感器网络和无线网络通信技术的出现和应用为解决该问题提供了有效的技术手段。农业环境信息监测系统通过大量传感器协作,实时感知气象、土壤等农业环境信息,经嵌入式系统对信息进行处理后,由无线通信网络将信息传送到监测中心,实现农业环境信息的远程集群化监测[2]。基于ZigBee的无线传感网络监测系统实现了对大众化农业场地环境信息的精准监测;基于嵌入式系统和GPRS通信技术的监测系统实现了对环境信息复杂、地势特殊的农业场所的监测;基于WSN的农田环境采集节点系统,结合嵌入式处理器设计了无线传感网络节点和汇聚节点,实现了对农田信息的动态显示和大容量存储[3-5]。
随着“自主可控”概念的提出,国产龙芯系列CPU相继诞生。龙芯处理器经过多年发展,虽已在国防、航天等信息安全级别较高的领域得到了应用,但在民用领域应用相对较少。为了实现龙芯在农业领域的应用,本文设计了基于龙芯处理器组网的农业环境远程监控系统。该系统适用于对空气温湿度、光照强度、CO2浓度、土壤湿度等环境因子的实时监测,并可将采集到的数据由汇聚节点通过无线传输发送到远端服务器供人机交互。
1 系统总体架构设计
基于龙芯组网的农业环境远程监测系统由信息感知层、网络传输层、应用服务层组成[6],如图1所示。
信息感知层具有采集环境信息、协同处理、信息服务等功能。该层由多个采集节点和一个汇聚节点构成,采集节点完成对农业环境信息的采集,汇聚节点实现数据协同处理和信息服务。
网络传输层用以传递感知层所采集的数据和控制信息,建立信息感知层与应用服务层之间信息交互的桥梁。由于蓝牙、红外传输距离短且功耗大,ZigBee数据传输在多节点情况下组网复杂、传输速度慢,而WiFi具有传输速度快、可实现以太网的无缝连接等优势,若实现WiFi在作物产地全覆盖,可以直接将移动终端设备接入系统,更适合现代农业的发展需求[7]。因此,系统使用WiFi和路由器基站来组建系统网络传输层。应用服务层主要通过接收、储存、分析采集数据,为用户提供特定的服务,该部分由Web服务器、MySQL数据库以及具有特定功能的平台应用软件构成。
2 系统硬件设计
系统硬件是实现对农作物生长环境数据实时精确采集、传输、接收、存储等功能的基石。系统硬件按不同系统层的功能要求分别设计,主要包括环境采集节点和汇聚节点。
2.1 采集节点硬件设计
通过信息感知层获取农作物所处环境参数是最直观的手段,该层是由许多在空间上分布的自动装置组成的一种计算机网络,这些装置通过搭载有多种传感器的采集节点协作监测农业环境信息,因此,采集节点是该部分最基本的单元。采集节点的硬件结构主要由电源模块、主控制模块(CPU、储存器等)、信息采集处理模块(由传感器和数模转换功能模块组成)、无线通信模块构成[8],如图2所示。处理器选择国产芯片Loongson 1C,将传感器与1C外设接口相连,以实现对农业环境的信息感知。系统采用RT5370无线网络模块通过USB接口与主控器龙芯1C互连,组建感知节点无线通信网络,实现与网络传输层和应用服务层的交互。
系统中获取环境因子数值的传感器模块在满足精度的前提下,尽量选取低功耗的复合型传感器。
空气温湿度传感器使用AM2320传感器,该传感器包括一个电容式感湿元件和一个高精度集成测温元件,与一个高性能微处理器相连,具有封装尺寸小、测量精度高等特点。
光照强度传感器选择型号为BH1750FVI的GY-30,它具有宽范围和高分解、低电流关断的特点。
CO2传感器选择具有高灵敏度的MG811电化学传感器,这款传感器生命周期长且可靠性高。
PM2.5/PM10传感器选用激光散射技术研制的SDS011传感器,具有高精度、响应快的特点。
土壤湿度传感器选用LM393比较器研制的YL-69传感器,其感知表面经镀镍处理后,具备强导电性、宽感应性、生命周期长等特点。
2.2 汇聚节点硬件设计
系统汇聚节点是系统组成的重要部分,它将采集节点与监控中心通过无线网络连接起来,使得系统更具完整性。汇聚节点是一个功能强大的终端采集节点,相比于一般终端采集节点,其处理能力和通信能力更强,数据储存能力更大[8]。汇聚节点主要由电源模块、主控制模块、无线网络模块构成。汇聚节点硬件设计结构如图3所示。
在汇聚节点硬件设计中,选择Loongson 1C微处理器,经RS 232汇聚节点可与前端PC通信,通过网络传输将嵌入式系统内核和平台应用软件下载到主控制器中,完成对汇聚节点整体资源的管理和特定功能的实现;网络模块采用具有强大功能的WiFi模块——RTL8188来组建无线网络[9]。该模块核心处理器集成了RTL8196E+RTL8188ER固件,工作频率为2.4GHz,工作信道数为14,支持标准的IEEE802.11n/g/b协议,具有完整的TCP/IP协议栈,支持DHCP服务,无线传输速率可达150 Mb/s。此外,使用以太网模块DM9161组建有线网络,通过无线或有线与路由器站点连接,使汇聚节点具备网络功能,实现与前后端的网络通信。系统的网络传输层由采集端、汇聚端、服务端所组建的网络交互构成。endprint
3 系统软件设计
3.1 系统设备驱动程序设计
系统的采集节点和汇聚节点均采用龙芯1C作为主控器,不支持本系统的部分设备,因此,必须根据设备硬件结构、工作时序、通信方式进行相应设备驱动程序开发。系统设备驱动程序设计包括空气温湿度传感器(AM2320)、光照强度传感器(BH1750)、WiFi模块RTL8188和RT5370的驱动开发。嵌入式Linux驱动主要包括字符设备驱动、块设备驱动、网络设备驱动[10]。根据它们各自的特点可知,AM2320和BH1750设备驱动属于字符设备驱动类,RTL8188和RT5370设备驱动属于网络设备驱动类。系统的整体驱动设计结构如图4所示。
由图4可知,在AM2320和BH1750驱动设计中主要包括驱动模块加载函数、卸载函数和设备文件操作接口设计[10]。加载函数包括对设备的初始化、分配相应的设备号、注册字符设备文件结构体;设备文件操作接口中设计了用于与上层应用程序进行交互的文件操作函数指针,传感器通过对这些函数指针的调用实现与1C主控器的数据交换。RTL8188和RT5370用于驱动不同的字符设备,Linux网络系统基于BSD的Socket机制,提供流控功能和对多协议处理的支持,同时支持对收发数据的缓存[10]。在设计网络驱动时,主要编写了设备驱动功能层的相关函数以填充net_device数据结构的内容,并将net_device注册入内核,实现1C对RTL8188和RT5370的支持。
3.2 采集节点软件设计
采集节点主要完成对空气温湿度、CO2浓度、光照强度、土壤湿度等环境信息的实时采集。在软件设计时,根据传感器的自身结构特点,选择与主控器的最佳通信方式,温湿度传感器和光照强度传感器采用I2C总线协议与主控器通信;PM2.5/PM10采用UART协议与主控器通信;CO2浓度传感器和土壤湿度传感器是模拟量输出型传感器,1C主控器内部提供了4路ADC输入,且满足传感器精度要求,所以均采用1C内部的ADC与主控器通信。对农业环境参数的采集、转换、算法设计如图5所示。
在设计采集应用程序时,为降低系统功率加入休眠和唤醒机制。使用周期性监测工作方式,设定一个监测周期标志,并让这个标志循环自减,当标志大于0时,各采集节点进入休眠状态;当标志为0时,各采集节点被唤醒并等待汇聚节点收集数据;当汇聚节点发出采集命令后,各采集节点进行一次实时数据采集,采集节点主控制模块则根据程序设计的算法,将感知到的环境信息的真实值转化为程序规定值,并将采集到的数据传送至汇聚节点,实现环境信息的精准感知。
3.3 数据传输软件设计
数据传输软件将采集节点采集的环境信息数据上传到汇聚节点,并最终传至龙芯3A监测中心。嵌入式Linux操作系统拥有强大的网络功能,在设计中,采用Linux网络套接字编程和C/S传输模式来实现系统的数据收发。数据交换通过函数Recv()、Send()实现。数据传输软件流程如图6所示。
3.4 监测中心软件设计
監测中心主要完成对采集节点和汇聚节点的远程集中控制、实时环境信息的储存和数据的人机交互。采用龙芯3A主机作为监测中心服务平台,操作系统采用Loongnix,该系统专用于龙芯3A的PC机和服务器。监控中心软件主要由Web云服务器、MySQL数据库、远程控制界面、中间件等组成[11]。其软件设计结构如图7所示。
由图7可知,通过Web云服务和phpMyAdmin完成网页与数据库的连接,进而实现查看数据库中接收到的空气温湿度、光照、CO2浓度等农业环境实时数据或历史数据的功能。鉴于Nginx服务器在负载均衡方面的优越性[12],将其运用到此农业环境监测中心的Web云服务器中,可实现多用户大并发的访问。通过基于Qt界面编程设计出的Loongson-Telent远程控制平台界面软件,运行于监测中心服务器中,可通过固定IP连接到采集节点和汇聚节点,实现对它们的远程控制。
4 系统测试和实验数据
完成对系统的整体设计后,进行系统测试工作。测试时,以实验室农业物联网沙盘中的环境因子为监测对象进行实验。测试中,在沙盘中布置1个采集节点和1个汇聚节点,在06:00-18:00时间段内对沙盘内的环境因子进行监测,每间隔 1 h采集一次环境信息。感知层采集节点接收到采集命令后便实时采集环境信息,数据经汇聚节点处理后,通过实验室路由器经无线网络传输至龙芯3A监控中心并储存到MySQL数据库中,实现对农业沙盘中的空气温度、空气湿度、光照强度、CO2浓度、土壤湿度数据的无线采集、无线传输、远程监控。图8所示为3A监测中心通过Web服务器连接到MySQL数据库对沙盘中环境因子数据进行显示的界面。
5 结 语
本文针对农业环境实时监测的需求,设计了基于龙芯处理器组网的新型农业环境远程监测系统。文中阐述了系统总体构建、硬件设计、外围设备驱动设计以及平台应用软件设计。该系统使用国产龙芯1C处理器作为系统感知层的主控器,实现了对实验室农业物联网沙盘环境信息的采集;使用WiFi技术组建系统无线网络,实现了对所采集数据的无线网络传输;通过搭建在龙芯3A监控中心的Web云服务,连接MySQL数据库,实现了对沙盘农业环境信息的远程监测。因此,本系统采用国产处理器平台有效地实现了农业环境信息的无线组网监测,不仅为农业环境监测系统注入了新鲜血液,也拓展了龙芯处理器的应用领域。
参考文献
[1]何勇,聂鹏程,刘飞.农业物联网与传感仪器研究进展[J].农业机械学报,2013,44(10):216-226.
[2]李谨,郭美荣,高亮亮.农业物联网技术应用及创新发展策略[J].农业工程学报, 2015, 31(S2) :200-209.
[3] Lopez R J A,Soto F,Suardiaz J,et al.Wireless sensornetworks for precision horticulture in SouthernSpain[J]. Computers and Electronics in Agriculture,2009,68(1) : 25-35.
[4] YU Qing Lu. Applications of ARM-Based Remote Monitoring System for Large Scale Poultry Farm[J]. Advanced Materials Research. 2012, 571:589-592.
[5]王战备.基于ZigBee的农田信息监测网络设计[J].国外电子测量技术,2013,32(8):42-45.
[6]李敏.基于物联网技术的农业环境监测系统研究与设计[J].江苏农业科学,2016,44(5):387-391.
[7]杨飞,谢涛,伍英等.基于WiFi的农业物联网温室大棚环境监测系统的设计[J].计算机测量与控制,2017,25(2):50-53.
[8]刘向举,刘丽娜.基于物联网的室内环境监测系统的研究[J].传感器与微系统,2013,32(3):37-39.
[9]孙文华,何荣高.基于SUB接口的无线网卡驱动研究与实现[J].微型机与应用,2015,34(21):9-12.
[10]宋宝华.Linux设备驱动开发详解[M].北京:人民邮电出版社,2008.
[11]徐玲.一种基于物联网的室内环境监测系统研究[J].物联网技术,2016,6(10):32-34.
[12]隗超,张伟,石澜.基于Nginx负载均衡及多线程智慧农业系统的设计[J].物联网技术,2017, 7(4):110-111.endprint