《基于TI-CC2530的WSN设计—智能屋毕业论文.doc》由会员分享,可在线阅读,更多相关《基于TI-CC2530的WSN设计—智能屋毕业论文.doc(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、xx 大学毕 业 论 文毕业论文题目:基于TI CC2530的WSN设计智能屋学生姓名:xxx学 号:1xxx院(系):计算机科学学院专 业:物联网班 级:2班 指导教师姓名及职称:xx 讲师 起止时间: 年 月 年 月 目录摘 要III第一章 系统概述111智能屋系统的介绍112智能屋系统的功能和特点2第二章 系统总体设计321上位机与下位机32.1.1 上位机工作框图32.1.2 下位机工作框图422应用4第三章 硬件设计流程53.1硬件设计总体概述53.1.1设计框图53.2 CC2530最小系统模块63.2.1 CC2530最小系统模块实物图63.2.2 TI CC253063.2.3
2、 ZIGBEE技术83.3 SHT10温湿度传感器103.3.1 SHT10引脚定义103.3.2 SHT10 参数103.4 光照传感器113.4.1光照传感器说明113.4.2光照传感器电路原理图123.4.3 ADC123.4.4 光照采集框图123.5 OLED12864显示屏模块133.5.1 OLED12864说明133.5.2 OLED12864 电路原理图 143.5.3 OLED12864 驱动程序框图143.6多路继电器模块153.6.1继电器模块实物图及其控制端口153.6.2 继电器控制框图153.7调试电路163.7.1仿真器简介163.7.2调试电路原理图163.8
3、电源电路173.8.1电源器件说明173.8.2 滤波和去耦173.8.3 电源电路原理图183.9智能屋系统电路原理图193.10智能屋系统电路PCB图20第四章 软件设计流程214.1 上位机214.1.1上位机实物图214.1.2上位机程序运行框图224.1.3上位机实现过程234.2 下位机244.2.1协调器程序运行框图244.2.2协调器运行关键程序244.2.3终端节点程序运行框图264.2.4终端节点运行关键程序26第五章 系统测试285.1 zigbee网络连接测试285.2 上下位机通信测试285.3 功能测试295.4 测试过程的问题及解决方法30总结31致谢32参考文献
4、33附录1 上位机程序34附录2 下位机程序3511级计算机科学与技术基于TI CC2530的WSN设计智能屋摘 要随着计算机技术与通信技术的不断发展,加上材料科学即传感器方面的高速发展,WSN即无线传感网络被广泛的应用在各个领域,其中包括环境的检测、工业控制、生活应用、军事国防等等诸多方面。由TI公司开发出无线传感器网络的芯片解决方案CC2530,具有低功耗、可靠性强、组网简单等等优点;并提供给了专门的产品使用配套工具,比如Z-Stack等,更加方便了用户的开发。本文主要介绍基于TI公司开发的cc2530芯片及配套使用的Z-Stack等工具,结合集成开发环境IAR8.20的软件设计和相应的硬
5、件电路设计,实现了对家庭温度、湿度、光照强度等的检测,和对各种家居设备的统一控制管理。通过各个zigbee终端节点采集数据汇集到协调器,协调器进一步将数据传送给上位机,上位机也可以控制各个节点,从而实现家居的控制。关键词: cc2530 zigbee 传感器 上位机 第 II 页 共 23 页WSN design-TIintelligenthousebased on CC2530Abstract With the continuous development of computer technology and communication technology, coupled with th
6、e high speed development of materials science is the WSN sensor, wireless sensor network has been widely used in various fields, including environmental detection, industrial control, military defense and life application, various aspects. By TI company to develop a wireless sensor network chip solu
7、tion CC2530, has the advantages of low power consumption, strong reliability, easy networking, and so on;and to provide the special products supporting the use of tools, such as Z-Stack, moreconvenient for users to develop. This paper mainly introduces the development of TI companys CC2530 chip and
8、supporting the use of other tools based on Z-Stack,Combined with the design of the software design of the IAR8.20 integrated development environment and the corresponding hardware circuit, realized the detection of temperature, humidity, family illumination intensity, and for a variety of Home Furni
9、shing equipment centralized control management. Pool to the coordinator through each ZigBee terminal node data collection, coordination is further transmits the data to the host computer, the host computer can control each node, so as to realize the control of household.KeyWords: CC2530 zigbee senso
10、r computer I基于TI CC2530的WSN设计智能屋专业班级及学生姓名:11计算机2班 朱惠往指导老师:李丹 讲师第一章 系统概述11智能屋系统的介绍本系统由三大部分组成:硬件电路、驱动程序、上位机。硬件电路细分为电源电路、核心板接入及复位电路、硬件调试电路、温湿度传感器电路、光照检测电路、oled12864显示屏电路、继电器电路。驱动程序驱动所有必要的硬件电路。上位机通过串口跟协调器进行通信,控制整个zigbee网络。电源电路提供两种接入方式,一种为适配器直接接入,一种为电池组供电,电源输入小于9V,通过ASM1117芯片转成3.3V,并提供去耦滤波得到稳定的电压源,供给整个硬件
11、系统使用。核心板接入及复位电路为cc2530最小系统模块接入接口,复位电路提供cc2530最小系统复位功能。调试电路提供仿真器在线调试及程序下载功能。温湿度传感器采用高精度SHT10传感器,精度要求符合系统应用的需求;光照传感器使用光敏电阻结合cc2530内带ADC再转换为百分比,从而得到光照强度。Oled12864为自发光显示屏,不需要背光,显示清晰。继电器为低压控制高压设备,实现通过cc2530的3.3v驱动能力控制高压设备。上位机采用labview 2011集成开发环境进行开发,包括获取数据和控制设备的功能,也可以根据设定的时间参数对系统进行定时的关闭功能,上位机支持对多个不同的房间的控
12、制及其不同房间转换的状态维护工作。家居设备和各种传感器连接到zigbee网络的终端节点,终端节点实现环境数据的检测,并受协调器的统一管理,协调器通过串口连接电脑,电脑运行上位机后可以指定时间间隔进行环境数据的收集,协调器一方面负责将上位机的命令转发给终端节点,一方面负责收集终端节点传送回来的数据并传送给上位机。12智能屋系统的功能和特点(1)上位机统一管理家居设备,可视化管理,更加方便和人性化。(2)oled12864进行显示,无需背光,显示清晰。(3)采用TI CC2530芯片,功耗低,稳定,性价比高。(4)稳定的电源电路,通过ASM1117芯片结合去耦电路和滤波电路,得到稳定的3.3V电源
13、供应给整个硬件电路工作。(5)采用高精度温湿度传感器SHT10,完全满足系统运转需求。(6)提供调试接口,方便开发人员进行开发。第二章 系统总体设计21上位机与下位机2.1.1上位机工作框图 图2.1上位机工作框图图2.2 上位机与下位机通信数据帧格式 2.1.2 下位机工作框图 图2.3 下位机工作框图22应用本系统以统一管理为主线,通过zigbee网络将各个终端节点的环境数据汇集到协调器,并受协调器控制,而为了提供更加人性化的管理,借助电脑上位机可以轻松的实现对各个房间的检测控制。系统可以用于各种场所,比如家庭居住,农场,教室管理,养殖场等等,一方面用于检测环境数据,评估环境所处的状态,一
14、方面可以控制各个设备,从而使环境更加舒适。第三章 硬件设计流程3.1硬件设计总体概述本系统围绕一个最小的工作模块进行扩展,首先是电源电路,电源电路作为整个系统运行的关键部分,必需考虑到滤波去耦以及多路电源输出口的设计,本系统输入电源为5V,经过滤波和去耦得到稳定的电源来源,一路电压为5V提供给需要5V工作电压的设备,一路经过稳压芯片稳压到3.3V提供给CC2530芯片使用。最小工作模块扩展出包括温湿度传感器、显示屏、继电器、光照传感器几个外围电路模块,根据需要可以添加上所需的传感器或者设备。 3.1.1设计框图图3.1 智能屋硬件设计框图当协调器发来数据包时,由天线传输到最小系统中进行数据包的
15、解码,得到命令进行解析和处理,如果命令要求获取环境数据,则SHT10温湿度传感器获取温湿度,光照传感器经cc2530内带ADC进行转换并百分化得到数据,然后一方面显示到oled12864显示屏上,一方面通过天线将数据以指定格式发送回协调器。协调器负责两个方面的工作,一个是接收来自上位机的数据帧,并将数据帧进行转发,转发到指定的终端节点,另一个是负责收集来自终端节点的信息,信息包括环境数据和节点所处状态两种,接收到来自终端节点数据后负责对相应的数据进行打包,打包成上位机能够识别的数据帧格式,最终发送给上位机进行处理。3.2 CC2530最小系统模块3.2.1 CC2530最小系统模块实物图 图3
16、.2 CC2530最小系统模块图3.2中主控芯片CC2530IO引脚全部引出,结合TI公司提供的巴伦电路demo,使用12MHZ晶振,及射频前端,使得模块的数据传输距离达到1000米以上,天线接口为塑胶棒接口,性能更好。3.2.2 TI CC2530CC2530片上系统,是用于2.4GHZ IEEE802.15.4标准的解决方案,在很低的功耗下可以组建出强大的zigbee网络,结合了稳定高效的RF收发器性能,标准增强型8051内核,具备8kB RAM,及32KB256KB的闪存。具备不同的运行模式,从而适应超低功耗要求的系统应用1。(1) CPU和内存 增强型单周期8051内核,三种不同的总线
17、:SFR,DATA 和CODE/XDATA,一个调试接口和一个18输入扩展中断单元。(2)中断控制器一共有18个中断源,划分为6个中断组,根据优先级一些中断具备唤醒处于低功耗模式的芯片状态,中断控制器模块最终抽象出相应的寄存器提供给用户去配置使用。(3)内存管理 内存管理器通过SFR总线把cpu和dma总线控制器以及物理存储器还有外设连接起来,提供4个访问点,访问时映射到三个存储器之一,包括一个8KB的sram、闪存、sfr寄存器。(4)时钟和电源管理 提供相应的寄存器给用户进行配置,提供寄存器的配置可以使芯片工作在不同的时钟频率下,默认为16MHZ,电源管理使得芯片可以工作在不同的功耗模式下
18、。(3)外设 外设包括调试接口和I/O控制器管理的各个IO口,调试接口提供给开发人员进行程序的调试和下载,I/O控制器负责配置相应的寄存器以达到让I/O口工作在某种模式下,比如输入、输出、复用等。(4)定时器 CC2530定时器电路模块包括睡眠定时器、看门狗定时器、定时器0、定时器1、定时器2,其中睡眠定时器是一个超低功耗的定时器,计算32KHZ振荡器的周期。(5)ADC CC2530内带有ADC电路模块,支持7到12位精度的转换,P0口8个引脚为ADC的8个转换通道,通道的输入即可以是单端输入也可以是差分输入,参考电压可以是芯片内部电压,也可以是一个单端信号或者一个外部差分信号,CC2530
19、内置ADC模块还自带有一个温度传感器输入通道,用于检测芯片当前的温度。(5)串口 CC2530提供两个串口,分别为USART0 和 USART1m,串口被配置为SPI主从模式或者一个UART, 接收端和发送端拥有双缓冲区,加上硬件流控制,对于高数据量传输的全双工应用非常有利。串口拥有自己的波特率发生器,精度高,工作稳定。(5)无线设备CC2530具备IEEE802.15.4兼容的无线收发设备。 图3.3 CC2530单片机管脚图 3.2.3 ZIGBEE技术(1)zigbee概述Zigbee是一种低速度、短距离、低复杂度、自组织、低功耗的无线通信网络协议,同时也是基于IEEE 802.15.4
20、标准的一种协议。(2)zigbee协议结构 Zigbee协议从下到上分成物理层、介质访问控制层、数据传输层、网络层、应用层,其中物理层和介质访问控制层为IEEE 802.15.4标准规定。(3)zigbee网络特点支持多种网络拓扑结构,包括星状网络、簇状网络、网状网络。Zigbee网络基本低功耗、低成本、低速率、近距离、低延时、高容量、高安全性等特性2。(4)zigbee网络设备组成 Zigbee网络中有4中设备角色,分别是协调器,路由器和终端节点,其中路由器可以不存在,协调器为全功能设备,负责网络的组建,是必须存在的。Zigbee网络由一个主节点管理若干子节点,最多一个主节点可管理254个子
21、节点;同时主节点还可由上一层网络节点管理,理论上最多可组成65000 个节点的大型网络。对于星状网络而言,不管是路由器还是终端节点,都直接与协调器进行通信;而在簇状网络中,协调器负责初始化并且组建起整个zigbee网络,路由器作为中继,对网络起到扩展作用;终端节点可以直接与协调器进行通信,也可以通过路由器再与协调器进行交互3。(5)zigbee网络拓扑图 图3.4星状网络 图3.5簇状网络图3.6网状网络3.3 SHT10温湿度传感器3.3.1 SHT10引脚定义 图3.7 sht10接入口图3.8 SHT10实物图温湿度传感器sht10为2线通信模式,即一个数据线,一个时钟线,通过时钟线进行
22、时序的模拟,同时操作数据线来完成跟主机的通信过程。3.3.2 SHT10参数 图3.9 温湿度传感器SHT10参数3.4 光照传感器3.4.1光照传感器说明图3.10 光照传感器实物图光敏电阻使用半导体的光电效应特性,其电阻值随着光照强度的变化而改变,当光照强度大时,电阻减小,光照强度减弱,电阻增大4。3.4.2 光照传感器原理图 图3.11 光照传感器电路原理图为了提高光照强度检测的准确性,在光照传感器数据线引脚加上上拉电阻,已达到提供数据传送能力。3.4.3 ADCADC即数字模拟转换,可以实现从模拟信号到数字信号的转换,从而更加直观的提供数据以用于分析。CC2530芯片内部自带有8路的A
23、DC模块,可以实现712位精度的转换,而且支持自动执行周期性的数据抽样或者转换通道序列的程序,其参考电压有多种选择,包括芯片内部电压、AVDD或者一个单端、差分外部信号。3.4.4 光照采集框图 图3.12 光照强度采集流程图首先光照传感器捕获光照强度并产生相应的电阻模拟值,ADC通道获取到电阻模拟值后传送给CC2530内部ADC进行模拟值到数字值的转换,指定一定精度范围后得到一定范围内的数字值,再通过数字值的百分比化,得到我们最终需要的光照强度。由于光照传感器对光敏感,所以在设计电路图的时候,应该避免光照传感器与发光物体接近,比如电源指示灯,这种光源会影响光照传感器对实际情况的检测,从而产生
24、光照强度较大的测量误差。另一方面,光照传感器在电路图设计过程中,必须注意传感器被物体遮挡,当光照传感器被物体遮挡后,其对光照强度的采集会与实际情况不符,产生检测误差,导致对自然情况光照强度检测的错误。3.5 OLED12864显示屏模块为了方便用户对环境数据的观察,本系统为每个房间配备一个OLED12864显示屏,用于每个5秒更新显示温湿度,从而达到用户不需要借助上位机也可以轻松的知道房间所处的温湿度状态。3.5.1 OLED12864显示屏模块说明 图3.13 OLED12864实物图显示屏包括VCC、GND、SCL时钟线、SDA数据线、D/C片选线和复位线几个引脚,通过这几个引脚结合时序可
25、以对该模块进行操作。OLED12864为自发光显示屏,不需要背光灯,功耗很低,显示清晰,初始化OLED12864包括设置各种显示标准,及设置光标等等操作,初始化模块后就可以结合写命令和写数据进行操作了,由于本系统采用的OLED12864并不带有字库,故需要在软件层面编写一个字库,当让模块显示一个字符串的时候,就将字库对应的内容即编码进行写入,最终完成在显示屏上的显示工作,当显示屏工作出现不正常的时候,还可以提供软件复位,使得显示屏可以恢复到正常情况。本系统采用的OLED12864模块还具备在零下40摄氏度都能正常显示的低温特性,且其发光特性使得显示屏几乎没有视角的限制,正常情况下视角可以达到1
26、70度,即便从侧门进行观察,也不会失真,而且屏幕尺寸很小即可以显示出128*64个像素点。3.5.2 OLED12864电路原理图 图3.14 oled12864引脚图OLED12864模块工作电压为3.3V,不可以工作在5V电压下。3.5.3 OLED12864驱动程序框图图3.15 OLED12864显示屏工作框图当初始化OLED12864模块后,即可根据驱动程序进行操作,比如调用显示字符串函数将字符串显示出来,值得注意的是,由于该显示屏不自带字库,所以显示时必须要自己借助软件工具进行取字模。3.6 多路继电器模块3.6.1继电器模块实物图及其控制端口 图3.16继电器实物图 图3.17多
27、路继电器控制端口本系统使用的继电器工作电压为5V,触发电压3.3V5V,,引脚IO为控制引脚,连接到CC2530的IO口,通过该IO口就可以实现对继电器的控制。3.6.2继电器控制框图 图3.18继电器控制过程一开始程序运行后初始化继电器模块,继电器控制着设备,从而使得设备处于不工作状态,当用户开启设备的时候,应用程序调用驱动程序,驱动程序进而控制相应的IO口驱动继电器模块,从而实现对设备的开启或者关闭。3.7调试电路3.7.1仿真器简介 图3.19仿真器实物图 TI公司提供的CC2530芯片具备调试接口,提供指定的连线原理图,即可与仿真器进行连接,实现在线程序下载和调试。3.7.2调试电路原
28、理图 图3.20调试电路原理图通过该调试电路图,仿真器即可连接到芯片进行程序的下载和调试。在集成开发环境IAR8.20对程序进行编译链接没有出差之后,才可以进行程序的调试,仿真器的正常使用还需要在电脑上进行相应驱动的安装过程,驱动可以通过TI的官方网站获得。3.8电源电路3.8.1电源器件说明 图3.21 适配器接入口 图3.22电源开关 图3.23 AMS1117 1.适配器接入口即DC插座,提供了适配器的接入口,是系统工作电压的来源,本系统的电源接入口不大于9V。 2.电源开关为自锁型的,按下开关即进行一次状态的转换,适配器提供的电源必须通过该开关进行控制。 3. AMS1117为稳压芯片
29、,其输入电压为3.3V9V,输入电压通过稳压后得到3.3V的稳定工作电压5。3.8.2 滤波和去耦由于适配器提供的电源会受到外界的干扰,比如静电,而且适配器提供的电流本身就以带有很多波纹,有时候波纹或者静电干扰,使得系统无法进行正常的工作,甚至毁坏系统器件6。为了得到稳定的工作电压,必须对电源来源进行滤波和去耦,使得电源更加趋向于一条特定值的曲线,并且不会有太大的波动,进而供应给稳压模块进行稳压,最终得到稳定的工作电压。滤波和去耦一般采用的是电容充放电的原理,遇到较高的电流波纹时,将电流波纹充电到电容中进行缓存,如果电流太小,电容放电以提高电流的强度,如此反复,可以将电流稳定在一个较为平稳的曲
30、线中7。对于电容的选型,一般为一个较小值的电容并联一个较大值的电容,比如0.1UF搭配100UF进行使用,本系统使用0.1UF搭配22UF作为滤波去耦电路8。3.8.3 电源电路原理图图3.24 电源电路原理图本系统的电源来源有两路,通过跳帽可以轻松的选择是使用适配器还是使用电池组进行的供电,有了电源来源后,对输入电流进行必要的滤波和去耦,得到较为稳定的电流源,再通过AMS1117模块进行电源稳压,将电源稳压到3.3V后连接到电源开关,如果电源开关被打开时,电源导通,指示灯亮,电源指示灯为发光二极管,其导通电压和电流很小,所以必须加上限流电阻进行必要的保护,有了电源之后,可以通过控制口将电源进
31、行引出使用,另一方面电源也提供给整个系统运转使用,有一些设备工作在5V的环境下,这里也引出5V的电源口,如果设备需要5V工作电压,就可以使用。3.9智能屋系统电路原理图图3.25 系统电路原理图3.10智能屋系统电路PCB图图3.26 系统电路PCB图第四章 软件设计流程4.1上位机本系统上位机的设计开发使用labview2011集成开发环境,通过图形化编程语言进行前后台的设计。前台提供用户可视化交互界面,后台运行多个线程以实现前台的相应功能9。4.1.1 上位机实物图图4.1 上位机实物图用户最终使用的为该上位机,通过该上位机,可以实现对指定房间的操作,包括设定时间间隔后对房间的环境数据进行
32、定时采集显示,环境数据包括温度、湿度、光照强度。也可以实现对设备的控制,包括设备1、设备2、设备3。同时支持设定时间,让上位机定时关闭所有房间的设备。用户在使用上位机进行房间的环境数据监测和设备的控制之前,必须对房间号进行确认,对于不存在的房间号或没有建立连接的房间号,系统将进行错误提示。 4.1.2 上位机程序运行框图 图 4.2 上位机程序运行框图上位机程序划分为3个线程,第一个线程负责处理控制设备的事件和退出事件,还有房间的验证即上位机窗口设置,如果触发了退出事件,该事件会关闭本线程之后关闭剩下的线程2和线程3。线程2负责获取环境数据,当设定好获取数据时间间隔后,线程2会根据时间间隔发送
33、带命令的数据帧给下位机,并尝试从下位机获取数据,最后显示出来,对于线程2来说,退出事件优先级最高,如果遇到退出事件,线程2会立刻进行响应而退出。线程3负责检查是否启用了定时退出的功能,一方面不断的显示当前时间,一方面对设定的时间进行判断,一旦到达设定时间,将发生带命令帧告诉下位机关闭所有的设备。4.1.3 上位机实现过程上位机的组成包括5个部分。第一部分包括串口的基本设置、软件窗口设置即最小化和透明化、系统开关。第二部分为房间号的验证,为了确定房间处于连接网络的状态,必须对其房间号进行验证,房间号0为系统的初始数据,不用于做房间编号。用户输入房间号后点击验证即可验证房间是否存在网络中,并返回房
34、间设备所处的状态。第三部分为环境数据获取,用户设定时间间隔后可以开启该功能,开启该功能后系统会根据间隔时间进行数据的采集10。第四部分为设备控制部分,通过房间验证后,用户可以对该房间的设备进行控制,包括打开和关闭。第五部分为定时控制功能,用户通过设定时间后,系统到达该时间时,自动关闭网络中所有房间的设备。 图 4.3串口配置 图4.4 房间号验证 图4.5 获取环境数据图 4.6 控制设备图4.7 定时控制功能4.2下位机4.2.1 协调器程序运行框图 图4.8 协调器工作流程协调器作为网络中最重要的角色,在启动后一方面进行zigbee网络的组建,另一方面初始化串口为上位机与下位机通信做好准备
35、,通信准备完成之后,上位机可以在用户图形化交互中将信息发送下来,协调器接收到数据后并不会做处理,而是毫无保留的广播给所有的终端节点,让终端节点去解析处理数据帧,这样不仅可以省下很多时间,更可以及时回应上位机。同时协调器也做接收来自终端节点数据的工作,当接收到终端节点的回馈数据帧后,协调器也不做太多的处理,而是直接交给上位机,上位机一解析出回馈数据帧就可以显示出来了。4.2.2 协调器运行关键程序图4.9 配置串口协调器要与上位机进行通信,必须先进行串口的配置,使得跟上位机的通信配置一致,这里设置波特率为115200,不使用硬件流控制,使用串口0,最大的接收和发送缓冲区为200个字节,并且指定回
36、调函数。图 4.10 协调器串口接收函数协调器接收到上位机的数据后,会调用该函数,在这个函数中,通过操作串口可以把串口中的数据读到缓冲区中。 图 4.11 协调器广播数据包函数协调器接收到来自上位机的数据帧后,不做处理,通过该函数进行数据帧的转发。4.2.3终端节点程序运行框图 图4.12 终端节点程序运行流程终端节点只有在zigbee网络中才可以被控制,当房间没有在zigbee网络中时,上位机无法进行控制,而想检测房间是否在zigbee网络中,可以通过对房间的验证。验证命令最终发送到终端节点中,如果终端节点接收到该命令并确认必须处理它时,就把所有设备的状态和存在的信息进行打包,发回给协调器,
37、从而完成验证;验证通过后就可以解析处理各种命令了。对于控制设备命令而言,终端节点并不会回馈数据帧给协调器,而是进行直接的设备控制。获取环境数据时,通过驱动温湿度传感器sht10和光照传感器结合ADC得到相应的数据,进行规定格式的数据打包,再发送给协调器。4.2.4终端节点运行关键程序每个终端节点都有一个ID号对应于房间号,ID号的定义为:static unsigned char endpoint_id = 1; /ID为1的终端节点!协调器广播的数据帧里面就带有ID号,指示命令发给哪一个房间去进行解析处理。图4.13 显示环境数据事件终端节点一开始就设置了一个用户事件,用来每隔5S获取一次环境
38、数据并且显示到显示屏上,使得用户可以直接通过显示屏进行环境数据的观测。图4.14 处理数据帧终端节点接收到数据帧后,会调用函数datafram_handle进行解析和处理,处理完成后如果需要回馈数据,调用SampleApp_Send_P2P_Message函数进行数据包的回馈工作。第五章 系统测试5.1 zigbee网络连接测试 图 5.1 zigbee协调器实物图图5.2 zigbee终端节点实物图IAR8.20集成开发环境中编写程序,经过调试后没有错误,分别选择协调器和终端节点,编译链接源程序,下载到对应的节点当中,复位协调器,终端节点连接进zigbee网络。 图5.3 程序调试结果 图
39、5.4 协调器信息 图 5.5 终端节点信息5.2上下位机通信测试Zigbee网络已经组建成功,上位机通过usb线连接到协调器后,进行房间号验证测试,如果房间号验证通过了,说明上位机与下位机的通信没有问题。首先运行上位机软件,输入房间号,调试房间号为1,输入房间号后点击确认按钮,完成验证。 图5.6 房间号验证测试房间号验证命令经过协调器转发到相应的终端节点,终端节点回馈信息给协调器,协调器进一步将信息发送给上位机,由此可以证明上位机与下位机通信处于正常状态。 5.3功能测试房间号验证通过之后,就可以进行各个功能的测试了,比如环境数据的获取、设备的控制、定时功能。 图5.7 获取环境数据 图
40、5.8 控制设备如果房间号没有正常连接的话,对失败的控制将出现错误。 图 5.9 设备控制失败图5.10 设置定时关闭5.4测试过程中的问题及解决方法系统的从设计到实现都或多或少会出现各种错误,这时候对错误的调试就尤为重要了,尤其是关键问题的容错处理方式,其对系统的稳定性和系统的流畅性起到很重要的影响,当然对于程序语法的错误就进行改正即可,对于逻辑的错误,或者硬件出错方面的内容,则需要花费更多的时间和更细心的对待方式去进行调试和修正。表5-1 调试问题表序号问题解决方法1光照强度数据获取不完整。把u8类型改变为u16类型,提高获取精度。2无法获取温湿度值。时序有问题,将us延时函数从原来的16
41、MHZ改变为32MHZ。3程序链接失败,地址空间不足。改变配置文件中程序存储空间的结束位置。4无法控制继电器。硬件虚焊,导致控制继电器的引脚没有正常连接,重新焊接该引脚。5上位机与下位机不能正常通信。波特率从9600改变为115200。6上位机获取环境数据与控制设备冲突。改变获取环境数据的命令,使得获取环境数据与控制设备的命令不同。7定时关闭功能不能按照设定的进行定时关闭。对设定的时间与当前时间的比较进行直接的字符串比较,而不是数值比较。8环境的获取时间间隔太长导致系统不能正常的被关闭。将时间间隔进行多个等分进行,每个等分为200ms。总结 毕业设计在规定的时间内提早完成了,但是毕业的日子也不
42、远了,一路走来,尤其是做毕业设计的这段时间,让我学到了很多知识,其中包括以labview 2011为开发环境的上位机开发技术,以及以IAR8.20集成开发环境和Z-Stack为基础的zigbee技术开发;而更加重要的是在做毕业设计时候的那份坚持不懈,细致入微和团队合作能力。当毕业设计成功完成之后的那份心情是无比的激动和感动,所谓苦尽甘来就是这样了。毕业设计不仅考验我们的学习能力和知识储备基础,更让我们同学间的关系更加的亲近,当做毕业设计的过程中碰到一些问题时,大家都很积极的一起探讨,一起试着去找到解决的方法,建议与不断的尝试,问题一个个迎刃而解,大家的关系越发的紧密。 一开始接到毕业设计题目之
43、后,确实是无从下手,但是经过了多天的查阅书籍和同学的帮忙,渐渐的有了方向,顺着方向,把学习到的理论慢慢的应用到实际当中,这里也深刻的体会到理论与实际的差别,确实,理论只有应用到实际中才能学得更多,体验得更多。随着学习的一步步深入,系统的设计越来越清晰,已经不再是毫无头绪,而更多的是注重细节部分的完善。系统的调试在理论上学的跟实际情况的区别还是比较大的,在调试中也懂得了经验的重要性,在更有经验的同学帮助下,学习的速度也会快很多。 致谢在毕业设计工作过程中,我尤其要感谢我的指导老师,她对我的帮助很大,尤其是在我毫无头绪的时候,李老师为我指定了应该学什么,怎么去学,这让我重新找到了方向;而在我设计过
44、程中遇到了困难,她也会尽可能得帮我理清逻辑,查补缺漏;在系统调试阶段也指出了很多不足的地方或者多余的地方;在论文阶段帮忙查看格式问题和各种内容的问题。这不仅让我能够顺利的完成毕业设计更主要的是教会了我应该如何更高效率的去学习和更高效率的去实践,而且告诉了我一个深刻的道理,那就是苦尽甘来,只要坚持的学习下去和努力下去,总会有回报的。为此再次感谢我的指导老师和这次毕业设计过程。参考文献1 王小强. Zigbee传感网络设计与实现M.北京:化学工业出版社,2012.21-23.2 孙利民,李建中等.无线传感器网络M.北京:清华大学出版社,2005.60-77.3 张亮.基于Zigbee技术的智能家居环境监测系统D.武汉:武汉科技大学,2009.12-30.4胡启明 葛祥磊. Proteus从入门到精通100例M.北京:电子工业出版社,2012.44-51.5朱清慧,万志奎等 . Proteus教程M.北京:清华大学出版社,2005.12-33.6寇戈,蒋立平.模拟