杨盛培无线传感网期末论文Word文件下载.docx
- 文档编号:16411130
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:21
- 大小:823.46KB
杨盛培无线传感网期末论文Word文件下载.docx
《杨盛培无线传感网期末论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《杨盛培无线传感网期末论文Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
对本学期该课程学习的总结和对教师的教学建
议。
3.上述各文件,包括实验所用的工程文件和源代码文件,以EMAIL邮件附件的形式,统一发送到
任课教师信箱:
suogr@。
4.课程论文含本封面打印一份上交任课老师处。
《无线传感器网络技术》
期
末
论
文
【题目】基于ZigBee的无线传感器组网实验
1.基本要求:
●由协调器创建一个网络号PANID末3位为138的网络;
●以实验箱的1号ZigBee模块为基础,加入前述网络,完成采集温度信息的过程,并发送给协调器;
●以实验箱上2号ZigBee模块为基础,加入前述网络,完成光谱气体信息的采集并当气体溶度超过一定限度时发送一个警告信息给协调器;
●包括上述两个ZogBee模块在内,至少组织8个ZigBee模块加入前述ZigBee网络,获取各自节点的网络地址,并发送给协调器;
●协调器通过串口和PC上位机进行联系,将收集到的传感器信息和网络地址信息发送给上位机;
●根据各节点网络地址信息进行网络拓扑分析。
2.实验环境:
物联网嵌入式实验箱(型号UP-CUPIOT-6410-Ⅱ)2台
(1个ZigBee协调器模块8个ZigBee终端模块)
上位机1台
(软件:
IAREmbeddedWorkbenchIDE和串口助手)
【前言】
互联网是现代社会重要的信息基础设施,对经济社会发展和国家安全具有战略意义,与构建和谐社会、建设创新型国家和走新型工业化道路等重大战略的实施紧密相关。
但随着人类文明的不断进步,科技的不断发展,互联网在一些方面已经无法满足人们的需求,所以下一代互联网——物联网的诞生势在必行。
物联网是在互联网基础上的延伸和扩展的网络,将是新一代信息技术的核心部分。
物联网通过各种信息传感设备,实时采集任何需要监控、连接、互动的物体或过程等各种需要的信息,与互联网结合形成的一个巨大网络,用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,其目的是实现物与物、物与人,所有的物品与网络的连接,方便识别、管理和控制。
物联网要实现物与物之间的感知、识别、通信等功能需要有大量先进技术的支持,传感器技术就是其中一项关键性的技术。
传感器技术,作为信息获取最重要和最基本的技术,已经从过去的单一化向集成化、微型化和网络化方向发展,这就是无线传感器网络技术。
无线传感器网络技术综合了多种领域,也是当前计算机网络研究的热点,具有巨大应用价值。
因而已经引起了世界许多国家的军事部门、工业界和学术界的广泛关注,被广泛地应用于军事,工业过程控制、国家安全、环境监测和现代农业等领域。
由此可见,无线传感器网络技术是物联网发展与应用的基础技术及重要组成部分;
因此,作为物联网方向专业的一名本科学生,学好本学期学校所开设的《无线传感器网络技术》是一件十分重要的事情,无论是以后的继续深入的学习还是工作,我们都将获益匪浅。
【摘要】
ZigBee是无线传感器网络技术中一种新兴的专为低速率无线个域N(LR.WPAN)-而设计的低成本、低功耗的短距离无线通信协议,能够广泛的应用于军事,工业,智能家居等领域。
但由于ZigBee技术出现较晚,其规范及应用仍在不断的完善和发展之中。
本次课程期末实验由一个ZigBee协调器创建一个网络,实验箱的1号ZigBee模块,加入前述网络,完成采集温度信息的过程,并将信息发送给协调器;
实验箱的2号ZigBee模块,加入前述网络,完成可燃气体或烟雾溶度的监测工作,当检测到可燃性气体或烟雾时发送一个警告信息“可燃性气体超标!
请注意!
”给协调器;
实验箱的3号,4号以及另一试验箱的1,2,3,4号ZigBee模块,也都加入前述网络但并不要其完成相关的信息采集工作,只需将其网络ID发送给协调器。
通过此次对Zigbee协议的无线网络组网方案的学习及相关课程的设计,我们初步认识并了解了ZigBee及其协议栈的内容,意义以及它的应用前景。
【关键词】
无线传感器网络ZigBee技术ZigBee2007协议栈传感器节点CC2530芯片
【正文】
1.在实验之前所先要掌握的知识
1.1无线传感器网络是什么?
1.1.1定义:
无线传感器网络(即WirelessSensorNetworks,简称WSN)是指由一组随机分布的集成有传感器、数据处理单元和通信模块的传感器以自组织方式构成的无线网络,用于实时监测网络覆盖区域的各类监测对象的信息。
WSN综合了传感器技术、无线通信技术、嵌入式系统技术、分布式信息处理等技术,是一项集成了多学科的技术领域,已成为构建无线物联网的重要技术。
1.1.2特点:
无线传感器网络有大规模,自组织,动态性,可靠性,以数据为中心,集成化,具有密集的节点布置,协作方式执行任务等特点。
1.1.3结构:
传感器网络系统通常包括传感器节点(EndDevice)、汇聚节点(Router)和管理节点(Coordinator)。
大量传感器节点随机部署在监测区域内部或附近,能够通过自组织方式构成网络。
传感器节点监测的数据沿着其他传感器节点逐跳地进行传输,在传输过程中监测数据可能被多个节点处理,经过多跳后路由到汇聚节点,最后通过互联网或卫星到达管理节点。
用户通过管理节点对传感器网络进行配置和管理,发布监测任务以及收集监测数据。
传感器节点
传感器节点处理能力、存储能力和通信能力相对较弱,通过小容量电池供电。
从网络功能上看,每个传感器节点除了进行本地信息收集和数据处理外,还要对其他节点转发来的数据进行存储、管理和融合,并与其他节点协作完成一些特定任务。
汇聚节点
汇聚节点的处理能力、存储能力和通信能力相对较强,它是连接传感器网络与Internet等外部网络的网关,实现两种协议间的转换,同时向传感器节点发布来自管理节点的监测任务,并把WSN收集到的数据转发到外部网络上。
汇聚节点既可以是一个具有增强功能的传感器节点,有足够的能量供给和更多的、Flash和SRAM中的所有信息传输到计算机中,通过汇编软件,可很方便地把获取的信息转换成汇编文件格式,从而分析出传感节点所存储的程序代码、路由协议及密钥等机密信息,同时还可以修改程序代码,并加载到传感节点中。
管理节点
管理节点用于动态地管理整个无线传感器网络。
传感器网络的所有者通过管理节点访问无线传感器网络的资源。
1.2什么是ZigBee技术?
1.2.1ZigBee技术的简介:
ZigBee技术是一种新兴的短距离、低速率无线网络技术,是基于IEEE802.15.4无线标准研制开发的,关于组网、安全和应用软件的技术标准。
其目标是建立一个无所不在的传感器网络(UbiquitousSensorNetwork),主要适用于自动控制和远程控制领域,可以嵌入到各种设备中,同时支持地理定位的功能。
1.2.2ZigBee技术的特点:
1.数据传输可靠:
ZigBee的MAC层采用CSMA/CA的碰撞避免机制,同时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突;
同时,MAC层采用了完全确认的数据传输机制,每个发送的数据包都必须等到接收方的确认信息。
同时ZigBee采用较短的帧格式(<
128字节)和CRC校验机制来减少无线通信的误码率。
2.功耗低:
Zigbee技术采用了多种节电的工作模式,可以确保两节电池支持长达6个月到两年的试用时间。
而蓝牙能工作数周、WiFi可工作数小时。
3.成本低:
ZigBee数据传输速率低,协议简单,所以大大降低了成本。
且免收专利费,目前低速低功耗的UWB芯片组价格至少为20美元,而Zigbee的价格仅为几美分。
4.网络容量大:
每个ZigBee网络最多可支持255个节点,加上网络的协调器可以互相连接,整个Zigbee网络节点的数目将十分可观。
一个区域内可以同时存在最多100个Zigbee网络,理论上可容纳65535个节点。
5.安全:
ZigBee提供了数据完整性检查和鉴权功能,采用AES.128加密算法。
6.有效范围小:
有效覆盖范围10--75米之间,具体依据实际发射功率的大小和各种不同的应用模式而定,基本上能够覆盖普通的家庭或办公室环境。
7.兼容性:
ZigBee技术与现有的控制网络标准无缝集成。
通过网络协调器自动建立网络,采用载波侦听/冲突检测(CSMA.CA)方式进行信道接入。
为了可靠传递,还提供全握手协议。
1.2.3ZigBee节点类型:
1.ZigBee协调者(Coordinator)
-每各ZigBee网络必须有一个.
–初始化网络信息.
2.ZigBee路由器(Router)
–路由信息.
3.ZigBee终端节点(EndDevice)
–没有路由功能
–低价格
1.2.4ZigBee具有多种网络拓扑:
1.3什么是ZigBee2007协议栈?
1.3.1ZigBee2007协议栈简介:
ZigBee2007协议栈定义了通信硬件和软件在不同层次如何协调工作。
在网络通信领域,在每个协议层的实体通过对信息打包与对等实体通信。
在通信的发送方,用户需要传递的数据包按照从高层到低层的顺序依次通过各个协议层,每一层的实体按照最初预定消息格式在数据信息中加入自己的信息,比如每一层的头信息和校验等,最终抵达最低层的物理层,变成数据位流,在物理连接间传递。
在通信的接收方数据包依次向上通过协议栈,每一层的实体能够根据预定的格式准确的提取需要在本层处理的数据信息,最终用户应用程序得到最终的数据信息并进行处理。
1.3.2ZigBee2007协议栈中使用的各个层次:
APP:
应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈里面一般是以操作系统的任务实现的。
在APP目录下添加三个文件即可完成一个新的任务项目(1、主文件:
存放具体的任务事件处理函数;
2、主文件的头文件;
3、操作系统接口文件:
以Osal开头,专门存放任务处理函数数组tasksArr[])。
HAL:
硬件层目录,包含有与硬件相关的配置和驱动及操作函数。
Common目录下为公用文件,基本与硬件无关。
Hal_assert.c:
断言文件,用于调试;
Hal_drivers.c:
驱动文件;
Including目录下包含各个硬件模块头文件;
Target目录下文件与硬件平台相关。
MAC:
MAC层目录,包含了MAC层的参数配置文件及其MAC的LIB库的函数接口文件。
MAC层分高层和底层,include目录下包括MAC层参数配置文件及其mac的lib库函数接口文件。
MT:
监控调试层目录,实现通过串口调试各层,与各层进行直接交互。
NWK:
网络层目录,含网络层配置参数文件及网络层库的函数接口文件,APS层库的函数接口。
OSAL:
协议栈的操作系统。
Profile:
AF层目录,包含AF层处理函数文件。
Security:
安全层目录,安全层处理函数,比如加密函数等。
Services:
地址处理函数目录,包括着地址模式的定义及地址处理函数。
Tools:
工程配置目录,包括空间划分及ZStack相关配置信息。
ZDO:
ZDO目录。
ZigBee设备对象,方便用户用自定义的对象调用aps子层的服务和nwk层的服务。
ZMac:
MAC层目录,包括MAC层参数配置及MAC层LIB库函数回调处理函数。
Zmac.c是z-stackmac导出层接口文件Zmac_cb.c是zmac需要调用的网络层函数。
ZMain:
主函数目录,包括入口函数及硬件配置文件。
在onboard.c包含对硬件开发平台各类外设进行控制的接口函数。
Output:
输出文件目录,这个EW8051IDE自动生成的。
1.3.3ZigBee系统初始化流程:
Z-Stack的main函数在ZMain.c中:
系统初始化、执行操作系统实体;
Osal_int_disable(INTS_ALL):
关闭所有中断HAL_BOARD_INIT():
初始化系统时钟;
Zmain_vdd_check():
检测芯片电压是否正常Zmain_ram_init():
初始化堆栈;
InitBoard(OB_COLD):
初始化LED,配置系统定时器HalDriverInit():
初始化芯片各个
硬件模块;
Osal_nv_init():
初始化FLASH存储;
Zmain_ext_addr():
形成节点MAC地址;
zgInit():
初始化一些非易失变量;
zmacInit():
初始化mac层;
Afinit():
初始化应用框架层;
Osal_init_system():
初始化操作系统;
Osal_int_enabled(inis_all):
使能全部中断;
Initboard(ob_ready):
初始化按键;
Zmain_dev_info():
在液晶上显示设备信息;
Osal_start_system():
执行操作系统。
2.本次期末实验的内容及过程分析
2.1ZigBee协调器无线组网
2.1.1协调器创建一个网络号末3位为138的网络:
打开C:
\TexasInstrumens\ZStack-CC2530-2.3.0-1.4.0\Projects\zstack\Samples
\GenericApp\CC2530DB\GenericAPP.ewwIAR工程,手动更改本工程下的Tools目录下的f8wConfig.cfg文件,将其中默认的ZDAPP_CONFIG_PAN_ID=0xFFFF宏,更改为杨盛培同学的学号末3位0x0138。
则协调器即可创建一个网络号为138的网络。
2.1.2协调器组网过程:
在协调器程序Coordinator.c中添加:
选择CoordinatorEB工程,编译下载到1号实验箱的ZIGBEE协调器模块中,经过上述过程,协调器则自动组建了一个可以接入多个终端节点的广播网!
2.2ZigBee路由器和终端节点连接网络
1号实验箱的1号ZigBee模块(作为终端,编号END1)上有温湿度传感器,当END1接入协调器组建的138号网络后,温湿度传感器将采集的C501实验室的温度和湿度信息发送给协调器;
如果他的父节点连的是路由器的话,则将信息发送给路由器,再经路由器发送给协调器。
1号实验箱的2号ZigBee模块(作为终端,编号END2)上有可燃气体溶度监测传感器,当END2接入协调器组建的138号网络后,当器检测到实验室C501的可燃性气体超标后就发送一个警告信息“可燃性气体超标!
除了上述两个ZigBee模块(END1和END2),本实验用到的其它ZigBee模块,1号实验箱的3,4号和2号实验箱的1,2,3,4号ZigBee模块接入到网络后,只需将自己得到的随机分配的网络ID发送给协调器即可,不需要其采集相关信息。
其中1号实验箱的3号ZigBee模块编号END3,4号ZigBee模块做为路由器,编号ROU1;
2号实验箱的1,3,4号ZigBee模块做为终端,分别编号END4,END5,END6,2号ZigBee模块做为路由器,编号ROU2。
简而言之,本实验共有1个协调器(1号实验箱的ZIGBEE协调器模块),2个路由器(1号实验箱的4号,2号实验箱的4号ZIZIGBEE模块,对其分别编号编号ROU1和编号ROU2),6个终端节点(1号实验箱的1,2,3号,2号实验箱的1,3,4号ZIGBEE模块,并对其分别编号为END1到END6)。
其中END1(即1号实验箱的1号ZIGBEE模块)用来采集温湿度;
END2(即1号实验箱的2号ZIGBEE模块)用来感应可燃气体溶度;
其它的终端节点和路由什么都不用做,只需向协调器发送自己的网络ID。
选择EndDeviceEB工程,将对应程序分别编译下载到END1~END66个ZIGBEE终端模
块中,END1~END66个ZIGBEE终端模块即自动接入网络,并分别得到一个互不相同的随
机分配的网络ID。
选择RouterEB工程,将对应程序分别编译下载到编号ROU1和编号ROU2模块中,这两个路由器即自动接入网络,并分别得到一个互不相同的随机分配的网络ID。
经过上述过程,2个路由器与6个终端节点就接入了网络,与协调器组成了一个无线传
感器网络!
2.3ZigBee路由器和终端节点向协调器发送信息
2.3.1END1负责采集温湿度信息然后发送给协调器
1号实验箱的1号ZigBee模块,即END1采集温湿度信息然后发送给协调器,在其程序的事件处理函数UINT16GenericApp_ProcessEvent(bytetask_id,UINT16events)中:
当负责采集温湿度信息的END1加入网络后,因为其是终端节点,所以执行两个函数,即osal_set_event(GenericApp_TaskID,SHOW_INFO_EVENT);
和
osal_set_event(GenericApp_TaskID,SEND_DATA_EVENT);
两个函数,向协调器发送事件,其中前者与发送网络ID有关,后者与发送温湿度信息有关。
1.if(events&
SHOW_INFO_EVENT)当处理与发送网络ID有关的事件时,调用ShowInfo()函数,ShowInfo()函数是用来将得到的网络ID并通过调用AF_DataRequest(……)这个函数具体实现将相关信息发送给协调器的过程。
ShowInfo()函数详细代码如下:
2.if(events&
SEND_DATA_EVENT)当处理与发送温湿度信息有关的事件时,调用GenericApp_SendTheMessage()函数。
GenericApp_SendTheMessage()这个函数用来向协调器发送END1获取的温湿度信息,调用AF_DataRequest(……)函数实现具体发送过程。
END1中GenericApp_SendTheMessage()函数代码如下:
(详细代码请见Enddevice_1.c)
2.3.2当有可燃性气体时END2发送警告给协调器
其发送网络ID和警告信息给协调器的大致过程与END1一样,只不过在程序中加了一个控制中断的程序:
当检测到可燃性气体时,产生一个中断事件,然后通过处理事件函数osal_set_event(GenericApp_TaskID,SEND_DATA_EVENT)调用GenericApp_SendTheMessage()这个函数用来向协调器发送警告信息的。
(详细代码请见Enddevice_2.c)
其结果截图如下:
2.3.3其他4个终端和2个路由器发送自己网络ID给协调器
其发送自己网络ID给协调器的过程与END1发送一样,这4个终端和2个路由器因不需要采集相关信息并发送给协调器,因此GenericApp_SendTheMessage()这个函数为空函数。
这6个节点公用一个程序,只是在编译下载到模块时,视具体情况选择EndDeviceEB工程或选择RouterEB工程。
(详细代码请见Enddevice_3.c)
2.4协调器接收信息
协调器接收下面节点发上来的信息,在其事件处理函数UINT16GenericApp_ProcessEvent(bytetask_id,UINT16events)中:
当收到下面节点发来的事件后,调用GenericApp_MessageMSGCB(MSGpkt)这个函数用来接收信息并将此信息送给连接上位机的端口。
其具体代码如下:
协调器中还有一个重要函数GenericApp_MessageMSGCB(MSGpkt);
此函数用来向连接上位机的串口发送从下面节点收集到的各路由器及终端的网络ID。
其代码如下:
在上位机的串口助手的输入端中输入“jarris”即可看到各路由器与终端节点发送给协调器的的网络ID。
2.5本实验网络拓扑结构分析
无线传感器网络组建成功,打开串口助手监测协调器,在串口助手中输入“jarris”,
即可看到2个路由器与6个终端节点发送给协调器的网络ID。
下面的截图即可即是本次实验无线传感器的2个路由器与6个终端节点的网络ID,及其其父节点的网络ID。
如图,我们可知道1号实验箱的1号ZigBee模块(END1)的网络ID为000E,父节点的网络ID为0000;
1号实验箱的2号ZigBee模块(END2)网络ID为000F,父节点的网络ID为0000;
1号实验箱的3号ZigBee模块(END2)网络ID为000C,父节点的网络ID为0001;
1号实验箱的4号ZigBee模块(ROUT)网络ID为0001,父节点的网络ID为0000;
2号实验箱的1号ZigBee模块(END4)网络ID为000D,父节点的网络ID为0001;
2号实验箱的2号ZigBee模块(ROUT)网络ID为0002,父节点的网络ID为0001;
2号实验箱的3号ZigBee模块(END5)网络ID为000A,父节点的网络ID为0002。
由此,我们可得出这个无线传感器的网络的网络拓扑结构图,如下:
本实验协调器创建了一个深度为5层,每层最多接入3个节点(其中最多2个终端,最多1个路由)的网络。
2.6实验过程中存在的问题
本实验存在的问题是在串口助手中观看到的协调器接收的信息或数据有时会出现乱码。
如下图:
1
2
这两张截图即是出现乱码的情况,有时候更严重,甚至整句话全是看不懂的乱码,其正常的显示结果为“可燃性气体超标!
”,如下截图即为正常显示:
3
通过对身边的同学寻求帮助以及加上自己的认识和理解,我猜想造成这个问题的原因可能有以下3种:
1.路由器或终端在给协调器发送信息的过程中,无线电波受到干扰,造成信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 杨盛培 无线 传感 期末 论文