基于Zigbee/GPRS的杀虫灯监控系统的设计 [PDF全文]
(浙江科技学院 a.机械与汽车工程学院; b.自动化与电气工程学院,杭州 310023)

为实现用户远程对杀虫灯的监控、调整,设计了一种基于Zigbee和GPRS网络通信技术的杀虫灯远程监控系统。介绍该监控系统的网络结构,分别阐述杀虫灯监控电路、通信控制器及其网络服务器等监控系统部件的软硬件设计,并进行系统试验验证。结果 表明:该系统能远程有效监测杀虫灯环境与工作参数,实现了杀虫灯工作状态数据和图像等的采集、存储、上传,蓄电池的自动保护,以及用户远程对杀虫灯的控制和调整。该系统能够加强用户对杀虫灯的管理,提高杀虫灯的工作稳定性和灭虫效果,进而促进农业增产。

Design of insecticidal lamp monitoring system based on Zigbee and GPRS technology
JIN Weia, XIANG Xinjianb
(a.School of Mechanical and Automotive Engineering; b.School of Automation and Electrical Engineering,Zhejiang University of Science and Technology, Hangzhou 310023, Zhejiang, China)

In order to monitor and adjust the insecticidal lamp remotely, a remote monitoring system of insecticidal lamp is proposed on the basis of Zigbee and GPRS technology. This paper introduces the network structure of this monitoring system, then expounds the hardware and software designs of its components which include the insecticidal lamp monitoring circuit, communication controller and its web server, and finally conducts a systematic verification through experiments. The result shows that this system is able to remotely and effectively monitor the operation parameters of the lamp, acquire, store and upload the data of working status and images, protect the battery automatically, and allow the user to control and adjust the lamp remotely. The system can enhance user's management of the insecticidal lamp, improve the stability of the lamp and the efficiency of pest control, and therefore achieve the purpose of increasing agricultural production.

引言

自20世纪50年代以来,杀虫灯作为一种利用害虫成虫趋光性,通过频振式LED光来诱引害虫并利用高压电网对其进行灭杀的物理防治工具,在农、林、渔和养殖业害虫的测报与防控中发挥了重要的作用[1-2]。杀虫灯一般工作在野外,其工作的稳定性和开关机的时机会直接影响其灭虫效果[3]。杀虫灯的工作模式可分为独立式和联网式两种,目前被研究、应用的绝大多数杀虫灯工作模式为独立式[4-9],其开关灯时间由厂家或用户手动设置,用户对其工作稳定性和灭虫效率没有直观的掌控。一旦其太阳能电板、电池被盗或出现故障,用户无法及时知晓,就容易导致杀虫灯停工、农作物遭受损失。另外,用户要根据目标害虫生活习性有针对性地调整杀虫灯的开关时机也非常不便。对于联网式杀虫灯,目前有部分研究介绍了利用Zigbee和GPRS对杀虫灯的工作环境数据进行采集的方案,但大多只是对功能作简单的描述[10-11],而对远程控制较少涉及。因此,非常有必要深入研究太阳能杀虫灯远程监控系统的网络结构、监控部件的软硬件设计,以及远程控制的实现方法。

在现有研究的基础上,为加强杀虫灯的工作稳定性,以及用户对杀虫灯的集约化、高效化精准管理,笔者提出了一种基于Zigbee和GPRS的杀虫灯远程监控系统。该系统在Zigbee无线组网技术和GPRS网络传输技术的基础上增加了电池工作状态监测和文件系统等功能,通过硬件设计和软件开发,实现了杀虫灯装置电池的自动保护,工作状态与数据和图像等的采集、存储、上传,以及用户远程对杀虫灯的监测、控制,从而大大提高了杀虫灯装置工作的稳定性、控制的便利性及其灭虫的效率。

1 监控系统总体结构1.1 监控系统整体网络结构

杀虫灯监控系统设计为三层:杀虫灯装置上的检测电路、传感器和连接杀虫灯装置的Zigbee无线网络组成的数据采集系统; 由通信控制器、GSM网络、互联网和网络服务器等组成的网络通信系统; 由Web服务器和HTML网页组成的监测控制系统。系统的总体框架如图1所示。CC2530为杀虫灯的微控制器,杀虫灯外部连接有LED诱虫灯、高压电网、摄像头、蓄电池、光伏电池及参数采集模块等。杀虫灯和通信控制器安装在现场组成杀虫灯Zigbee无线网络。通信控制器由Zigbee协调节点、微控制器、数据库和GPRS模块组成,它协调Zigbee网络与网络服务器的通信。网络服务器端由Socket服务器接收数据、发送指令,Mysql服务器储存数据,Web服务器传输网页给用户的浏览器以供他们观察数据及操作杀虫灯装置。

图1 杀虫灯监控系统总体框架<br/>Fig.1 Overall framework of insecticidal lamp monitoring system

图1 杀虫灯监控系统总体框架
Fig.1 Overall framework of insecticidal lamp monitoring system

1.2 Zigbee网络结构

Zibgee技术是建立在IEEE802.15.4国际标准上的一种双向无线通讯技术,它具有传输距离较短、能耗较小、成本较低、组网简单等特点[12-13]。杀虫灯工作效果较好的布置方式一般为棋盘式,其中各杀虫灯的安装高度约为2 m,相互间距在100 m左右,这种布局方式在水平方向上的遮蔽物较少,适合无线信号的传输。单个Zigbee全功能设备(full funtion device, FFD)目前最多可支持上百个节点,其传输距离根据发射功率大小可达上百米甚至上千米,由此可见Zigbee无线通讯方式非常适用于杀虫灯装置间的无线组网。

利用CC2530组成MESH(网状)网络,它是一种高可靠性的Ad-Hoc网络,其中具有路由功能的FFD设备之间可以相互连接,FFD设备之间通过自组织及无线路由功能在扩展Zigbee无线网络覆盖范围的同时也大大提高了整个无线网络的可靠性[14]

图2所示,在现场的普通杀虫灯装置为精简功能设备(reduced funtion device, RFD),在每块小区域设置一个杀虫灯装置作为Zigbee路由器(FFD)来组建区域无线网,现场中心地带附近布置一个Zigbee协调节点(Zigbee网关),各路由器间进行无线组网后连接到Zigbee协调节点,组成了底层Zigbee无线网络。无线网络为网络通信层采集各杀虫灯装置的数据或下载其下达的控制指令,构成了现场的数据流通网。

图2 Zigbee Mesh网络拓扑结构图<br/>Fig.2 Network topology of Zigbee Mesh

图2 Zigbee Mesh网络拓扑结构图
Fig.2 Network topology of Zigbee Mesh

2 监控系统硬件设计2.1 杀虫灯监控模块硬件设计

杀虫灯装置的微控制器采用CC2530F256自带的增强型8051单片机,外设方面自带DMA(直接存储器访问)功能、12位ADC(模/数转换器)、看门狗、定时器及UART(通用异步接收/发送装置)等,其外围电路见图3

图3 CC2530外围电路<br/>Fig.3 Peripheral circuit of CC2530 chip

图3 CC2530外围电路
Fig.3 Peripheral circuit of CC2530 chip

为了实现对杀虫灯装置工作状态及参数的实时监控,杀虫灯装置上配置了相应的数据采集、图像采集、无线通信、自动控制等模块。利用监测电路(图3)采集蓄电池工作信息,DHT11采集空气温湿度信息,DS1302获取时间(SPI总线),CA025C串口摄像头采集图像(RX_2、TX_2),W25Q128芯片储存数据。

2.1.1 工作电压电流监测及蓄电池保护电路

电池监测保护电路用于采集杀虫灯蓄电池充放电电流电压,以阻止杀虫灯蓄电池的过充过放,保护杀虫灯。其具体电路如图4所示,R1、R2组成分压电路用于电压测量,R3、R4作为采样电阻分别对蓄电池充放电电流进行采样,测得信号经过电压跟随并放大后输入到CC2530的AD引脚,处理后得到实时充电或放电的电流。CC2530根据电压电流大小控制继电器的开合,以达到保护蓄电池的目的。

图4 电池监测电路<br/>Fig.4 Battery monitoring circuit

图4 电池监测电路
Fig.4 Battery monitoring circuit

图5 DHT11电路<br/>Fig.5 Circuit of DHT11

图5 DHT11电路
Fig.5 Circuit of DHT11

2.1.2 空气温湿度参数采集

通过DHT11采集空气温湿度,记录以供用户观察,另外杀虫灯也可以根据空气湿度判断下雨与否,自动关闭高压电网,以防短路。DHT11的优势是价格低,外围电路简单(图5),其精度为温度±1℃,湿度±5%,控制器(microcontroller unit, MCU)通过单线通信直接读取空气温湿度。DHT11的单线通信协议遵循“复位—应答—读取—校验”步骤,其读取周期在1 s以上。

图6 CA025C串口摄像头电路<br/>Fig.6 Circuit of CA025C serial camera

图6 CA025C串口摄像头电路
Fig.6 Circuit of CA025C serial camera

2.1.3 图像采集

图像采集用于记录杀虫灯在夜间的工作效果,用户通过观察图像记录调整杀虫灯开关机时间,以达到提高杀虫灯工作效率的目的。由于8051单片机内部资源有限,故采用CA025C串口摄像头采集图像。CA025C摄像头自带防水、夜视、图像压缩功能,其最大分辨率为640×480,支持图像数据分批输出。压缩后的JPEG图像大小一般在30 KB左右,MCU利用串口通过OV528协议分批获取图像并将其转存入W25Q128芯片,以供通信控制器调用。串口摄像头接口电路如图6所示。

2.2 通信控制器设计

通信控制器由Zigbee协调装置、MCU、SD卡和GPRS模块组成,它维护本地数据库文件并协调Zigbee无线网络与网络服务器之间的通信,如图7所示。其微控制器芯片采用STM32F407,该单片机内核为Cortex-M4,它具有运算速度快及外设功能强大等特点。

在单片机中移植入FatFs文件系统后,单片机通过SDIO外设存取SD卡维护数据库、SPI与CC2530协调节点通信采集数据、串口与GPRS模块通信连接网络。

通信控制器中的MCU主要维护4个txt文件和1个照片文件夹,其中包括Zigbee网络在线成员数据库、在线成员参数数据库、用户指令缓冲数据库和成员日志备份数据库。

2.2.1 Zigbee网络在线成员数据库

持续更新当前Zigbee网络中在线成员的信息,以CC2530芯片IEEE64位地址作为身份标记,供网络服务器对号识别。当在线成员失去连接,通信控制器即通过GPRS模块发送短信通知用户。

图7 通信控制器结构框图<br/>Fig.7 Block diagram of communication controller

图7 通信控制器结构框图
Fig.7 Block diagram of communication controller

2.2.2 在线成员参数数据库

更新、记录一个月以来各在线成员的参数作为备份,并实时采集每个从机的参数并记录以供网络服务器查询。

2.2.3 用户指令缓冲数据库

记录用户发送的历史指令内容、时间及完成情况。当用户发送指令后,指令首先标记为未执行存入该数据库,然后采用先入先出的方式转发给从机执行,完成后将指令标记为已执行并根据从机反馈记录指令是否运行成功。

2.2.4 成员日志备份数据库

备份各成员最近15 d的工作日志,循环覆盖,以供网络服务器查询。

2.2.5 照片文件夹

晚上杀虫灯工作时摄像头定期拍照,照片被存入本地FLASH芯片并上传至通信控制器的照片文件夹覆盖,照片文件夹中仅保存一个月的照片。每天通信控制器定时将照片发送至网络服务器。

通信控制器通过GPRS模块与远程控制中心交换指令与数据,GRPS模块选择安信可的A6模块,其优势是价格低、开发方便、外围电路简单,如图8所示。

图8 GPRS模块外围电路<br/>Fig.8 Peripheral circuit of GPRS module

图8 GPRS模块外围电路
Fig.8 Peripheral circuit of GPRS module

3 监控系统软件设计3.1 杀虫灯嵌入式软件设计

CC2530中移植入Z-STACK协议栈,添加事件、编写相应任务后即可完成杀虫灯嵌入式软件的开发工作。Z-STACK是一个由消息驱动、非实时的操作系统,通过软件定时器溢出触发osalTimerUpdate()事件时调用osal_set_event(task_id,event_flag)设置执行杀虫灯功能的事件,当Z-STACK轮询到该事件时即会触发中断执行相应任务,实现获得参数、获取图像、控制继电器等功能,如图9所示。

图9 Z-STACK软件控制流程图<br/>Fig.9 Control flow chart of Z-STACK software

图9 Z-STACK软件控制流程图
Fig.9 Control flow chart of Z-STACK software

3.2 通信控制器嵌入式软件设计3.2.1 FatFs文件系统的移植

FatFs是面向小型嵌入式系统的一种通用的FAT文件系统,通过移植FatFs文件系统,本系统可以非常方便地通过STM23F407对SD卡进行文件管理,进行txt数据库与照片文件夹的实时维护。移植FatFs主要需要编写diskio.c中disk_status()、disk_initialize()、disk_read()、disk_write()和disk_ioctl()5个接口函数,编写完成编译通过之后即可调用f_open()(创建或打开文件)、f_lseek()(移动文件指针)、f_puts()(写入文件)、f_close()(关闭文件)以及f_mkdir()(创建文件夹)等API对SD卡中的文件进行操作[15]

移植了FatFs文件系统后,用户便可以直接在电脑上读取SD卡中的数据,以防网络故障。

3.2.2 MCU嵌入式软件设计

由于本系统对通信控制器的实时性要求不高,软件复杂度也比较低,软件开发采用前后台顺序执行结构。主循环中根据事件标志位的设置情况调用相应的事件处理函数执行功能,systick计时并设置参数获取事件标志,串口和SPI中断函数将收到的数据存入缓冲区并设置缓存处理时间标志位,主函数根据该标志位对缓冲区数据进行分析,并根据其内容执行相应的子程序。当检测到有终端无应答时,通信控制器即发送短信通知用户,以此实时检测杀虫灯是否被盗。其嵌入式软件流程如图 10所示。

图 10 通信控制器软件流程图<br/>Fig.10 Software flow chart of communication controller

图 10 通信控制器软件流程图
Fig.10 Software flow chart of communication controller

3.3 服务器端软件设计3.3.1 Web服务器搭建与开发

服务器的搭建采用WampServer框架,它整合了目前在Windows平台上搭建服务器非常流行且开源免费的基本部件:Apache、Mysql和PHP。在WampServer的基础上按需配置Apache中httpd.conf与httpd-vhosts.conf文件即可轻松搭建Web服务器。Web服务器的任务是从Socket服务器获取实时数据,利用MySQLi扩展从MySQL服务器获取历史数据,将用户的指令发送给Socket服务器并将网页通过HTTP协议传送到用户的浏览器中。

前端开发采用Bootstrap3前端框架和PHP脚本语言,PHP脚本实现Web服务器、Mysql数据库与用户浏览器的数据交互,以及网页表格中数据的更新等功能。

图 11 服务器网络通信示意图<br/>Fig.11 Schematic of server network communication

图 11 服务器网络通信示意图
Fig.11 Schematic of server network communication

3.3.2 Socket服务器开发

Socket Server是利用Windows端的QtCreater开发及MSVC编译器编译而成的一组控制台服务器程序。它通过QtNetwork组件接受通信控制器和Web服务器的TCP/IP连接,通过QSqlDatabase组件读写Mysql数据库内容。Socket服务器的网络通信如图 11所示。平时Socket服务器建立并维护与GPRS模块之间的TCP/IP连接,定时采集现场杀虫灯的数据存入Mysql服务器,当Web服务器建立连接并下达指令后,Socket服务器即转发指令给对应的GPRS模块,再将采集到的数据返回给Web服务器显示到网页上。

4 测试与验证

为测试本系统的实际效果,在某电子公司外空旷场地上进行了测试。测试时各杀虫灯最小间距为60 m,排布方式为棋盘式,浏览器上显示的监控界面如图 12所示。

图 12 杀虫灯监控系统工作界面<br/>Fig.12 Work interface of insecticidal lamp monitoring system

图 12 杀虫灯监控系统工作界面
Fig.12 Work interface of insecticidal lamp monitoring system

摄像头分辨率最高为640×480,采集到的照片大小为26 KB,具体如图 13所示。

图 13 串口摄像头采集到的照片<br/>Fig.13 A photo taken by serial camera

图 13 串口摄像头采集到的照片
Fig.13 A photo taken by serial camera

在测试的同时利用福禄克F15B万用表对其中6个设备的实际参数进行了测量,所得结果与本系统测得数据的对比见表1

表1 电流、电压数据对比<br/>Table 1 Comparison of current and voltage data

表1 电流、电压数据对比
Table 1 Comparison of current and voltage data

表1可知,本系统测得的电压相对误差在0.6%以内,电流相对误差在4%以内,精度满足蓄电池保护及日常观测要求。

5 结 论

通过上述软硬件设计及测试和验证,本系统成功实现了用户通过网络远程对杀虫灯工作状态的监测与控制。系统监测的电压电流参数误差小,其精度完全满足蓄电池保护和用户观测的要求。另外,用户还可以通过系统上传的现场杀虫图像,观测杀虫效果,远程调整杀虫灯开关机时间,优化杀虫效率,促进农业增产。但本系统目前还存在Zigbee和GPRS网络带宽有限导致无法高速传输图像,图像清晰度不是特别理想,系统使用需要数据通信费的长期投入等问题。因此,为提高传输速度并削减运营开支,今后可以尝试采用wifi的方式组建局域网,由通信控制器通过wifi路由器将数据发送至服务器的方案。

参考文献