APP下载

一种农业智能控制无线网关的设计

2015-11-26邬欢欢张冰洁劳东青李明磊

湖北农业科学 2015年21期
关键词:网关监控

邬欢欢 张冰洁 劳东青 李明磊

摘要:介绍了一种用于农业智能控制的无线网关。该网关由ZigBee协调器和适配器组成,通过硬件地址和应用层端口的映射,使服务器与传感器节点之间的通信对应起来。传感器网络中ZigBee节点的数据通过该无线网关的汇聚与转换接入互联网,与互联网侧的服务平台达成有效连接,从而实现对农业现场的远程监控。测试结果表明,所实现的无线网关误码率小,运行稳定可靠,可以满足农业监测中对数据量要求不大的应用场景。

关键词:ZigBee;农业智能;监控;网关

中图分类号:S126;TP368.2 文献标识码:A 文章编号:0439-8114(2015)21-5405-03

DOI:10.14088/j.cnki.issn0439-8114.2015.21.052

Design on Wireless Gateway for Agriculture Intelligent Control

WU Huan-huan1,ZHANG Bing-jie2,LAO Dong-qing1,LI Ming-lei2

(1. College of Information Engineering, Tarim University, Alar 843300,Xinjiang, China;

2. Comba Telecom Technology Guangzhou LTD., Guangzhou 510663,China)

Abstract: In this paper a wireless gateway for intelligent agricultural control system was introduced. It is used to connect the sensor network and ethernet by mapping the MAC and port of the ZigBee sensor network. The data of ZigBee sensor node is intergrated and transferred to internet by this gateway. Through internet the server could get the data,and the server could get the data via internet. So it could monitor the agricultural field efficiently. The expermental results showed that this wireless gateway functioned well with low bit error rate, and can meet monitoring needs of agricultural environments with less demanding on the amount of data.

Key words: ZigBee; agriculture intelligent system; monitor; gateway

在物联网、互联网高速发展的时代,无人值守远程智能化监控技术在农业上的应用也逐渐被提上日程,成为近年来的研究热点。该技术通过布设在农田现场的传感器,采集农作物的生长环境要素,然后将数据通过网络发送到中央计算机上,再由计算机对数据进行进一步处理。已有的一些研究将ZigBee和GPRS技术相结合[1,2],组成无线监控网络进行应用。这样的组网方式实现简单,但成本较高。本研究设计实现了一种无线网关。将无线技术与有线技术相结合,较好地发挥了两者的优点。该网关包括硬件和软件的设计,通过固化在芯片中的代码完成了两种不同协议的转换,实现了ZigBee网络和有线网络之间的互联。

1 系统概述

1.1 系统框架组成

无线网关位于ZigBee网络和以太网之间,实现两种不同协议的转换[3]。根据接入网的类型可划分为ZigBee网络侧和以太网网络侧,其组网框图见图1。

ZigBee网络侧的传感器节点根据功能的不同分为两种类型[4]:协调器和终端节点。这里协调器节点是惟一的[5],其他各个ZigBee传感器节点关联上协调器,由协调器统一管理。传感器节点采集到数据后汇聚到协调器发送出去[6],协调器对传感器数据报文重组后通过串行总线发到有线网络侧。有线网络侧的适配器接收到数据后,将数据报重新封装为TCP报文,再发送到以太网网关。同样,远端服务器通过以太网将数据发送到适配器,适配器解包发送到协调器上,协调器再发送到对应节点。ZigBee协调器和适配器共同组成无线网关。

1.2 系统数据流分析

如前所述,农业监控现场的ZigBee节点和互联网上的服务器,中间跨越了ZigBee网络和以太网,节点采集的数据需要由网关协议转换模块进行封装和解封装的处理,如图2所示。

1)节点到服务器的发送流程。从模型的左侧开始,无线传感器节点的数据从无线链路上传到ZigBee协调器,这时的数据包含了完整的802.15.4的帧,即包含物理层包头和物理层载荷(MAC层包头和MAC层载荷)[7,8]。经过协调器上802.15.4协议栈处理,将各层报头剥离,有效数据载荷上传到应用层,应用层将数据源地址和载荷一起打包,再通过串行链路直接发送出去。串行链路发来的数据触发适配器中断,进入适配器接收服务程序。在接收服务程序里首先需要解决的是区分哪个节点来的数据,以及对数据帧进行划分。

为了解决这一问题,在发送数据到串行链路前先对数据进行封装:规定每个数据头部以#SA开头,以#ED结尾,在有效载荷之前加上节点的源地址。这里的源地址不是802.15.4协议规定的地址,而是在协调器上对节点进行重新编址,仅占一个字节。封装后的数据格式如图3所示。

在适配器接收服务程序将数据的源地址(即图3的src)解出来,并映射到对应的TCP(socket)端口,同时被解包出来的数据作为TCP载荷发往网络协议栈,在网络协议栈中经过层层封包形成以太网数据包发送到服务器。

2)服务器到节点的数据传输过程。服务器为每个节点与适配器在应用层上建立套接字socket连接,服务器首先查找待发送的节点地址,映射到对应的TCP目的端口,找到相应的socket连接。将待发送数据打包到TCP数据包载荷,通过网络协议栈封包后发送到以太网;适配器从socket连接收到数据后,解包得到数据,同时根据socket的端口得到节点地址,将节点地址和数据打包发送到串行链路上,协调器的串行链路收到数据,解出目的地址,再经过802.15.4协议栈发送到无线网络侧。

2 无线网关的设计

2.1 网关硬件设计

本文的协议转换模块包含两个部分:ZigBee协调器和适配器。ZigBee无线协调器采用德州仪器(TI)公司生产的SOC射频芯片CC2530F256,片上集成高性能低功耗8051内核、12bit ADC、2个USART等,支持ZigBee协议栈[9]。CC2530自带了UART接口和21个GPIO。因此,可以通过UART或GPIO模拟SPI或I2C来接入串行链路。

适配器上需要运行网络协议来处理网络数据,用单片机来实现,技术上比较复杂,且运行效率低,而使用运行嵌入式Linux的SOC系统,则能够良好地支持网络协议[10]。在本设计中,选用了高性能的ARM9芯片S3C2440,它片上集成了3个UART端口、2个SPI接口、1个I2C接口等。本设计的硬件结构框图见图4。为了提高信号质量,在CC2530前端加入功率放大器PA。CC2530通过串口与S3C2440通信,S3C2440通过MII接口外扩DM9000 PHY芯片。

2.2 软件设计

1)无线协调器CC2530上软件的设计。对于ZigBee协议上的应用开发,TI提供的ZigBee协议栈软件。它由硬件抽象层、通信底层、操作系统抽象层等构成,提供针对用户开发的应用库。用户只需要在对应的层次上加入自己的代码即可运行。在本研究设计中,在硬件抽象层加入串口收发驱动代码,在系统主程序加入解包和打包函数。主要包括:①在协调器上将每个ZigBee节点抽象为一个zigbee_client对象,它包括的信息为节点的MAC地址,端口port,port是协调器上分配的,初始为0,buf保存有效载荷,connection_state是关联状态;②在send_pack_buf中将数据帧的数据依次发出;③在recv_pack_buf中,先解包,查看是否包含了开始和结束标志,没有则表示帧错误,直接丢弃。如果帧正确,则接着查找是否存在对应的client,如果没有则直接返回。存在对应的client,则将client的buf指向数据缓冲区。

2)适配器上软件的设计。适配器上运行Linux操作系统,Linux操作系统是多任务多线程的操作系统。因此不同于单线程系统,这里可将各个功能放到子线程中实现。比如串口接收,在主线程中打开串口设备后单独创建一个接收子线程,在子线程中通过select方法进行数据监听,当有串口数据时到来时进行处理,如图5所示。对于网络通信,主线程中为在线节点创建与远端服务器通信的socket连接,将这些socket连接挂接到全局链表上。建立监听线程,当接收到数据时进行处理。因为存在多路同时访问串口的情形,在处理串口访问上,采用信号量来进行同步。

3 试验分析

在空旷地对无线网关的实际性能进行测试,分别关联上2、4、8、12个终端节点,波特率为115 200 bps, 包长为32 Byte,以不同的通信间隔和距离进行测试,结果如表1所示。由表1可见,关联的节点数和通信距离是影响通信质量最重要的因素。关联的节点越多,无线信道竞争和干扰越大;而距离越远,由于信号衰减,造成信号质量下降。为了提高抗干扰性能,通过提高通信间隔,可以降低通信误码率。在农业现场,由于天气变化的尺度往往在小时以上的数量级。因此,通过此方法来提高通信系统性能是可行的。在通信距离上,则需要进一步提高硬件质量,提高接收端放大器性能或适当提高发射端发射功率来改善。

4 小结

ZigBee无线网关解决了从近距离无线局域网向互联网延伸的问题,为野外观测现场和远程服务器之间搭建了一条通道。该无线网关具有功耗少,成本低、简单实用,适合用于农业监测中对数据量要求不大的场景。

参考文献:

[1] 于宝堃,胡 瑜.GIS和ZigBee技术在农业温室监测系统中的应用[J].湖北农业科学,2014,53(1):211-215.

[2] 姜立明,庄卫东.ZigBee/GPGS技术在精准农业中的应用研究[J].农机化研究,2014(4):179-182.

[3] 仲伟波,李忠梅,石 婕,等.一种用于设施农业的ZigBee-WIFI网关研制[J].计算机科学,2014,41(6A):484-486.

[4] 刘华骏,降爱莲.基于WSNs的设施农业环境远程监控系统设计[J].传感器与微系统,2013,32(12):97-99.

[5] 孔晓红,宋长源,王亚君.基于物联网的农作物生长监控系统[J].湖北农业科学,2014,53(20):4983-4985.

[6] 陈克涛,张海辉,张永猛,等.基于CC2530的无线传感器网络网关节点的设计[J].西北农林科技大学学报(自然科学版),2014,42(5):183-188.

[7] 王建平,周辰飞,朱程辉,等.一种ZigBee-TCP/IP无缝网关模型[J].合肥工业大学学报(自然科学版),2013,36(9):1058-1062.

[8] 杨 松,胡国荣,徐沛成.基于CC2530的ZigBee协议MAC层设计与实现[J].计算机工程与设计,2013,34(11):3840-3844.

[9] 庄立运,鲁 庆,王晓辉.基于CC2530的大棚温湿度无线采集节点设计与实现[J].湖北农业科学,2014,53(3):582-585.

[10] 王丽芬,马明涛.基于ARM的农业环境因子监测系统的设计的探析[J].中国农机化学报,2013,34(4):231-233.

猜你喜欢

网关监控
The Great Barrier Reef shows coral comeback
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
PDCA循环法在多重耐药菌感染监控中的应用
一种实时高效的伺服控制网关设计
基于Zigbee与TCP的物联网网关设计