产品推荐:水表|流量计|压力变送器|热电偶|液位计|冷热冲击试验箱|水质分析|光谱仪|试验机|试验箱


仪表网>技术中心>应用设计>正文

欢迎联系我

有什么可以帮您? 在线咨询

基于ZigBee技术的温室监控系统网关设计方案

   2012年04月11日 17:38  
  引言
  
  温室监控系统用于实时监测室内温度、湿度、CO2浓度等环境参数,以便做出相应调整,使作物处于*环境中生长。现有的无线温室监控系统大多在无线局域网络覆盖范围内进行环境信息监测,传输范围有限,且功耗和成本较高。
  
  ZigBee是一种新兴的近距离、低复杂度、低功耗、低成本的无线网络技术。2节5号电池即可使ZigBee射频芯片工作6~24个月。
  
  本设计采用ZigBee技术组建无线局域网,并通过网关接人到以太网。不但很好地解决了功耗和成本问题,而且也有效扩展了数据的传输范围。
  
  1、系统设计
  
  温室监控系统的结构示意图如图1所示。系统由无线传感节点、嵌入式网关、人机交互界面3个部分组成。无线传感节点通过连接传感器来获得相应的环境参数,并将数据发送至网关节点。嵌入式网关承担网络管理的功能,主要负责组建ZigBee无线网络并将传感节点传回的数据上传至以太网中。人机交互界面的作用是将这些数据实时地显示在网页上,也可以通过网页进行远程控制。
  
  图1温室监控系统的结构示意图
  
  无线局域网中的各传感器节点采集温度、湿度、C02浓度等环境信息,经网关处理后,监控终端计算机通过IE浏览器即可访问这些数据,从而实现远程监控环境信息。
  
  2、硬件设计
  
  整个系统涉及ZigBee网络和以太网,为了使2个网络能相互通信,需要建立网关。本文用嵌入式BOA服务器作为2个网络的信息中转站,以实现网关的功能。BOA服务器是一个小巧的Web服务器,运行于Unix或Linux系统下,支持CGI的、适合用于嵌入式系统的单任务的HTTP服务器。
  
  2.1网关硬件设计
  
  嵌入式BOA服务器可以在嵌入式Linux操作系统的支持下进行设计。网关硬件结构如图2所示。
  
  图2网关硬件结构
  
  网关硬件包括如下部分:
  
  ①S3C2440A,Samsung公司的一款基于ARM920T内核的32位RISC嵌入式微处理器,运行频率可达400MHz。
  
  ②256MBFlash,存储Bootloader和Linux操作系统以及文件系统。
  
  ③64MBSDRAM,作为系统运行时的程序和数据存储器。
  
  ④DM9000A网络控制器,提供以太网连接功能,以满足用户通过TCP/IP以太网进行实时的数据交互。
  
  ⑤JTAG仿真调试接口,支持ADS等集成开发环境利用JTAG调试接口对整个硬件电路进行软件开发和调试。
  
  ⑥UART接口,连接CC2430射频芯片以实现ZigBee无线局域网络与以太网的互联。
  
  2.2ZigBee节点硬件设计
  
  ZigBee节点硬件结构如图3所示,主要由CC2430射频芯片和传感器构成。
  
  图3ZigBee节点硬件结构
  
  CC2430芯片整合了高性能2.4GHzDSSS(直接序列扩频)射频收发器内核和工业标准的增强型8051MCU,还包括了8KB的SDRAM、128KB的Flash,是一种片上系统(SoC)解决方案。
  
  将相应的传感器与CC2430的I/O引脚连接,可测得所需的温室环境参数,并通过ZjgBee无线网络进行传输。本系统在每个ZigBee节点上分别连接温度传感器、湿度传感器和CO2传感器来监测不同节点处相应的环境信息。
  
  3、软件设计
  
  本设计基于嵌入式Linux操作系统,通过编写DM9000A网卡驱动和UART异步串口驱动实现以太网与ZigBee网络的互联。
  
  网关的分层结构如图4所示。在TCP/IP协议和ZigBee协议上分别开发Web、CGI程序以及无线收发程序。Web、CGI程序用于人机交互界面,无线收发程序用来实现ZigBee网络的通信。
  
  图4网关的分层结构图
  
  CGI(CommonGatewayInterface)规定Web服务器调用其他程序的接口协议标准,提供给Web服务器一个执行外部程序的通道。这种服务端技术使得浏览器和服务器之间具有交互性。CGI程序属于一个外部程序,编译成可执行文件后,可以在服务端运行。通过调用CGI程序可实现Web服务器与Web浏览器的交互,CGI程序接收Web浏览器发送给Web服务器的控制命令,并进行处理,再将响应结果回送给Web服务器及Web浏览器。
  
  由于BOA服务器搭建在Linux系统之上,因此需要将嵌入式Linux系统移植到S3C2440芯片上。
  
  3.1移植Bootloader
  
  Bootloader是在操作系统内核运行之前执行的一小段程序,通过这段程序初始化硬件设备。Bootloader可移植性强,只要根据硬件资源修改少量代码即可直接使用。
  
  3.2移植Linux内核
  
  Linux内核是嵌入式操作系统的核心,内核移植包括内核配置、内核编译、内核下载3个部分。嵌入式设备主要用NANDFlash作为存储器,NANDFlash容量有限,因此在配置内核时需要裁减一些不需要的功能以减小内核的体积。由于要将编译好的Linux内核映像和文件系统映像烧写到NANDFlash中,因此设置NANDFlash分区。本项目采用256MB的NANDFlash,将其分为3个区:0区为Bootloader分区,1区为内核分区,2区为根文件系统分区。内核配置完成后执行makezImage命令生成Linux内核映像文件,然后将内核映像文件下载至NANDFlash的内核分区上。
  
  3.3移植根文件系统和BOA服务器
  
  根文件系统是嵌入式Linux系统启动的重要组成部分,也是用户应用程序的载体。本方案采用busybox制作yaffs2文件系统,并在文件系统中加入BOA服务器。BOA是一款单任务的HTTP服务器,当有连接请求到来时,通过建立HTTP请求列表来处理多路HTTP连接请求,同时它为CGI程序创建新的进程。
  
  移植好BOA服务器后,在文件系统中建立/var/www/cgi-bin文件夹,此文件夹用于存放静态网页和CGI程序。
  
  3.4网关软件设计
  
  网关软件程序流程如图5所示。S3C2440通过I/O端口触发CC2430,使其无线发送相应的指令,远程控制传感器节点进行数据采集。采集到的数据通过UART串口传回S3C2440并上传至嵌入式BOA服务器。用户通过IE浏览器就可以实时采集到相应的环境信息。
  
  图5网关软件程序流程图
  
  传感节点采集到的数据zui终将上传至嵌入式BOA服务器上,用户可通过IE浏览器访问服务器IP地址来监测温室的环境信息,监测网页如图6所示。
  
  图6监测网页
  
  4、结语
  
  本文基于S3C2440平台和Linux操作系统提出了一种ZigBee网关的设计方法,并给出了硬件和软件的实现方法,实现了ZigBee无线局域网络与以太网的数据互通。该网关成功地用于温室监控系统中,具有稳定性好、实时性强、可远距离监控等特点。

免责声明

  • 凡本网注明“来源:仪表网”的所有作品,均为浙江兴旺宝明通网络有限公司-仪表网合法拥有版权或有权使用的作品,未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:仪表网”。违反上述声明者,本网将追究其相关法律责任。
  • 本网转载并注明自其它来源(非仪表网)的作品,目的在于传递更多信息,并不代表本网赞同其观点或和对其真实性负责,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品第一来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
联系我们

客服热线: 15267989561

加盟热线: 15267989561

媒体合作: 0571-87759945

投诉热线: 0571-87759942

关注我们
  • 下载仪表站APP

  • Ybzhan手机版

  • Ybzhan公众号

  • Ybzhan小程序

企业未开通此功能
详询客服 : 0571-87759942