基于物联网的观赏园艺植物生理检测系统
2015-11-10张健阮海清
张健+阮海清
摘 要:为了准确检测园艺植物的环境和生理数据,使对园艺植物的管理变得简单和智能化,文中设计了基于无线传感器和3G网络的检测系统,以将采集的数据传输到远程PC端提供决策支持。该系统包括传感器节点、WSN、嵌入式网关、PC端界面,并初步实验证明了该系统的合理性与可靠性。
关键词:园艺植物;物联网;3G;PC端
中图分类号:TP391.4 文献标识码:A 文章编号:2095-1302(2015)10-00-03
0 引 言
将农业物联网应用于花卉生长中,能及时获取植物的生长环境和各种生理指标[1]。通过集成各种传感器,可以探测包括温湿度、光照度、二氧化碳浓度、土壤pH值等农田信息[2]。而用植株茎干直径变化法来衡量作物的生理情况,具有简单易行、对植株不具有破坏性、可持续检测和自动积累的特点[3]。
本文实现了一种集温湿度、二氧化碳浓度、植物茎干直径检测于一体的植物生理检测系统。该系统能将检测到的数据信息通过无线传感器网络和3G网络传输到远端的PC机,给管理者提供决策支持。
1 系统硬件设计
1.1 系统结构
本系统由数据采集模块(传感器节点)采集环境和植物生理信息,通过ZigBee协议构建无线传感器网络将数据送到协调器节点,协调器节点通过串口将数据送给嵌入式平台,再由3G网络传输到位于远端的PC平台供管理者决策使用。本系统的系统结构图如图1所示。
图1 系统结构图
1.2 各模块简介
数据采集模块由茎干直径探测器、温湿度传感器、CO2浓度传感器等采集作物生长信息。茎干直径探测器由可变差动放大器(LVDT)和控制电路构成。LVDT是把被测位移量变换为电信号的传感器[4]。将其固定在被测植株茎干部位,通过与CC2530连接自动记录植株茎干直径微变化[3]。安装后能在不影响作物生长的情况下持续测量作物茎干直径变化。CO2浓度传感器利用非色散红外(NDIR)原理测量空气中的CO2浓度,有很好的选择性,无氧气依赖性。
图2所示为传感器与CC2530的接口电路原理图。温湿度传感器SHT10通过I2C接口连接到CC2530的P1_2、P1_3引脚,CO2传感器和LVDT连接到CC2530的串行口P0_2、P0_3引脚。
无线传感器由传感器节点和汇聚节点构成,本文采用星型网络拓扑结构和ZigBee2007协议栈。传感器把采集到的数据传送到汇聚节点进行简单的数据融合后,再通过串口传输到嵌入式平台。
嵌入式平台主要用于通过串口接收传感器网络传送的数据,能够显示植物生长环境和生理数据,实现对数据的检测。接受远端计算机对数据的请求,通过3G网络向远程的PC端发送传感器数据。
PC端是一个位于远端的主机,通过3G网络向嵌入式平台发出数据请求,获取植物的生理参数及环境信息,对接收到的信息进行处理,提交给控制中心进行后续的控制动作。PC端包括了PC机、3G模块以及人机交互界面。
2 系统软件设计
设计并实现植物生理检测系统软件时,应重点解决三点关键技术:无线传感器网络程序、嵌入式平台软件、PC端软件。
2.1 无线传感器网络程序
本系统采用基于ZigBee协议组建无线传感网,在实现上除了硬件环境外,还需要合理的软件设计,以保证系统长久稳定可靠的运行[5]。协调器初始化并建立起网络后,等待其他设备加入网络,随后传感器节点初始化,并申请加入到先前建立的无线网络中。当传感器节点与协调器完成绑定成功组网后,设备运行维护状态,传感器节点每隔3秒采集和发送数据信息。协调器执行轮询循环程序,并通过终端处理来接受其他设备发来的信息。图3所示是协调器与传感器的工作流程图。
系统中的无线传感器网络程序设计包括传感器节点驱动和协调器程序。传感器节点中传感器采集到数据后通过UART或者I2C总线发送给CC2530单片机。单片机复位后完成节点初始化及数据端口驱动后,立即搜寻、发现并加入ZigBee网络,当协调器允许其加入后,即建立绑定关系,然后进入“睡眠-唤醒采集数据-睡眠”的低功耗模式。
协调器复位完成初始化工作后,建立具有唯一网络标识的ZigBee网络并进入监控模式,当有传感器节点申请加入时,允许绑定并对该节点发送相应并分配16位短地址;当有数据传输时,接收处理数据并发送给嵌入式平台。
图3 协调器与传感器工作流程
2.2 嵌入式平台软件设计
嵌入式平台可起到网关和数据处理的作用。它通过串口接收协调器传送过来的数据信息,在对信息进行加工处理后通过GPRS网络传输给远端的PC机。本部分主要包括传感器数据采集端口驱动、3G模块数据端口的驱动和数据库。串口读写操作使用Linux底层串口操作,使用非阻塞方式读写串口,所有程序采用Qt在Linux环境下编写。
数据采集端口驱动负责接收协调器发送过来的数据,并采用轮询的方式读取串口数据,在传感器数据正常情况下,每隔3 s上报一次,环境参数变化过快时,每隔1 s上报一次数据,系统中采用多线程循环读取并解析传感器数据。
3G模块数据端口驱动负责3G模块之间的短信通信,采用多线程循环读取短信数据,并对其进行解析处理。短信读取时,通过串口使用AT指令给3G模块数据串口(ttyUSB0)发送读写短信的指令。关键代码如下:
void com_msg(int fd,char *number, char *text)
{
char ctl[]={26,0};
com_writecmd(fd,"AT", strlen("AT"));
com_writecmd(fd, "ATE1", strlen("ATE1"));
com_writecmd(fd, "AT+CMGF=1", strlen("AT+CMGF=1"));
com_write(fd, "AT+CMGS=", strlen("AT+CMGS="));
com_write(fd, "\"", strlen("\""));
com_write(fd, number, strlen(number));
com_write(fd, "\"", strlen("\""));
com_write(fd ,"\r", strlen("\r"));
usleep(10000);
com_write(fd, text, strlen(text));
com_write(fd, ctl, 1); //“CTRL+Z”的ASCII码
usleep(300000);
}
本系统使用进程内数据库SQLite,该数据库小巧灵活,无须额外安装配置且支持大部分ANSISQL92标准,而且编程简单。SQLite数据库支持大部分基本SQL操作,如SELECT、INSERT、DELETE等。下面为插入的操作代码:
if(dbData.open())//插入数据
{
QSqlQuery query(dbData);
query.prepare("INSERT INTO tableData "
"VALUES (?,?,?,?,?)");
query.bindValue(0,QDate::currentDate().toString("yyyy-MM-dd") + " " +QTime::currentTime().toString("hh:mm:ss"));
query.bindValue(1,QString::number(sendData->ppm)); query.bindValue(2,QString::number((sendData->temp1+sendData->temp2)/2)); query.bindValue(3,QString::number((sendData->humi1+sendData->humi2)/2));
query.bindValue(4,QString::number(sendData->shift));
query.exec();
}
2.3 PC端软件设计
PC端是位于远端的主机,可通过3G网络对嵌入式平台进行数据请求和操作,以获取热带花卉作物生理参数及环境信息,实时操控数据接收频率,对于接收到信息的处理,完成对于花卉作物的生理监测,系统运行于Linux系统下,采用Qt编程。
PC端程序主要包括3G模块数据端驱动、短信读写、数据库操作等。串口读写操作封装为串口操作类Win_QextSerialPort,并能完成串口打开、关闭、读写等操作。
3 实验结果及分析
在IAR Embeded Workbench IDE下,打开f8wConfig.cfg文件,配置好CHANNEL和网络PANID,编译生成传感器节点和协调器节点的Hex文件,分别烧入对应节点的CC2530。
在嵌入式平台移植Linux操作系统,搭建Qt运行环境,下载嵌入式平台软件并设置好运行环境。重启系统后,WSN自动组网,主动上报传感器数据。PC端在windows XP环境下安装PC端软件。
测试时,在被测植物附近安装检测平台,在作物茎干部位安装LVDT,嵌入式平台距PC端约1.5千米。图4是PC端的测试结果。
上述测试结果表明,本系统能正确地检测出植物的生长环境及生理数据,并通过3G网络可靠的传送到远端的PC机,给观赏园艺植物的栽培管理决策提供数据支持。
图4 PC端读出数据
4 结 语
将物联网运用到园艺植物养护上,可解决很多植物爱护者的困境。通过检测系统实时了解植物当前的生长环境和生理指标,从而为正确决策提供数据支持。本系统采用3G无线通信,便于安装和控制,在加入控制器后,就能适用于规模化种植和家庭智能养护使用。
当LVDT测量茎干直径时,会对茎干具有一定的压迫性,尤其是应用于比较娇嫩的花卉植物时尤其明显,下一步的研究是用机器视觉取代LVDT。
参考文献
[1] 赖望峰.农作物联网在现代花卉生产中的作用[J].中国花卉园艺,2010(20):28-29.
[2] 孙玉文.基于无线传感器网络的农田环境检测系统研究与实现[D].南京:南京农业大学,2013.
[3] 高峰,俞立,张文安,等.基于茎直径变化的无线传感器网络作物精量灌溉系统[J].农业工程学报,2008,24(11):7-12.
[4] 李雪宝,许骏,宋腾飞,等.基于数字位移传感器的位移测量系统[J].现代电子技术,2010,33(5):95-97.
[5] 胡培金,江挺,赵燕东.基于zigbee无线网络的土壤墒情监控系统[J].农业工程学报,2011,27(4):230-234.