ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:1.21MB ,
资源ID:4283013      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4283013.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于ZigBee的无线温湿度采集系统.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于ZigBee的无线温湿度采集系统.docx

1、基于ZigBee的无线温湿度采集系统基于ZigBee的无线温湿度采集系统摘要:针对传统温湿度检测存在的问题,结合无线传感器网络技术,本文提出一种基于ZigBee 技术的无线温湿度采集系统的设计方法。设计采用CC2530 射频芯片及SHT11 数字温湿度传感器,在ZigBee 协议栈的基础上进行应用开发。阐述了ZigBee技术,系统组成及工作原理,系统软硬件设计等内容,并通过实验测试表明,该无线温湿度采集系统能够稳定可靠的运行,并且具有组网简单、功耗低,成本低等优点,具有十分好的实用价值和经济效益。关键字:ZigBee,温湿度,CC2530,协议栈Wireless temperature and

2、 humidity acquisition system based on ZigBee technologyAbstract: According to the problems existing in temperature and humidity detecting of traditional ways, combining with wireless sensor network technology , this paper puts forward a new design of temperature and humidity acquisition system based

3、 on ZigBee technology. The design was carried out based on the ZigBee protocol, adopting CC2530 RF chip and digital humidity and temperature sensor SHT11. Paper introduces ZigBee technology, the overall design of the system, hardware and software design of the nodes and so forth. Finally, the experi

4、mental tests have proved that the wireless temperature and humidity acquisition system was stable and credible , with the advantages of simple networking , low cost and low power, and it has a very good practical value and economic benefits .Keywords: ZigBee, Temperature and humidity, CC2530, Protoc

5、ol1 引言在冷链物流、农业生产、仓库管理以及食品保存等领域,温度和湿度控制显得十分重要,但传统的方法采用测试器材来测量温度和湿度,通过人工进行检测,这种人工测试方法费时费力、效率低,而且测试的温度及湿度的误差大,随机性大。因此,开发一种全新的温湿度采集系统就显得十分迫切和重要了。本文设计了一种采用无线传感器网络技术进行温度和湿度的采集系统。无线传感器网络不需要较高的传输带宽,但需要较低的传输时延和较低的功率消耗。ZigBee 是一种新兴的短距离、低功耗、低数据速率、低成本、低复杂度的无线网络技术,它的出现正好满足了这个要求。2 ZigBee技术ZigBee是一种标准,该标准定义了短距离、低数

6、据传输速率无线通信所需要的一系列通信协议,它拥有一套完整的协议层次结构,由IEEE802. 15. 4 和ZigBee 联盟共同制定完成。其工作频段分别是868MHz(欧洲)、915MHz(北美)、2. 4GHz(全球)3个频段,可以应用于不同的场合,诸如家庭自动化网络、工业控制网络、交互式玩具、远程检测等。完整的ZigBee 协议栈包括物理层(PHY) 、媒体访问控制层(MAC) 、网络层(NWK) 和应用层(APL)。其中,ZigBee 的应用层由应用支持子层(APS) 、ZigBee 设备对象(ZDO) 和制造商定义的应用对象组成。在ZigBee 协议栈中,每一层通过使用下层提供的服务完

7、成自己的功能,同时对上层提供服务,网络中的通信在对等的层次上进行。ZigBee 网络含三种类型的节点,即协调器、路由器和终端设备,其中协调器和路由器均为全功能设备(FFD),而终端设备选用精简功能设备(RFD) 。一个ZigBee 网络有且仅有一个协调器,该设备负责启动网络,配置网络成员地址,维护网络,维护节点的绑定关系表等,需要最多的存储空间和计算能力,它可以看作是一个PAN 的网关节点。路由器主要实现扩展网络及路由消息的功能,终端设备则负责与实际的监控对象相连,实现具体功能的单元。无线传感器网络中可以根据不同的需要组成星型、簇型网和网状型三种不同的网络拓扑结构。星状网络由一个PAN 协调器

8、和多个终端设备组成。只存在PAN 协调器与终端设备的通信,终端设备间的通信都需通过PAN 协调器的转发;树状网络由一个协调器和一个或多个星状结构连接而成,设备除了能与自己的父节点或子节点进行点对点直接通讯外,其他只能通过树状路由完成消息传输;网状网络是树状网络基础上实现的,与树状网络不同的是,它允许网络中所有具有路由功能的节点直接互连,由路由器中的路由表配合实现消息的网状路由。一个ZigBee 网络最多可含有65000 多个子节点,通过无线网络数据从一个节点传送到另一个节点,最终传送到控制中心。另外,它可以与其他的无线网络如GPRS 和CDMA 等兼容,也可以接入有线网络如Internet 、

9、Ethernet ,实现远程监控。3 系统结构和原理基于ZigBee的无线温湿度采集系统采用ZigBee星型拓扑组网方式,多个具有简单功能的设备和传感器构成传感器节点(终端设备),一台具有完整功能的设备作为中心节点(协调器节点),中心节点与中心控制计算机(PC机)相连,中心控制计算机通过上位机软件可以实现对整个系统节点的监测和控制。整个系统工作时,传感器节点负责现场温湿度数据的采集,将采集到数据一定的数据格式存储起来,当上位机需要读取温湿度时,就发送相应指令给协调器,协调器将指令翻译后发送给传感器节点,传感器节点接收到指令,就将温湿度数据无线发送给协调器,协调器通过串口RS232 将数据发送给

10、PC 机,PC机就可以对温湿度数据进行显示、分析和处理,从而实现了温湿度全程的无线采集和监测工作。此外,整个温湿度采集系统还可以实现协调器自检、发送功率设置、终端节点地址设定、时间读取和设置、低功耗设置、拍照等其它功能。4 系统硬件设计4.1 传感器节点无线传感器节点由数据采集、数据处理、无线通信和能量供应四个模块组成。数据采集模块由数字传感器或者模拟传感器加A/ D 转换器组成,负责区域内的温湿度信息采集和数据转换;数据处理模块由微控制器组成,负责控制整个传感器节点的操作和数据存储;无线通信模块由无线收发器组成,负责与其他传感器节点进行通信,能量供应模块为系统其他的三个部分提供能量。传感器节

11、点由瑞温湿度传感器SHT11 检测得到温湿度信息,并转化为数字信号,传输至CC2530,由CC2530负责对信号进行处理发送。节点电源部分使用两节五号电池为整个节点供电。为了使系统工作时间持续长,节点通常在闲置时快速进入休眠模式,其外设模块进入休眠状态,或者电源管理部分不对这些外设模块供电。SHT11是瑞士Sensirion 公司推出的基于CMOSensTM 技术的新型温湿度传感器。SHT11将温湿度传感器、信号放大调理、A/ D 转换、I2C 总线接口全部集成于一个芯片上,该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该

12、电信号首先进入微弱信号放大器进行放大器;然后进入一个14 位的A/ D 转换器;最后经过二线串行数字接口输出数字信号。SHT11 通过DA TA 数据总线输出的是相对湿度,需要进行线性补偿和温度补偿后才能得到较为准确的湿度值。CC2530芯片是用于2.4-GHzIEEE 802.15.4、ZigBee 和RF4CE 应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。CC2530 结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其它强大的功能。在本无线温湿度采集系统中,我们采用的是CC253

13、0F256芯片,它结合了德州仪器的业界领先的黄金单元ZigBee协议栈(Z-Stack),提供了一个强大和完整的ZigBee 解决方案。温湿度传感器SHT11采集到的温湿度数据,存储在CC2530的FLASH ROM中,当传感节点接收到读取温湿度指令时,就通过ZigBee协议栈将温湿度数据发送出去。4.2 协调器节点网络协调器主要负责网络的建立,信息的接收、汇总、处理及控制指令的发送ZigBee 网络最初由协调器发动并建立。协调器通过主动扫描选择一个合适信道, 根据扫描的结果选择自己的PANID 及0x0000 作为自己的短地址,其网络层将通过向MAC 层发送MLME2START. reque

14、st原语启动一个新的PAN 。协调器节点在建成网络后,开始数据收发工作及各种操作指令的执行。当协调器收到数据时,根据数据的串ID 来判断传送的数据是地址信息还是传感器采集的数据,根据不同的数据类型解析数据包提供给PC 机显示和处理。5 系统软件设计本系统的软件设计是基于Ti 公司推出的跟CC2530 芯片配套的Z2STACK 协议栈和IAR 集成开发环境进行设计的。ZSTACK 协议栈运行在一个基于任务调度机制的OSAL 操作系统上,OSAL 通过触发任务的事件来实现任务调度。OSAL 中的任务可以通过任API 将其添加到系统中,实现多任务机制。系统中传感器节点由CC2530 内部的MCU(8

15、051) 控制,定时向温湿度传感器SHT11 发送读温度和湿度指令,SHT11完成温度和湿度转换后会发出转换完成信号,MCU 在接收到转换完成信号后,读取温湿度值,并将这些数据信号传送给协调器。协调器通过串口RS232 和上位机( PC) 相连,通过人机交互的方式对整个区域的进行检测。为了实现这一功能,必须知道节点的长短地址对应表,这就需要节点在加入网络后发送自己的长短地址给协调器,协调器将长短地址对应列表存储起来,以便用户要求采集数据时依据地址表来采集每个传感器的数据。传感节点与协调器节点的温湿度采集及通信流程图如下图1所示。图1 传感器节点与协调器节点的通信流程图6 系统测试验证本无线温湿

16、度采集系统设计完成后,进行了一系列的测试工作,包括通信距离,穿墙能力,系统稳定性以及数据准确性等。经过测试,系统通信距离200米左右(与发送功率有关),可以成功穿越一堵墙通信(与网络拓扑形式有关),并可以稳定工作,预计传感器节点工作寿命可达1年。7 结束语本文设计的基于ZigBee技术的CC2530无线温湿度采集系统,其外围设备简单、功耗低、传输无线化,而且精度高,可靠性好,提供了良好的人机交互界面,方便控制使用,在冷链物流,农业生产以及食品保存等等领域都有很好的应用前景。参考文献:1王小强,欧阳骏,黄宁淋,ZigBee无线传感网络设计与实现,北京:化学工业出版社,2012.5.2高手玮,吴灿

17、阳. ZigBee技术实践教程,北京:北京航空航天大学出版社,2009.63瞿雷,刘盛德,胡咸斌. ZigBee技术及应用,北京:北京航空航天大学出版社,2007.9.4吕强,刘玉华,刘志军,王国胜. 基于ZigBee的无线温湿度检测终端设计. 科学技术与工程, 2008.12; 8 (23) .5Shahin Farahani. ZigBee Wireless Networks and Transceivers, Elsevier Ltd ,20086Sensirion.SHT11Datasheet.http/ pdf7X. Li , W. David. Combining the Best

18、 of Global2as2 View and Local2as2View for Data IntegrationC. PODS ,2004.8A Cal , D Lembo , et al. Experimenting Data Inte2 gration with DISDISC . CAiSE 2004 , Lecture Notes in Computer Science ,2004 ,3084 ,9 :5166.附录:实物图及部分代码1 实物图传感器节点实物 传感器节点外包装手持读写器(协调器节点)2 部分程序代码2.1 终端节点(传感器节点)部分代码static void Ser

19、ialApp_ProcessZDOMsgs( zdoIncomingMsg_t *inMsg );static void SerialApp_HandleKeys( uint8 shift, uint8 keys );static void SerialApp_ProcessMSGCmd( afIncomingMSGPacket_t *pkt );static void SerialApp_Send(void);static void SerialApp_Resp(void);static void SerialApp_CallBack(uint8 port, uint8 event);voi

20、d SerialApp_ProcessHym8563(void); /处理时钟芯片,得到时间数据void SerialApp_ProcessSht11(void); /处理温湿度传感器,得到温湿度数据uint8 SerialApp_GetVoltage(void); /获取电压数据void SerialApp_MemoryTime(void); /存储时间数据(一组时间以及第一组温湿度数据)void SerialApp_MemoryTemp_Humi(void); /存储温湿度数据(第二组到第十七组温湿度数据)void SerialApp_LowPower(void); /低功耗处理函数if

21、( events & SERIALAPP_MEM_TIME_EVT ) PktNum+; /存储时间事件发生,温湿度组数加1 SerialApp_ProcessHym8563(); SerialApp_ProcessSht11(); SerialApp_GetVoltage(); SerialApp_MemoryTime(); osal_start_timerEx( SerialApp_TaskID, SERIALAPP_MEM_TEMP_HUMI_EVT, 10000 ); /一组时间数据和第一组温湿度数据存储好后,等待10秒,触发温湿度存储事件,存储第二到第十七组温湿度 /注意:此处时间最

22、大为65536毫秒,因此为了方便,最多我们可以设置1分钟的延时,即60000 return ( events SERIALAPP_MEM_TIME_EVT ); if ( events & SERIALAPP_MEM_TEMP_HUMI_EVT ) if(PktNum 1 & PktNum clusterId ) / A message with a serial data block to be transmitted on the serial port. case SERIALAPP_CLUSTERID1: / Store the address for sending and retr

23、ying. osal_memcpy(&SerialApp_RxAddr, &(pkt-srcAddr), sizeof( afAddrType_t ); if(pkt-cmd.Data3 = 0x00) /读温湿度指令 CCLD_NV = 0x0400 + pkt-cmd.Data4; /将选择读取的数据包与NV条目对应起来 ReturnValue1 = osal_nv_read(CCLD_NV,0,5,Time_Read); /读时间数据 ReturnValue2 = osal_nv_read(CCLD_NV,5,68,Temp_Humi_Read); /读17组温湿度数据 if(Retur

24、nValue1 = ZSUCCESS & ReturnValue2 = ZSUCCESS & osal_nv_item_len(CCLD_NV) )/读取成功,返回相应数据 Data_Package0 = pkt-cmd.Data0 ; /前缀 Data_Package1 = pkt-cmd.Data1 ; /读写器ID Data_Package2 = pkt-cmd.Data2 ; /TagID Data_Package3 = pkt-cmd.Data3 ; /功能位,读温湿度 Data_Package4 = 0xFF ; /状态位 Data_Package5 = Time_Read0; /

25、时间 Data_Package6 = Time_Read1; Data_Package7 = Time_Read2; Data_Package8 = Time_Read3; Data_Package9 = Time_Read4; for(i=10;icmd.Data0 ; /前缀 Data_Package1 = pkt-cmd.Data1 ; /读写器ID Data_Package2 = pkt-cmd.Data2 ; /TagID Data_Package3 = pkt-cmd.Data3 ; /功能位,读温湿度 Data_Package4 = 0xFE ; /状态位 SerialApp_T

26、xAddr.addrMode = (afAddrMode_t)Addr16Bit; SerialApp_TxAddr.addr.shortAddr = 0x0000; SerialApp_TxAddr.endPoint = SERIALAPP_ENDPOINT; AF_DataRequest(&SerialApp_TxAddr, (endPointDesc_t *)&SerialApp_epDesc, SERIALAPP_CLUSTERID1, 5, Data_Package, &SerialApp_MsgID, 0, AF_DEFAULT_RADIUS); if(pkt-cmd.Data3

27、= 0x01) /设定冷链标签时间,通常设定为当前时间 extern uint8 seconds,minute,hour,date,week,month,years; minute = pkt-cmd.Data8; /设定时间,将协调器发送过来的年月时分秒分别对应赋给年月时分秒 hour = pkt-cmd.Data7; date = pkt-cmd.Data6; month = pkt-cmd.Data5; years = pkt-cmd.Data4; HYM8653_Init(); /时钟芯片初始化 HYM8563_Write_time(); /将设定的时间写入时钟 buffer0 = pkt-cmd.Data0; /前缀 buffer

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1