无线传感器网络实验教程---zstack协议栈中绑定讲述

上传人:最**** 文档编号:117922527 上传时间:2019-12-11 格式:PPT 页数:49 大小:1.10MB
返回 下载 相关 举报
无线传感器网络实验教程---zstack协议栈中绑定讲述_第1页
第1页 / 共49页
无线传感器网络实验教程---zstack协议栈中绑定讲述_第2页
第2页 / 共49页
无线传感器网络实验教程---zstack协议栈中绑定讲述_第3页
第3页 / 共49页
无线传感器网络实验教程---zstack协议栈中绑定讲述_第4页
第4页 / 共49页
无线传感器网络实验教程---zstack协议栈中绑定讲述_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《无线传感器网络实验教程---zstack协议栈中绑定讲述》由会员分享,可在线阅读,更多相关《无线传感器网络实验教程---zstack协议栈中绑定讲述(49页珍藏版)》请在金锄头文库上搜索。

1、无线传感器网络实验教程 绑定实验 主讲教师:柯宗武 2012年12月 本章内容 n绑定的基本概念 n绑定的方法 n实例讲解 :柯宗武 实验内容 n协调器通过广播方式绑定终端节点,在液晶屏上 显示绑定过程。 n终端节点绑定到协调器。绑定成功后发送“Hello World”给协调器并显示。 n绑定完成后,按协调器中键(center)时点亮对 方的指示灯。 :柯宗武 预备知识-传感器网络数据通信 :柯宗武 预备知识- ZigBee网络地址 n网络地址 q在一个新设备加入网络之后协调器会主动为它分 配一个网络地址,以方便在网络中的身分确认 q理论地址范围:0-65535 n某些专用的地址不会分配给设备

2、 q如:0 xFFFF是广播地址(所有设备),0 xFFFE 是广播到FFD设备(全功能设备:路由器) :柯宗武 预备知识-ZStack中网络地址定义 ntypedef struct n n union n n uint16 shortAddr; n ZLongAddr_t extAddr; n addr; n byte addrMode; n zAddrType_t; 枚举类型 enum AddrNotPresent = 0, AddrGroup = 1, Addr16Bit = 2, Addr64Bit = 3, AddrBroadcast = 15 ; :柯宗武 预备知识-应用框架(Ap

3、plication Framework ) nAF层为各个用户自定义的应用对象提供了模板 式的活动空间,为每个应用对象提供了键值对 KVP服务和报文MSG服务两种服务供数据传输 使用。 n每个节点除了64位的IEEE地址,16位的网络地 址,每个节点还提供了8位的应用层入口地址, 对应于用户应用对象。端点0为ZDO接口,端点 1至240供用户自定义用于对象使用,端点255为 广播地址,端点241 -254保留将来使用。 :柯宗武 预备知识-应用框架(Application Framework ) n每一个应用都对应一个配置文件(Profile)。配 置文件包括:设备ID(Device ID),

4、事务集群 ID(cluster ID),属性ID(Attribute ID)等。 AF可以通过这些信息来决定服务类型。 :柯宗武 预备知识-profiles n应用profiles是一组统一的消息,消息格式和处 理方法,允许开发者建立一个可以共同使用的分 布式应用程序,这些应用是利用驻扎在独立设备 中的应用实体来实现的。这些应用profiles允许 应用程序发送命令、请求数据和处理命令的请求 。 n总之,配置文件使得ZigBee 设备可以互操作。 ZigBee 联盟已经定义了很多标准的配置文件, 比如远程控制开关配置文件和智能家居等。任何 遵循某一标准配置文件的节点都可以与其他实现 相同配置文

5、件的节点进行互操作。 n一个public profile也规定了profile 的ID,比如智 能家居就规定是0 x104。 :柯宗武 预备知识-簇(cluster) n簇标识符可用来区分不同的簇,簇标识符联系着 从设备流出和向设备流入的数据。在特殊的应用 profiles范围内,簇标识符是唯一的。 ncluster要理解成一个大方向下的一个特定对象, 比如智能家居下的一个调光器,操作这个调光器 就需要一些命令,比如变亮,变暗,关灯,开灯 这些,另外,这个调光器也会有一个attribute, 也就属性,比如当前的亮度,由亮变暗的过程经 历多长时间。 :柯宗武 预备知识-簇(cluster) n

6、总结说来,Profile规范了应该包括哪些cluster,一 个cluster会有一个ID,在一个cluster下又会有很 多command,也会有很多attibute,在一个cluster 下面command 和attribute的ID要唯一,不同的 cluster下可以重复,不同的profile下clusterID也 可以重复。 :柯宗武 预备知识- ZigBee设备对象(ZDO) nZigBee设备对象(ZDO),描述了一个基本的 功能函数,这个功能在应用对象、设备profile和 APS之间提供了一个接口。ZDO位于应用框架和 应用支持子层之间。它满足所有在ZigBee协议 栈中应用操

7、作的一般需要。此外ZDO还有以下作 用: q初始化应用支持子层(APS),网络层(NWK) ,安全服务规范(SSS)。 q从终端应用集合中配置的信息来确定和执行安全 管理、发现、网络管理、以及绑定管理。 :柯宗武 预备知识- ZigBee设备对象(ZDO) nZDO描述了应用框架层中应用对象的公用接口以 及控制设备和应用对象的网络功能。在终端节点 0, ZDO提供了与协议栈中与低一层连接的接口 ,如果是数据则通过APSDE-SAP,如果是控制 信息则通过APSME-SAP。 qAPS数据实体(APSDE)提供在同一个网络中的 两个或者更多的应用实体之间的数据通信。通过 APSDE服务接入点(A

8、PSDE-SAP); qAPS管理实体(APSME)提供多种服务给应用对 象,这些服务包含安全服务和绑定设备,并维护 管理对象的数据库,也就是我们常说的AIB。 :柯宗武 预备知识- ZDO与Profile的关系 nZDO是ZigBee设备对象,属于特殊的Endpoint (特制自己);Profile面向某个应用的公约或准 则,包括5种描述项;AF是应用层。 nProfile是法律条款, ZDO是逻辑工作实体(自 己); Profile中的多种描述项是条例、是图纸, ZDO是具体实现。 以上内容详见ZigBee2007协议规范 :柯宗武 绑定 (Binding)的基本概念 n绑定是一种两个 (

9、 或者多个 ) 应用设备之间信息流的控 制机制 。 n绑定允许应用程序发送一个数据包而不需要知道目标地 址。 APS 层从它的绑定表中确定目标地址 ,然后将数 据继续向目标应用或者目标组发送 n当两个设备已经在他们的简单描述符结构中登记为一样 的簇ID,并且一个作为输入另一个作为输出时,绑定才能成 功。 n绑定服务是针对设备端点上的簇,用户程序只需要提供 端点号和簇ID,就可以通过绑定表找到对应的被绑定的 节点的网络地址和端点号,从而实现无线数据的发送 :柯宗武 建立绑定表 n有四种方法可以建立一个绑定表: qZigBee Device Object Bind Request(Match方式)

10、 n一个启动工具可以告诉设备创建一个绑定记录 qZigBee Device Object End Device Bind Request n两个设备可以告诉协调器它们想要建立一个绑定表记录 。协调器来协调并在两个设备中创建绑定表记录。 qDevice Application n一个设备上的应用程序建立或者管理一个绑定表 q由管理员手工绑定 n通过pc机串口发送绑定命令,集中管理。 :柯宗武 ZigBee Device Object Bind Request n任何一个设备都可以发送一个 ZDO 信息给网络 中的另一个设备,用来建立绑定表。称之为援助 绑定,它可以为一个发送设备创建一个绑定记录

11、。 nMatch方式 q一个节点可以通过调用afSetMatch函数允许或禁 止本节点被Match(协议栈默认允许,可以手工关 闭),然后另外一个节点在一定的时间内发起 ZDP_MatchDescReq请求,允许被Match的节点 会响应这个Req,发起的节点在接收到RSP的时 候就会自动处理绑定。 :柯宗武 Match方式 n网络中不一定有协调器存在,但是有A、B、C、 D等多个节点,A性质是Outcluster,B、C、D的 性质是Incluster,你可以通过按键策略来在一定 时间内允许B、C、D中的任何一个开启被Match 的功能,同时A发起Match请求(广播的),那么被 允许Mat

12、ch的节点就会在收到请求后将自己的信 息返给A,A在得到rsp的时候来处理绑定, :柯宗武 Match方式绑定流程 :柯宗武 Match方式绑定流程 :柯宗武 ZigBee Device Object End Device Bind Request n这个机制是在指定的时间周期 (timeout period) 内 , 通过按下选定设备上的按钮或者类似的动 作来绑定。协调器在指定的时间周期内,搜集终 端设备的绑定请求信息,然后以配置 ID(Profile ID) 和簇ID(Cluster ID) 协议为基础,创建一个绑 定表记录作为结果。默认的设备绑 定时间周期 (APS_DEFAULT_MA

13、XBINDING_TIME) 是 16 秒钟 ( 在 nwk_globals.h 中定义 ) 。但是将它添 加到f8wConfig.cfg 中,则可以更改。 :柯宗武 ZigBee Device Object End Device Bind Request 绑定程序流程 n在 GenericApp.c 中的GenericApp_HandleKeys 函数中首先确定目的地址类型及目的地址,然后 调用 ZDApp_SendEndDeviceBindReq() n函数ZDApp_SendEndDeviceBindReq搜集所有 终端节点的请求信息,然后调用 ZDP_EndDeviceBindReq(

14、) 【userApp.c】函数 将这些信息通过fillAndSend()【ZDProfile.c】 函数调用AF_DataRequest() 【ZDProfile.c】 函数发送给协调器。 :柯宗武 ZigBee Device Object End Device Bind Request 绑定程序流程 n协调器调用函数ZDApp_ProcessOSALMsg() 【ZDApp.c】 nZDApp_ProcessOSALMsg调用函数 ZDP_IncomingData() 【 ZDProfile.c 】函数接 收这些信息。 nZDApp_ProcessMsgCBs函数处理响应信息,调 用ZDO_

15、MatchEndDeviceBind()【 ZDObject.c 中】函数来处理这个请求。 :柯宗武 ZigBee Device Object End Device Bind Request 绑定程序流程 n当收到两个匹配的终端设备绑定请求,协 调器在请求设备中启动创建源绑定记录的 进程。假设在ZDO 终端设备中发现了匹配 的请求,协调器将执行下面的步骤: q发送一个解除绑定请求给第一个设备。这个终端 设备锁定进程,这样解除绑定被首先发送来去掉 一个已经存在的绑定记录。 q等待 ZDO 解除绑定的响应,如果响应的状态是 ZDP_NO_ENTRY ,则发 送一个 ZDO 绑定请求 :柯宗武 Zi

16、gBee Device Object End Device Bind Request 绑定程序流程 q在源设备中创建一个绑定记录。如果状态是 ZDP_SUCCESS ,则继续前进到第一个设备的簇 ID 。 q等待 ZDO 绑定响应,如果收到了,则继续前进到 第一个设备的下一个簇ID 。 q当地一个设备完成后,用同样的方法处理第二个 设备。 q当第二个设备也完成之后,发送 ZDO 终端设备绑 定请求消息给两个设备。 :柯宗武 Device Application n另一种进入设备绑定记录的方式是应用自己管理 绑定表 。 这就意味着应用程序需要通过调用下 面的绑定管理函数在本地进入并且删除绑定记录 : qbindAddEntry() 在绑定表中增加一个记录 qbindRemoveEntry() 从绑定表中删除一个记 录 qbindRomoveClusterIdFromList() 从一个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号