基于无线传感网络的温室大棚智能监控系统.docxVIP

基于无线传感网络的温室大棚智能监控系统.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
— PAGE \* Arabic 1 — 基于无线传感网络的温室大棚智能监控系统 基于无线传感网络的温室大棚智能监控系统 2.2网关系统结构 网关是互联网与无线传感器网络之间的数据通信桥梁。本方案提供了三种网关接入方式:本地访问、手机访问和互联网访问。网关系统结构如图2所示。 2.3传感器网络结构 ZigBee网络存在三种逻辑设备类型,即协调器、路由器、终端设备,并且在一个ZigBee网络中有且只有一个协调器。当协调器被激活后.它就会建立一个自己的网络。本方案采用的是星型网络,在星型网络结构中有一个唯一的PAN主协调器.通过选择一个PAN标识符确保网络的唯一性。路由或终端都可以加人到这个网络中来。系统的传感器网络结构如图3所示。 功能模块如图4所示。RF的输入,输出是高阻和差动的,用于RF口最合适的差动负载是(115+180n)。当使用不平衡天线时为了优化性能,应当使用不平衡变压器。由于CC2430的工作电雎为3.3V,所以要用电压转换模块把5 V降到3.3V。CC2430可以同时接32MHz和32.768 kHz的两种频率的晶振电路.以满足不同的要求。串口模块用于调器将无线接收的数据信息传送给网关,同时传送过来的 控制命令。LED指示灯用于显示网络连接状态。 3.2传感器节点硬件设计 无线传感器节点由各种数据采集模块、CC2430数据传输模块、电源模块和外部数据存储等功能模块组成,功能模块如图5所示。数据采集模块负责采集监测区域的温度、湿度、光照强度等信息并完成数据转换;CC2430数据传输模块负责与路由节点进行无线数据交换、传输采集数据、接收控制命令。外部数据存储模块用来保存传感器节点采集的数据。电源管理模块采用两节5号干电池。LED指示灯显示加入或退出网络的状态。 用程序开发;主控中心Web应用程序开发本文着重实现基于Z—Stack的应用程序开发。 4.1 ZigBee协议栈. ZigBee协议栈由一组子层构成,每一层向它的上层提供数据和管理服务,分别为物理层(PHY)、媒体访问控制层(MAC)、网络层(NWK)和应用层(ADL),应用层又分为:应用支持子层(APS)、ZigBee设备对象(ZDO)和由制造商制定的应用对象【24。5】。 实际开发中根据需要将协议栈的层次又做了细化。Z—Stack中的硬件抽象层HAL 提供各种硬件模块的驱动,基于HAL之上是操作系统抽象层OSAL。OSAL实现了一个易用的操作系统平台,以实现多任务为核心的系统资源管理机制。Z—Stack 采用操作系统的思想来构建,采用事件轮循机制,当各个层初始化完成后,系统将会进入低功耗模式,当有事件发生时,系统立刻被唤醒,并转而进入中断处理事件,处理完成后再次进入低功耗模式,减少功耗。OSAL把优先级放在了最重要的地位。当在处理的任务中有两个以上事件待处理,处理完一件后,也要去查询优先级更高的任务。赋予优先级高的任务最大的权利,尽可能保证高优先级任务的每一个事件都能得到最及时的处理。 4.2无线传感网软件平台搭建 操作系统是通过调度各项任务来使整个系统协调运作起来的。对不同类型设备的 处理作为一个任务,把新建的任务添加到系统中,操作系统便会把新任务与协议栈融合到一起,使系统具备新的功能,即完成了无线传感器网络软件平台的搭建。 (1)建立任务:任务初始化函数的建立任务初始化函数要做两件事,首先是为任务获取系统分配的任务ID,最后是初始化运行任务所需的硬件资源及变量。 任务初始化函数的格式为:XXX—Init(unsignedchar task—id) (XXX_TaskID=task—id;初始化任务运行所需的硬件资源及变量。 1其中“XXX”表示任务的名称。“XXX_TaskID”是用户自己定义的变量,用于存储任ID号。 (2)建立任务:任务事件处理函数的建立对模块的各种外部变化操作系统以事件的方式来处理,不同的宏定义代表不同事件,比如:KEY—CHANGE为按键事件;ZDO—STATE—CHANGE为网络状态变化事件;AF_INCOMING_MSG_CMD表示接收到其他节点发送来的数据,该事件为无线处理的重要事件。任务事件处理函数原型为:uintl6 Sample—ProcessEv—ent(uint8 task—id,uintl6 events);形参task —id为任务ID号,events为事件。 f3)添加任务 所有的任务添加都是在

文档评论(0)

182****8569 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6243214025000042
认证主体宁阳诺言网络科技服务中心(个体工商户)
IP属地北京
统一社会信用代码/组织机构代码
92370921MADC8M46XC

1亿VIP精品文档

相关文档