基于ZigBee的无线温湿度采集系统设计燕山大学——本科毕业论文学院:电气工程学院年级专业:10级自动化学生姓名:***指导教师:***2020/5/14内容提要1绪论2ZigBee协议简介3系统总体方案设计4系统硬件设计5系统软件设计6网络测试与分析7C008搭载ZigBee网络8总结与展望2020/5/141绪论1.1课题的研究背景及意义ZigBee技术具有低成本、低功耗、低速率的特点和高可靠性、组网简单、灵活等优势。ZigBee技术主要领域有大棚温湿度采集控制、家庭办公自动化、工业与环境监测及人员定位与医疗护理等。ZigBee技术满足了无线通信、网络大范围覆盖、网络灵活性高以及维护管理方便等要求,是将来物联网发展的趋势。由于ZigBee网络覆盖范围有限,本文将ZigBee网络与北京韦加航通科技有限公司的C008设备网络配合使用,实现远程大范围监控。2020/5/141绪论1.2系统设计思路2020/5/14ZigBee系统设计思路如下图:温湿度采集系统系统硬件设计系统软件设计协调器节点电路设计路由器节点电路设计采集节点电路设计系统协议设计系统网络设计设备通信设计上位机软件设计DHT11数据采集设计1绪论ZigBee协调器采集的数据传给C008终端,C008终端再通过C008基站上传到PC机,实现网络的大范围远程监控,网络如下图:2020/5/14ZigBEE网络ZigBEE网络ZigBEE网络C008基站C008终端C008终端C008终端网口ZigBEE网络C008终端网口网口网口PC机1.3C008搭载ZigBee网络实现方案2ZigBee协议简介2.1ZigBee网络设备IEEE(电气和电子工程师协会)定义了两种不同类型的设备:一种是全功能设备(FFD),另一种是简化功能设备(RFD)。FFD能够转发其他设备的数据帧,与多个其它的FFD或多个RFD进行通信;RFD不能同其他终端节点通信,只能够同FFD进行通信。ZigBee技术支持星型网、树状网和网状网三种网络拓扑,其网络中有三种的数据通信机制:单播(Unicast)、组播(Multicast)和广播(Broadcast)。2020/5/142.2ZigBee协议栈架构ZigBee协议分两部分,IEEE802.15.4标准定义了物理层(PHY)和介质访问层(MAC)技术规范;ZigBee联盟定义了网络层(NWK)、应用层(APL)技术规范。2ZigBee协议简介2020/5/143系统硬件设计3.1系统整体设计本文设计的系统,主要由1台PC机、1台协调器、多台终端和若干台路由器组成。协调器负责建立网络,终端和路由器加入网络后,终端将采集的数据上传给协调器;协调器通过串口上传数据至PC机,PC机通过上位机界面显示并存储。2020/5/14ZigBee路由器ZigBee路由器ZigBee路由器ZigBee协调器采集节点采集节点采集节点采集节点PC机串口硬件平台的选择:本文设计的系统选用TI的CC2530SoC芯片作为ZigBee无线网络的硬件解决方案。3系统硬件设计3.2协调器电路设计2020/5/14DVDD10AVDD_DREG39NGND_USB1USB_M2USB_P3DVDD_USB4AVDD5/AVDD_SOC21AVDD324AVDD227AVDD128AVDD429AVDD_GUARD31P2_036P2_135P2_234P1_011P1_19P1_28P1_37P1_46P1_55P1_638P1_737P0_019P0_118P0_217P0_316P0_415P0_514P0_613P0_712RF_P25RF_N26P2_432P2_333XOSC32M_Q122XOSC32M_Q223DCOUPL40RBIAS30GND41RESET_N20CC2530U1CC2530F256100nFC21uFC1VDD3V32nHL1100nFC3100nFC4100nFC5220pFC6100nFC72.2uFC8GNDGNDGNDGNDGNDGNDGNDGNDP2_0P2_1/DDP2_2/DCP1_0P1_1P1_2P1_3P1_4/CSNP1_5/SCLKP1_6MOSIP1_7MISOP0_0P0_1P0_2/RXP0_3/TXP0_4P0_5P0_6P0_7RESET18pFC1018pFC92nHL2GND1pFC121pFC11GND2nHL32.2pFC13GNDGND56KR1GND1uFC1827pFC1727pFC1615pFC1515pFC1412Y232.768K12Y132MGNDGNDGNDGNDGNDGND51234SMACC2530核心电路设计3系统硬件设计2020/5/14P0_2/RXP0_3/TXVDD_3V34.7KR81KR7GNDVDD_5VDTR_NTXDRXDRTS_NVDD_232RI_NGNDVDDDSR_NDCD_NCTS_NSHTD_NEE_CLKOSC1OSC2GND_PLLPLL_TESTVDD_PLLLD_MODETRI_MODEGNDVDDRESETVDD_3V3DMGND_3V31234567891011121314EE_DATADP1516171819202122232425262728U2PL2303HX100nFC222pFC322pFC412Y132MGNDGNDGND100nFC5VDD_5V100nFC620R1020R111.5KR12VCC_INVBUS1D-2D+3GND4P10USBGNDGNDPOWERCC2530_IO123DCINPWR2.5VCC_INVinVoutGNDU1HT753310uFC110uFC2GNDGNDPowerVDD_3V3BTBatteryPWR4.7KR9GND123456P6Header3X2123456P7Header3X2VDD_3V3VDD_5VGNDGNDPL2303Debug&LCD12345678910P8DebugGNDVDD_3V3VDD_3V3VDD_3V3GNDP2_2/DC10KR110KR13P2_1/DDP1_5/SCLKP1_6MOSIP1_7MISORESETP1_4/CSNKey&LEDRESETSW-PBS1SW-PBS2SW-PBGNDGNDGNDVDD_3V310KR210KR3RESETVDD_3V31KR41KR51KR6D3D2D1P1_4/CSNP1_0P1_1P0_4P0_51234P5GND1234P11VDD_3V3P0_710uFC6GND10KR15VDD_3V3P0_2/RXP0_3/TXP2_0P2_1/DDP2_2/DCP1_0P1_1P1_2P1_3P1_4/CSNP1_5/SCLKP1_6MOSIP1_7MISOP0_0P0_1P0_2/RXP0_3/TXP0_4P0_5P0_6P0_7DHT11VDD_3V310KR14RSTCSSCKRSSDAVDDVSSLEDAROM_CSROM_SCKROM_OUTROM_IN123456789101112P9LCDP1_5/SCLKP1_6MOSIRESETP0_0P0_11234567891011P21234567891011P3RESETGNDVDD_5VVDD_5VP2_0P2_1/DDP2_2/DCP1_0P1_2P1_3P1_4/CSNP1_5/SCLKP1_6MOSIP1_7MISO1234567891011P1P1_1P0_0P0_1P0_2/RXP0_3/TXP0_4P0_5P0_71234567891011P4RESETGNDVDD_5VP0_61uFC3底板CC2530核心电路设计3系统硬件设计3.3终端节点电路设计终端节点负责数据采集。温湿度传感器DHT11应用电路如右图:2020/5/141234P11VDD_3V3P0_710uFC6GND10KR15VDD_3V3VDD_3V310KR14123DCINPWR2.5VCC_INVinVoutGNDU1HT753310uFC110uFC2GNDGNDPowerVDD_3V3BTBattery终端节点工作位置不确定,使用电池供电,电路如右图:终端节点去掉了USB转串口电路。核心电路、复位电路、Debug下载电路以及网络指示灯电路参考协调器电路的设计。3.4路由器电路设计路由器设计时,去掉了USB转串口电路,加上了传感器应用电路。复位电路、Debug下载电路、网络指示灯电路以及传感器应用电路参考协调器电路的设计。4系统软件设计4.1软件平台概述2020/5/14系统设备软件部分选择TI的Z-Stack2007协议栈;采用软件平台IAR-EW开发。上位机界面选择LabVIEW设计。4.2ZigBee设备通信ZigBee协议栈:使用ZStack-CC2530-2.3.0-1.4.0协议栈的SampleApp进行设计开发。Z-Stack由main()函数开始执行,main()函数共做了2件事:一是系统初始化,另外一件是开始执行轮转查询式操作系统。用户自己添加的应用任务程序在Zstack中的调用过程为:main()--osal_init_system()--osalInitTasks()--SampleApp_Init(),具体如右图:执行操作系统系统初始化开始4系统软件设计2020/5/14macEventLoop()本任务当前最高优先级事件Hal_ProcessEvent()nwk_event_loop()APS_event_loop()SAPI_ProcessEvent()开始本任务当前最高优先级事件系统消息事件ZDO状态改变事件网络初始化事件网络启动事件网络更新NV事件设备重启事件系统消息事件允许绑定时间事件绑定时间事件进入事件用户事件本任务当前最高优先级事件ZDApp_event_loop()系统消息事件LED闪烁事件键盘事件YYYYYYNNNNNZ-Stack中操作系统是基于优先级的轮转查询式操作系统,执行流程图如右图:4系统软件设计2020/5/14网状网协调器路由器采集节点在一个网络结构中,只有一个协调器和数个终端节点以及若干个路由器组成。网状网络是树状网络基础上实现的,与树状网络不同的是,它允许网络中所有具有路由功能的节点直接互连,由路由器中的路由表实现消息的网状路由。数据的收发:网状网程序设计:ZigBee设备间通信:设备发送端,调用自定义的发送函数(SampleApp_Send_P2P_Message)发送数据;接收端就调用事件任务处理(SampleApp_ProcessEvent)、消息处理函数(SampleApp_MessageMSGCB)接收数据。设备发送的数据包括发送设备的64位扩展IEEE地址和DHT11的采集温湿度。其中跟据DTH11的传输时序编写温湿度采集程序,程序主要包括:延时函数,8位数据写入,DHT11传感器启动、读取数据。4系统软件设计2020/5/144.3上位机设计上位机界面使用LabVIEW编写。LabVIEW前面板主要是一些输入输出控件,界面的布局等;后面板是程序框图,主要是串口数据读取、数据包解析、数据的存储等,后面板程序如下图:4系统软件设计2020/5/145网络测试与分析5.1组网测试建立一个简单的网络,该网络包括1个协调器、1个路由器和1个终端节点。协调器和路由器采用电源供电,终端节点采用电池供电。依次给协调器、路由器和终端节点上电。观察到,所有节点的LED灯均闪烁然后常亮,协调器建网成功;路由器和终端节点也成功加入了网络。测试现象如下图:2020/5/145网络测试与分析5.2无障碍测试在空旷的广场将协调器位置固定,终端节点从距离为10米的地方开始,每10米记录一次,到100米结束。每次发送数据包100次,从上位机界面观察成功接收的数据包个数,计算丢包率。测试数据如下表所示:2020/5/14距离(m)发送包数(个)接收包数(个)丢包率(%)1010010002010010