农业无线Web节点的设计与实现_基于ARM和Linux_侯存峰
发布时间:2024-11-28
发布时间:2024-11-28
农业无线Web节点的设计与实现
—基于ARM和Linux
侯存峰,谢菊芳,胡东
(西南大学工程技术学院,重庆400716)
摘要:对地域上分散的农业对象实现无线数据传输逐渐成为近年来农业监控系统的研究热点。为此,重点研究了s3c2440-Linux2.6.30.4平台下的利用WLAN传输数据的农业节点设计。整体架构采用客户端-服务器模式,主要内容包括无线网卡的驱动移植、无线路由覆盖和加密、Linux和Winsock网络程序开发等。通过深入研究Linux下USB无线网卡的设备驱动,既可以构建嵌入式无线局域网,又可以用于有线网络无法延伸或难以安装的网络中,还可以用于工业现场中的远程无线视频监控。
关键词:农业无线网络;无线路由;覆盖;加密;s3c2440;Linux2.6.30.4
中图分类号:S126文献标识码:A文章编号:1003-188X(2012)12-0194-03
0引言
农业信息化是农业发展的趋势和方向。农业环境智能测控系统正朝着网络化、智能化、自动化和无线化方向发展。随着3G技术的逐渐成熟,无线已经开始大范围地深入农业。与工控环境不同,农业环境面积大,地形复杂多变[1],长期处于高温、高寒、高湿和较强酸碱性等恶劣条件,传统的有线通信在这种环境下面临严峻的考验。首先,有线通信技术需要分布大量传输线路,耗资巨大,而且线路容易老化;其次,农业环境地形复杂,布线难度大,线路复杂,不便维护;再次,设备一旦安装后不易移动和更换。因此,国内外越来越多的农业研究人员开始把无线通信技术应用到农业生产中。无线在农业中的应用包括农业灌溉、农村联网、农业环境监控、农田定位、农田遥感以及无线传感器网络等。无线Web根据通信的范围不同可分为短距离无线通信技术和长距离无线通信技术。无线广域网WWAN和无线城域网WMAN属于长距离通信,无线局域网WLAN、无线个域网WPAN 属于无线短距离通信。本文研究并设计了一种嵌入式无线节点。该节点可以扩展各种传感器来获取农业环境参数,并实现数据的Web上传。用户可以通过
收稿日期:2011-12-02
基金项目:西南大学基本科研业务费专项资金项目(XDJK2011C067)
作者简介:侯存峰(1985-),男,山东泰安人,在读硕士研究生,(E-mail)cunfeng0726@163.com。
通讯作者:谢菊芳(1975-),女,四川内江人,副教授,博士,硕士生导师,(E-mail)xjufang0311@sina.com。
访问Web实现数据的读取和现实,以无线传输的方式为农业环境监测提供准确的数据。
1无线Web节点的硬件结构
1.1USB无线网卡介绍
无线网卡是局域网(WLAN)的重要组成部分[2]。USB无线网卡是一种直接连接在设备USB接口上实现接入WLAN(无线局域网)的接入设备。USB无线网卡具有辐射低和灵敏度高等优点。目前,主流的USB无线网卡常采用Redltek8187L芯片、雷凌3070以及RT73芯片等3种。本节点采用TP-LINK TL-WN321G54Mb USB2.0无线网卡,采用RT73网卡芯片,支持WPA-PSK/WPA2-PSK和WPA/WPA2安全机制以及64/128位WEP加密,提高无线网络安全,符合IEEE802.11g和IEEE802.11b标准,并且支持Soft AP模式,能够轻松构建无线局域网。
1.2系统构成
整体架构采用服务器-客户端模式,数据采集端主控制器采用ARM S3C2440芯片。该芯片是三星公司推出的16/32RISC处理器,采用ARM920T内核,整体设计融合了MMU,AMBA BUS和Harvard结构,具有独立的16kb指令Cache和16kb数据Cache。内核采用为Linux2.6.30.4,根文件系统采用ramdisk,系统启动后挂载yaffs文件系统。
外部扩展NandFlash,TFT触摸屏、串口、网络接口和USB host/device等外设。该节点的硬件结构图如图1所示。
·
491
·
2012年12月农机化研究第12期
图1节点硬件结构图
Fig.1Node hardware structure
2无线网卡的驱动安装移植
2.1USB的主从模型和驱动结构
驱动就是内核与硬盘、音频卡、网卡等其他各种输入输出设备的接口[3]。大多数默认情况下,内核会自带一部分数量的驱动来供用户选择。其中,USB相关的驱动占据了很重要的地位。USB是典型的主从结构,一个USB系统由主机和设备组成,而且只允许有一个主机,只有主机和设备之间才可以进行连接通信。HUB是一类特殊的USB设备,根HUB和主机放在一起,以更多的连接点[4]。任何USB设备均包含设备描述符,它主要用于说明设备树形,这个设备描述符通常固化在设备内部。当主机检测到总线上有设备插入时,通过控制传输从默认通道中将设备的描述符读出。
USB设备的驱动程序分为主机端设备驱动程序、主机控制器驱动程序和设备端驱动程序3部分。从主机端看,USB无线网卡首先接入USB总线,然后才是无线网卡芯片。那么,USB驱动要在网卡驱动之前被识别。在主机端,USB驱动程序中有OHCI,UHCI 和EHCI3种规范[4-5]。操作系统只需要有这3种标准的驱动程序,符合相应规范的主控制器就可以被驱动起来。USB主机端驱动程序层次如图2所示
。
图2USB主机端驱动程序
Fig.2USB host driver
USB设备端的驱动程序属于Firmware部分,工作在Slave下,用于提供设备信息与主机的通信接口,厂商一般会提供这部分支持。USB子系统的作用是注册和管理现存的设备驱动,为USB设备查找适当的驱
动程序以及初始化配置,在内核内存中表示设备树和与设备交换数据。其中,usb_driver是USB设备驱动程序和内核之间协作的开始,usb_device描述了USB 设备树以及设备特征[6]。
2.2Linux网络设备驱动结构
嵌入式Linux的网络系统继承了BSD UNIX的socket(套接字)机制并且采用了流量控制机制[7]。在系统和驱动程序之间有定义专门的数据结构进行数据的传递。Linux网络驱动部分的体系架构(如图3所示)分为4个层次,由底层向上依次为网络媒介层、设备驱动功能层、网络设备接口层和网络协议接口层。在嵌入式Linux中,所有的网络设备都遵从统一的接口。这个接口提供了所有网络设备的操作集合,即一个设备就是一个对象(device数据结构,内核里面为net_device),struct device()包含了许多数据和设备方法,供系统访问和协议层调用
。
图3Linux网络驱动架构
Fig.3Linux network driver architecture
2.3USB无线网卡驱动安装过程
Linux下无线网卡的安装是一个简单的过程,主要包括驱动下载与编译、内核配置与无线网络配置等,最后通过脚本文件完成一系列操作,即insmodrt73.ko (动态加载驱动模块),iwconfig(查看无线网络接口),iwlist(无线AP的检测并获取相关数据)等。对无线网络频率、ID、ESID、接收灵敏度、接入模式、无线网络标准和加密设置好并实现连接后,就可以进行无线通信了。最后,需要编写脚本,实现开机启动。Linux在启动时是按照一定的顺序启动脚本的[7],首先加载内核到内存,运行init程序,再由init进程通过/etc/init-tab启动脚本。
·
591
·
2012年12月农机化研究第12期
3无线路由的信号覆盖和加密
无线局域网采用公共的电磁波作为载体,任何人都有可能窃听或干扰信息,因此相对于有线网络来说,无线局域网传输的数据安全性相对低些,较容易受到干扰或窃听,而且有效距离受到信号覆盖范围的影响[8]。所以,对于无线局域网系统的安全来说,加密、认证和信号覆盖是十分重要的。无线路由与支持加密功能的无线网卡相结合可以实现数据的加密传输,保障了数据的安全可靠。通常加密方式有WEP 和WPA两种。WEP安全加密[9]方式采用有线对等保密算法,由基本密钥和初始向量两部分组成,它基于RC4算法的64位加密或者128位静态加密[10],这种加密的程度与密钥的长度成正比例,密钥越长,加密越好,基本密钥的长度为40位或104位。WPA(Wi-Fi Protected Access)是WEP的升级版本。与WEP的固定密钥不同,WPA需要不断地转换密钥来加密通信。在应用中,WPA可以与利用802.1x和EAP的认证服务器连接[11-12],实现有效地认证控制。本设计无线路由选用TP-LINK TL-WR740N150Mbps,该无线路由支持IEEE802.11g和IEEE802.11g无线标准,包含有13个信道,频率范围2.4 2.4835GHz,不同的协议下传输速率不同。信号覆盖范围(即“有效覆盖范围”)为200m,这是一个理想状态,它会随网络环境的变化而变化。无线路由是无线局域网的核心设备,只有在无线路由的信号覆盖范围内,无线设备才能进行无线连接。在实际应用中,无线路由器信号的强弱同样会受环境的影响,通常室外的有效信号覆盖范围是室内有效范围的2倍左右。所以,无线路由能够较大地覆盖农业区域,加大农业监控范围,能够使更多的农业Web节点同时接入WLAN,为用户提供更多的数据来源。
4网络程序开发及测试
4.1Linux和Winsock网络程序开发
Linux和Winsock网络程序的开发环境不同,但都符合TCP/IP和UDP等网络协议,编程思想基本一致。本设计采用C/S编程模式,采用带连接的TCP/IP协议。服务器端程序和客户端需要设定固定的IP和端口,端口一般选择1024 65535,避免端口使用冲突。首先,服务器端监听客户端提出的请求;然后,客户机发出请求,进行连接;客户机和服务器连接成功后通过信息交换来获得相应的数据或控制传感设备。Windows的套接字服务是由系统文件Winsock.dll提
供的。服务器采用Winsock控件的LocalPort和Listen 来监听,客户端采用RemoteHost和RemotePort,并调用Connect方法请求连接和Senddata方法进行信息互换。Linux环境下需要依靠套接字来完成以上功能。服务器端首先创建套接字、设置通信域,然后调用bind函数将套接字和端口关联,最后listen函数进行监听[13]。客户端通过connect函数来连接,服务器端accept后,通过send和recv函实现与服务器之间信息交互[3,14]。
4.2测试结果
服务器与客户端连接成功后,客户端分别发送不同长度的字节流,在服务器端进行统计,计算出相应的带宽。经测试,该无线网卡能够实现稳定传输数据,有效距离为40 50m,带宽约为5Mbps,能够满足大多数农业环境的要求。
5结语
随着Linux嵌入式系统的迅猛发展和WLAN的日渐普及,嵌入式无线局域网接入在农业领域中的应用得到了不断深入和发展。Linux系统集成了大量驱动,支持的设备越来越多,使用WLAN更加方便快捷。本文从实际农业环境出发,分析无线网络的各种优势,研究并移植了Linux下USB无线网卡的设备驱动,设计Linux和Winsock程序,重点对信号的覆盖和加密过程,这样既可以构建稳定安全的无线农业监控网,又可以延伸到有线所不能到达的区域,系统易于拆装和维护,具有广阔的应用前景。
参考文献:
[1]王秋萍,李宏伟,齐朝杰.无线局域网技术在精细农业中的应用[J].农机化研究,2005(5):209-211.
[2]杨勇,叶梅,张秦艳,等.基于ARM的嵌入式Linux无线网卡设备驱动研究[J].核电子学与探测技术,2010,30
(4):519-523.
[3]杨宗德,邓玉春,曾庆华.Linux高级程序设计[M].北京:人民邮电出版社,2008:303-401.
[4]李俊.嵌入式Linux设备驱动开发详解[M].北京:人民邮电出版社,2008:311-416.
[5]韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2009:431-492.
[6]Mauerer W.Professional Linux kernel architecture[M].Bei-jing:Posts&Telecom Press,2010:312-408.
[7]Blum R.Linux command line and shell scripting bible[M].Beijing:Posts&Telecom Press,2009:230-232.
[8]白洁,刘亮.无线局域网综述[J].计算机工程与设计,2004,25(3):426-428.(下转第200页)
·
691
·
2012年12月农机化研究第12期
法有明显的优越性,为模糊神经网络在粮食烘干中的应用提供了参考。
参考文献:
[1]张吉礼.模糊-神经网络控制原理与工程应用[M].哈尔滨:哈尔滨工业大学出版社,2004.
[2]方康玲.过程控制与集散系统[M].北京:电子工业出版社,2010.[3]胡志超,王海鸥,谢焕雄,等.谷物横流干燥数学模型及模型预测控制[J].农业工程学报,2009,25(4):96-102.[4]王艳艳.基于模糊神经网络的船用甲板起重机电-液控制系统研究[D].武汉:武汉理工大学,2010.
[5]李路海.热风干燥-涂布复合技术[M].北京:印刷工业出版社,2011.
The Application Design of the Fuzzy Neural Network in the Grain Dryer
Li Hong
(Electronic Information and Engineering Institute,Jilin Institute of Architectural and Civil Engineering,Changchun 130118,China)
Abstract:The paper expounds the application of the fuzzy neural network in the grain dryer dryer,based on the applica-tion of the fuzzy neural network in automatic control,combined with the program realization rules of the BP algorithm,determined the input and output variables and their universe.The practice tests shown that,the fuzzy neural network in the control has obviously advantages than the traditional method.
Key words:grain dryer;fuzzy neural network;BP algorithm
(上接第196页)
[9]魏志宏,诸昌钤.无线局域网安全性分析[J].计算机应用,2004,24(5):40-43.
[10]孙树峰,黄樑,石兴方,等.802.11无线局域网安全技术研究[J].计算机工程与应用,2003(7):42-59.
[11]赵伟艇,史玉珍.基于802.11i的无线局域网安全加密技术研究[J].计算机工程与设计,2010,31(4):760-902.[12]李海林,王美琴,高振明.基于Linux的802.11b无线局域网数据包获取方法[J].计算机应用研究,2004(12):
270-272.[13]Matthew N,R Stones.Beginning Linux programming(4th e-dition)[M].Beijing:Posts&Telecom Press,2010:512-
545.
[14]杜华.Linux编程技术详解[M].北京:人民邮电出版社,2007:341-376.
[15]Rodriguez C S,G Fischer,S Smolski.The Linux kernel primer:a top-down approach for x86and PowerPC archi-
tectures[M].Beijing:China Machine Press,2006:24-
27.
Abstract ID:1003-188X(2012)12-0194-EA
ARM&Linux-based Agriculture Wireless Web Node
Design and Implementation
Hou Cunfeng,Xie Jufang,Hu Dong
(College of Engineering and Technology,Southwest University,Chongqing400716,China)
Abstract:In recent years,research for geographically dispersed agricultural objects to achieve wireless data transmission control system has become the study focus of agriculture.This paper focuses on s3c2440-Linux2.6.30.4platform of wireless data transmission node design using the WLAN in agriculture.Overall architecture is the client-server model.The main contents are portable wireless network card driver,wireless router signal coverage and encryption,Linux and Winsock network program development.Through in-depth research od usb wireless network card device drivers under Linux in this paper,it can be used for not only for building embedded Wireless LAN,but also nets which wired networks can not be extended or difficult to install,it also can be used on remote wireless video surveillance for industrial site.Key words:agriculture wireless network;wireless router;coverage;encryption;s3c2440;Linux2.6.30.4
·
002
·
2012年12月农机化研究第12期
上一篇:微笑着坚持主题班会
下一篇:大型医疗设备 论证报告书