文献标识码: A
文章编号: 0258-7998(2014)07-0013-04
城市绿化系统的建设是生态文明建设的重要组成部分[1],它能够明显改善城市空气质量,显著提升城市环境质量。但是,由于各地城市绿化面积大以及粗放的管理模式,使得绿化植物死亡率居高不下。环卫工人手工灌溉、取水车灌溉都存在浪费水资源和人力资源的现象。另外,城市绿化灌溉与管理各自独立,存在信息孤岛。本系统利用先进的计算机技术、网络通信技术、综合布线技术,将与城市绿化有关的各种子系统有机地结合在一起,通过统筹管理对整个城市绿化进行智能化控制,让环保人员更高效率地管理和维护整个城市的绿化植物,降低环保人员维护城市绿化的难度,同时提高植物的成活率和水资源的利用率,大大降低城市在维护绿化方面的成本,提高城市的空气质量和降低污染,为广大市民提供一个优良的休闲环境。
1 系统结构
城市智能绿化监控系统主要由无线传感器网络、主控器、中央服务器管理平台以及用户终端构成。体系结构图如图1所示。
无线传感器网络将传感器收集到植物周围的环境温湿度、光照度等参数传递给主控器中心,由嵌入式ARM11构成的主控制器中心进行处理,并通过GPRS/3G上传给中央服务中心。主控器将无线接收模块发送过来的数据和摄像头采集到定的数据进行解析显示在监控中心,然后将数据传到PC终端,实时显示植物周围的环境参数和远程视频监控,以便在一定的温湿度和土壤酸碱度下对植物进行智能浇水。同时,主控器中心将IP摄像头传送的帧数据发送给中央服务器管理平台,实现远程摄像头监控。当有火灾情况发生时,监控中心通过GPRS/3G发送火灾信息给相关人员,相关人员启动火灾预警系统,估计火灾蔓延的范围和到达一个特定地点所需要的时间,这样消防人员就可以通过红外遥控调度离火灾中心最近的灭火车进行灭火。如果有病虫害发生或绿化植物营养不良,智能绿化管理系统将信息与专家系统比对,并把专家诊断信息发送给环卫工人,以便环卫工人根据专家建议及时喷晒农药或施肥,从而有效防止病虫害发生,提高绿化植物成活率。
2 硬件设计
2.1 监控终端节点设计
终端节点包含传感器阵列、ZigBee功能模块和无线通信模块[2]。监控终端节点结构图如图2所示。
温湿度传感器采用DTH11,通过将其获取到的温湿度参数转化为电平信号[3],传送给CC2530微处理器进行处理。烟雾传感器采用MQ-2,通过周边烟雾与其内置的化学物质进行反应,转化为电平信号传送给CC2530进行处理。
CC2530集成了微处理器存储器和射频模块,是一个SoC片上解决方案[4],是 TI公司推出的最新一代ZigBee标准芯片。它集 8051处理器和射频收发模块于一体,同时还具有丰富的GPIO以及7路12位A/D,使得系统可在最少外围、最低成本的条件下进行设计[5]。
由于系统采用7.4 V的锂电池供电,而单片机和ARM板的工作电压是5 V,所以要进行降压。采用AMS1117-5.0 V的稳压芯片实现降压,并用两个电容C1和C2实现滤波。电源模块电路图如图3所示。
2.2 主控中心硬件电路设计
网关由ARM6410微处理器、LCD模块、GSM模块、多功能车的控制模块和视频采集模块组成。硬件结构如图4所示。采用Tiny6410作为连接现场与服务器的节点,其作用非常重要。Tiny6410必须连接到网络中,以保持与服务器之间的通信。单片机通过RS232将数据传输到ARM6410微处理器。ARM6410将采集的环境参数数据和视频帧数据打包成数据包,通过RJ-45型的网络接口上传给云服务器,并且将紧急数据通过GSM短信模块发送到环保人员的手机终端上。手机终端用户也可以发送短信查询无线监控终端实时采集的数据。
多功能车控制模块控制红外遥控多功能车。视频采集模块采用通用的USB摄像头,方便更换并可根据不同使用场合得到不同清晰度。图像压缩方式使用JPEG静态图像压缩方式,利用流媒体技术传送视频数据。摄像头实时捕获现场的画面,而后通过USB接口将画面数据传输给网关处理。用户既可以在LCD看到现场的实时画面,又可以通过PC远程访问的方式来观看现场的实时画面。
2.3 多功能车设计
浇水车主要由微处理器、步进电机、红外接收模块和直流电机以及红外接收头、浇水管、浇水箱组成,其结构图如图5所示。红外接收模块采用1838作为接收头,当其接收到远程发过来的红外信号时,其中的D/A对其进行转化和解码,将编码值传送给AT89C52进行处理,AT89C52根据收到的编码值执行相应的操作。当按下遥控器键值1时,小车开始启动并且前进;按下键值2时,小车停止;按下键值3时,小车开始灭火;按下键值4时,小车后退。
3 软件设计
3.1 数据采集节点/控制节点程序设计
各传感器节点/控制节点加入网络后,路由节点进入信道侦听模式,而数据采集节点和控制节点进入休眠模式[5]。当数据采集节点收到采集命令时,传感器开启采集的工作模式,延时等待发送命令,并根据相关命令把采集到的数据发送给父节点,发送数据结束后,传感器节点再次进入休眠模式。如果延时结束仍未收到发送命令,则说明通信出现了故障[6]。而控制节点程序设计与传感器节点类似,只是它收到父节点发送过来的控制命令后,去控制执行机构而已。
3.2 嵌入式Linux 操作系统
城市智能绿化系统采用嵌入式Linux操作系统进行开发,包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面等[7]。具体步骤如下:
(1)在Windows下安装虚拟机后,再在虚拟机中安装Linux操作系统(选用RedHatLinux9.0)。
(2)用vi编辑器编辑online.c 文件:[root@6410s/Online]#vi Online.c。
(3)在vi中编辑Makefile文件∷[root@zxt Online]# vi Makefile。
(4)在Online目录下运行"make"来编译程序。
(5)下载调试:[/mnt/nfs] cd onlie;[/mnt/online].onlie。
(6)程序调试通过后,可以把可执行文件拖放到usr/bin目录下,然后使用mkcramfs制作工具生成新的文件系统。
(7)开发图形用户界面(GUI)。
(8)选择上层应用程序(applieation)。
3.3 SQLite移植
SQLite是一款轻型、免费级数据库[8]。其移植步骤如下:
(1)从官网(http://www.sqlite.org)上下载压缩包sqlite-2.8.17-6410.tar.bz2。
(2)解压在文件系统根目录下/arm6410s/sqlite。
(3)运行configure命令./configure --host=armv4l-unknown-linux.--prefix=/sqlite-arm --disable-tcl,生成Makefile文件。
(4)运行make命令,准备进行编译SQLite。
(5)运行make install命令。
3.4 Web服务器应用程序
前台Web页面作为用户访问网关以及进行相应控制、设置的唯一途径,人性化的页面设计与实现将会大大提升用户的体验。
Web服务器的主程序实际是一个HTTP的套接字服务器。服务器在TCP的80端口(也可以自行定义,这里定义为80)进行监听。当客户端(Web浏览器)有请求时,建立连接进行通信,处理用户请求,并将结果返回给用户。
3.5 PC远程监控中心及火灾预警系统设计
上位机界面是基于视觉开源库Opencv结合Qt4.7开发出来的一个监控界面[9]。其中包括温湿度的显示、摄像头的显示窗口和手动控制水泵的触摸按键。摄像头图像显示界面采用opencv+Qt4.7编写的桌面控制平台,可以实现远程控制智能浇灌的功能并实时监控,同时可以实现定时记录浇水和日志的设置等功能。
PC接收通过监控中心传送过来的环境参数和视频帧数据,将环境参数动态显示在用C++编译的图形化界面上面,环保人员可以通过该界面远程监控整个城市的植物生长状况。同时接收远程传送的经H264视频编码的视频帧数据,显示在事先设置好的界面中,通过调节界面的放大、缩小、左转和右转可以动态调节摄像头的转向和远近监视。界面可以保存环保人员想要保存的数据,将其储存起来备用。
火灾预警系统通过C++编写图像化界面,一旦接收到主控制器传送的火灾预警信息,该系统即对该数据进行处理,不仅可以显示当前火势的范围,同时也可以以动态图像的方式显示在PC上并且计算大火蔓延到一个特定的地点所需要的时间和范围,以便环保人员作出相应的处理。
4 系统测试
本系统在研制成功后进行了一系列试验(在广东省大学生嵌入式与物联网设计大赛中荣获特等奖),表1~表4是结果分析。
从表1中可以看出,在空旷无障碍场所,WSN节点的可靠通信距离为 80 m。
从表2中看出复杂的环境中障碍物会对信号传输产生一定的阻碍,在设置节点与其父节点之间的距离 为15 m之内时,能保证传感器节点采集的数据可靠地传送至协调器节点。
从表3中数据比对来看,测量数据具有很高的精确度。
从表4中的数据可以看出,在各种模式下的水泵运行及状态指示灯都处于正常状态。
城市智能绿化系统利用树形无线网络实现了对环境参数数据的实时、高效采集和传输;监测区域的环境信息会自动发送到相关人员的手机,便于管理人员了解环境信息;利用ARM11采集摄像头的数据实现实时监控,并通过无线网络将信息传输到计算机中,同时计算机将接收到的数据进行处理后显示在上位机系统界面上,实现远程实时监控和病虫害诊治;火灾预警系统可以预测火势的蔓延范围和所需要的时间,以便环保人员远程选择最近的灭火车进行灭火;城市智能化绿化系统改变间歇灌溉概念,提高了灌溉精准和自动化程度,同时也可以使水资源得到高效利用。
参考文献
[1] 许金作.城市绿化与生态文明建设的探讨[J].林业科技,2010(6):21-22.
[2] 李占明,李泉,殷培峰.基于ZigBee的无线传感器网络节点的设计[J].电子测量技术,2010,33(6):118-122.
[3] 倪天龙.单总线传感器DHT11在温温度测控中的应用[J].单片机与嵌入式系统,2010(6):60-62.
[4] 刘军,张金榜,于湘珍,等.基于CC2530的脉搏感知节点设计[J].电子技术应用,2013,39(1):34-36.
[5] 张水保,徐守志,李丰杰.智能温室远程监控系统设计[J].三峡大学学报,2012,34(2):76-79.
[6] 张青春.基于CC2530农作物生长参数监测无线传感器节点的设计[J].制造业自动化,2013,35(1):44-47.
[7] 王城,梅霆.ARM 嵌入式系统原理与开发[M].北京:人民邮电出版社,2011.
[8] 徐英慧,马忠梅,王磊,等.ARM嵌入式系统设计——基于S32410与Linux[M].北京:北京航空航天大学出版社,2007.
[9] 刘东.基于Qt4和OpenCV的嵌入式视频监控系统[J].现代电子技术,2013(8):104-108.