logo资料库

ZigBee实验手册V6.00.pdf

第1页 / 共70页
第2页 / 共70页
第3页 / 共70页
第4页 / 共70页
第5页 / 共70页
第6页 / 共70页
第7页 / 共70页
第8页 / 共70页
资料共70页,剩余部分请下载后查看
一、ZigBee协议栈Z-Stack开发指南
1.1ZigBee概论
1.1.1设备类型(Device Types)
1.1.1.1Coordinator(协调器)
1.1.1.2Router(路由器)
1.1.1.3End-Device(终端设备)
1.1.2ZigBee栈配置(Stack Profile)
1.2寻址(Addressing)
1.2.1地址类型(Address types)
1.2.2网络地址分配(Network address assignment)
1.2.3Z-Stack寻址(Addressing in z-stack)
1.2.3.1单点传送(Unicast)
1.2.3.2间接传送(Indirect)
1.2.3.3广播传送(broadcast)
1.2.3.4组寻址(Group Addressing)
1.2.4重要设备地址(Important Device Adresses)
1.3绑定(Binding)
1.3.1建立绑定表(Building a Binding Table)
1.3.1.1ZigBee Device Object Binding Request
1.3.1.1.1启动申请(The Commissioning Application)
1.3.1.1.2ZigBee Device Object End Device Bind Request
1.3.1.1.3Device Application Binding Manager
1.3.1.2配置源绑定(Configuring Source Binding)
1.4路由(Routing)
1.4.1路由概述
1.4.2路由协议(Routing Protocol)
1.4.2.1路径的发现和选择(Route Discovery and Selection)
1.4.2.2路径保持维护(Route maintenance)
1.4.2.3路径期满(Route expiry)
1.4.3表存储(Table storage)
1.4.3.1路由表(Routing table)
1.4.3.2路径发现表(Route discovery table)
1.4.4路径设置快速参考(Routing Settings Quick reference)
1.5ZDO消息请求(ZDO Message requests)
1.6便携式设备(Portable Devices)
1.7端到端确认(End-to-end acknowledgements)
1.8其他(Miscellaneous)
1.8.1配置信道(Configuring channel)
1.8.2配置PAN ID和要加入的网络(Configuring PAN ID and network to join)
1.8.3最大有效载荷大小(Maximum payload size)
1.8.4离开网络(Leave Network)
1.8.5描述符(Descriptors)
1.8.6非易失性存储项(Non-volatile Memory Items)
1.8.6.1网络层非易失性存储器(Network Layer Non-Volatile Memory)
1.8.6.2应用的非易失性存储器(Application Non-Volatile Memory)
1.9安全(Security)
1.9.1概述(Overview)
1.9.2配置(Configuration)
1.9.3网络访问控制(Network access control)
1.9.4更新密码(Key Updates)
1.9.5快速参考(Quick Reference)
1.10Z-Stack应用分析
二、SampleApp实验
2.1实验介绍
2.2初识主函数
2.3Sample例子演示
2.3.1连接硬件
2.3.2初始化64位IEEE地址
2.3.3程序下载
2.3.4程序演示过程
2.4Sample Application分析
2.4.1介绍
2.4.2程序流程
2.4.2.1初始化
2.4.2.2事件处理
2.4.2.3消息流程
三、GenericApp实验
3.1介绍
3.2关键函数分析
3.2.1键盘处理函数
3.2.2发送数据函数
3.2.3接收处理函数
3.2.4ZDO响应函数
3.3事件分析
3.3.1网络状态改变
3.3.2周期发送信息
3.3.3ZDO响应事件
3.3.4接收信息处理
3.4GenericApp演示效果
四、Simple实验
4.1实验目的
4.2实验原理
4.2.1网络形成
4.2.2绑定
4.2.3命令
4.3例子路径
4.4灯开关实验
4.4.1试验介绍
4.2实验步骤及结果
4.3实验总结
4.5温度传感器实验
4.5.1实验介绍
4.5.2原理简要分析
4.5.3数据包发送和接收
4.6灯开关实验操作流程图解
4.6.1打开工程
4.6.2编译下载
4.6.3演示效果
4.7温度传感器实验操作流程图解
4.7.1路径设定
4.7.2打开工程
4.7.3选择收集设备工程
4.7.4编译
4.7.5下载程序
4.7.6选择温度采集设备编译下载
4.7.7演示工作
五、HomeAutomation实验
5.1介绍
5.2初始化
5.3Sample Light应用
5.3.1ZCL串属性
5.3.2ZCL Callback Functions
5.3.4Key Presses
5.4 Sample Switch Application
5.4.1ZCL 串属性
5.4.2ZCL Callback Functions
5.4.3Key Presses
5.5演示效果
六、SerialApp实验
七、Transmit实验
通往无线桥梁 无线世界的先锋 ZigBee 协议栈 Z-Stack1.4.3-1.2.1 中文使用手册 V6.00 成都无线龙通讯科技有限公司 2009 年 10 月 成都无线龙通讯科技有限公司 http://www.c51rf.com http://www.rfmcu.cn 028-86786586 86615004 86617556(FAX) c51rf@126.com 1
通往无线桥梁 无线世界的先锋 目 录 一、ZigBee协议栈Z-Stack开发指南 ..............................................................................................5 1.1ZigBee概论..........................................................................................................................5 1.1.1 设备类型(Device Types) .........................................................................................5 1.1.1.1Coordinator(协调器)......................................................................................5 1.1.1.2Router(路由器) ..............................................................................................6 1.1.1.3End-Device(终端设备) ..................................................................................6 1.1.2ZigBee栈配置(Stack Profile)....................................................................................6 1.2 寻址(Addressing)................................................................................................................6 1.2.1 地址类型(Address types).........................................................................................6 1.2.2 网络地址分配(Network address assignment) .........................................................7 1.2.3Z-Stack寻址(Addressing in z-stack).........................................................................7 1.2.3.1 单点传送(Unicast)........................................................................................8 1.2.3.2 间接传送(Indirect)........................................................................................8 1.2.3.3 广播传送(broadcast).....................................................................................9 1.2.3.4 组寻址(Group Addressing)...........................................................................9 1.2.4 重要设备地址(Important Device Adresses)............................................................9 1.3 绑定(Binding) ...................................................................................................................10 1.3.1 建立绑定表(Building a Binding Table).................................................................10 1.3.1.1ZigBee Device Object Binding Request ......................................................10 1.3.1.1.1 启动申请(The Commissioning Application) ...........................................10 1.3.1.1.2ZigBee Device Object End Device Bind Request.....................................11 1.3.1.1.3Device Application Binding Manager.......................................................11 1.3.1.2 配置源绑定(Configuring Source Binding).................................................12 1.4 路由(Routing) ...................................................................................................................12 1.4.1 路由概述................................................................................................................12 1.4.2 路由协议(Routing Protocol)..................................................................................13 1.4.2.1 路径的发现和选择(Route Discovery and Selection).................................13 1.4.2.2 路径保持维护(Route maintenance)............................................................14 1.4.2.3 路径期满(Route expiry) .............................................................................14 1.4.3 表存储(Table storage)............................................................................................14 1.4.3.1 路由表(Routing table).................................................................................14 1.4.3.2 路径发现表(Route discovery table) ...........................................................15 1.4.4 路径设置快速参考(Routing Settings Quick reference)........................................15 1.5ZDO消息请求(ZDO Message requests)............................................................................15 1.6 便携式设备(Portable Devices).........................................................................................16 1.7 端到端确认(End-to-end acknowledgements)...................................................................16 1.8 其他(Miscellaneous).........................................................................................................17 1.8.1 配置信道(Configuring channel) ............................................................................17 1.8.2 配置PAN ID和要加入的网络(Configuring PAN ID and network to join) ...........17 1.8.3 最大有效载荷大小(Maximum payload size)........................................................17 1.8.4 离开网络(Leave Network) ....................................................................................18 1.8.5 描述符(Descriptors)...............................................................................................18 成都无线龙通讯科技有限公司 http://www.c51rf.com http://www.rfmcu.cn 028-86786586 86615004 86617556(FAX) c51rf@126.com 2
通往无线桥梁 无线世界的先锋 1.8.6 非易失性存储项(Non-volatile Memory Items) ....................................................18 1.8.6.1 网络层非易失性存储器(Network Layer Non-Volatile Memory)..............18 1.8.6.2 应用的非易失性存储器(Application Non-Volatile Memory) ...................19 1.9 安全(Security)...................................................................................................................19 1.9.1 概述(Overview) .....................................................................................................19 1.9.2 配置(Configuration)...............................................................................................19 1.9.3 网络访问控制(Network access control)................................................................20 1.9.4 更新密码(Key Updates) ........................................................................................20 1.9.5 快速参考(Quick Reference) ..................................................................................20 1.10Z-Stack应用分析 .............................................................................................................21 二、SampleApp实验......................................................................................................................23 2.1 实验介绍...........................................................................................................................23 2.2 初识主函数.......................................................................................................................24 2.3Sample例子演示................................................................................................................26 2.3.1 连接硬件................................................................................................................26 2.3.2 初始化 64 位IEEE地址 .........................................................................................27 2.3.3 程序下载................................................................................................................29 2.3.4 程序演示过程........................................................................................................33 2.4Sample Application分析 ....................................................................................................34 2.4.1 介绍........................................................................................................................34 2.4.2 程序流程................................................................................................................35 2.4.2.1 初始化.........................................................................................................35 2.4.2.2 事件处理.....................................................................................................36 2.4.2.3 消息流程.....................................................................................................38 三、GenericApp实验.....................................................................................................................39 3.1 介绍...................................................................................................................................39 3.2 关键函数分析...................................................................................................................40 3.2.1 键盘处理函数........................................................................................................40 3.2.2 发送数据函数........................................................................................................41 3.2.3 接收处理函数........................................................................................................42 3.2.4ZDO响应函数 ........................................................................................................43 3.3 事件分析...........................................................................................................................44 3.3.1 网络状态改变........................................................................................................46 3.3.2 周期发送信息........................................................................................................47 3.3.3ZDO响应事件 ........................................................................................................47 3.3.4 接收信息处理........................................................................................................48 3.4GenericApp演示效果 ........................................................................................................48 四、Simple实验 .............................................................................................................................49 4.1 实验目的...........................................................................................................................49 4.2 实验原理...........................................................................................................................49 4.2.1 网络形成................................................................................................................50 4.2.2 绑定........................................................................................................................51 4.2.3 命令........................................................................................................................51 4.3 例子路径...........................................................................................................................52 3 成都无线龙通讯科技有限公司 http://www.c51rf.com http://www.rfmcu.cn 028-86786586 86615004 86617556(FAX) c51rf@126.com
通往无线桥梁 无线世界的先锋 4.4 灯开关实验.......................................................................................................................52 4.4.1 试验介绍................................................................................................................52 4.2 实验步骤及结果.......................................................................................................53 4.3 实验总结...................................................................................................................54 4.5 温度传感器实验...............................................................................................................55 4.5.1 实验介绍................................................................................................................55 4.5.2 原理简要分析........................................................................................................55 4.5.3 数据包发送和接收................................................................................................55 4.6 灯开关实验操作流程图解...............................................................................................56 4.6.1 打开工程................................................................................................................57 4.6.2 编译下载................................................................................................................57 4.6.3 演示效果................................................................................................................60 4.7 温度传感器实验操作流程图解.......................................................................................60 4.7.1 路径设定................................................................................................................60 4.7.2 打开工程................................................................................................................60 4.7.3 选择收集设备工程................................................................................................61 4.7.4 编译........................................................................................................................62 4.7.5 下载程序................................................................................................................62 4.7.6 选择温度采集设备编译下载................................................................................62 4.7.7 演示工作................................................................................................................62 五、HomeAutomation实验............................................................................................................63 5.1 介绍...................................................................................................................................63 5.2 初始化...............................................................................................................................64 5.3Sample Light应用..............................................................................................................65 5.3.1ZCL串属性 .............................................................................................................65 5.3.2ZCL Callback Functions .........................................................................................65 5.3.4Key Presses .............................................................................................................66 5.4 Sample Switch Application...............................................................................................66 5.4.1ZCL 串属性 ...........................................................................................................66 5.4.2ZCL Callback Functions .........................................................................................67 5.4.3Key Presses .............................................................................................................67 5.5 演示效果...........................................................................................................................67 六、SerialApp实验 ........................................................................................................................67 七、Transmit实验 ..........................................................................................................................69 成都无线龙通讯科技有限公司 http://www.c51rf.com http://www.rfmcu.cn 028-86786586 86615004 86617556(FAX) c51rf@126.com 4
通往无线桥梁 无线世界的先锋 声明:本手册是基于成都无线龙 ZigBee 无线网络开发平台 C51RF-3-CS、C51RF-3-PK、 C51RF-CC2431 系列。由于不同实验对应不同硬件需求,而不同系统配置硬件不尽相同,因 此一套系统可能无法完成所有实验。 本手册所述 ZigBee 协议栈实验是在 C51RF-3/CC2431 系列平台上通过验证,本手册仅 仅是作为学习 Z-Stack 协议栈开发、学习、研究的辅助文档,如有错误请以 TI 公布最新文 档为准。欢迎读者指出本手册错误以便于我们的改进,谢谢! 一、ZigBee 协议栈 Z-Stack 开发指南 1.1ZigBee 概论 1.1.1 设备类型(Device Types) 在 ZigBee 网络中存在三种逻辑设备类型:Coordinator(协调器),Router(路由器)和 End-Device(终端设备)。ZigBee 网络由一个 Coordinator、多个 Router(也可以没有)和多个 End-Device(也可以没有)组成。 成都无线龙 上图是一个简单的 ZigBee 网络示意图。其中黑色节点为 Coordinator,红色节点为 Router, 白色节点为 End-Device。 1.1.1.1Coordinator(协调器) Coordinator 协调器负责启动整个网络。它也是网络的第一个设备。协调器选择一个信 成都无线龙通讯科技有限公司 http://www.c51rf.com http://www.rfmcu.cn 028-86786586 86615004 86617556(FAX) c51rf@126.com 5
通往无线桥梁 无线世界的先锋 道和一个网络 ID(也称之为 PAN ID,即 Personal Area Network ID),随后启动整个网络。 ZigBee 协调器也可以用来协助建立网络中安全层和应用层的绑定(bindings)。 注意,协调器的角色主要涉及网络的启动和配置。一旦这些都完成后,协调器的工作就 像一个路由器(或者消失 go away)。由于 ZigBee 网络本身的分布特性,因此接下来整个网络 的操作就不在依赖协调器是否存在。 1.1.1.2Router(路由器) ZigBee 路由器的功能主要是:允许其他设备加入网络,多跳路由和协助它自己由电池 供电子终端设备通讯。 通常,路由器希望是一直处于活动状态,因此它必须使用主电源供电。但是当使用树群 这种网络模式时,允许路由间隔一定的周期操作一次,这样就可以使用电池给其供电。 1.1.1.3End-Device(终端设备) ZigBee 终端设备没有特定的维持网络结构的责任,它可以睡眠或者唤醒,因此它可以 是一个电池供电设备。 通常,终端设备对存储空间(特别是 RAM 的需要)比较小。 注意:在 Z-Stack 1.4.1 中一个设备的类型通常在编译的时候通过编译选项 (ZDO_COORDINATOR 和 RTR_NWK)确定。所有的应用例子都提供独立的项目文件来编译 每一种设备类型。 1.1.2ZigBee 栈配置(Stack Profile) 栈参数的集合需要被配置为一定的值,连同这些值在一起被称之为栈配置。ZigBee 联 盟定义了这些由栈配置组成栈参数。 网络中的所有设备必须遵循同样的栈配置。 为了促进互用性这个目标,ZigBee 联盟为 ZigBee2006 规范定义了栈配置。所有遵循此 栈配置的设备可以在其他开发商开发的遵循同样栈配置的网络中。 1.2 寻址(Addressing) 1.2.1 地址类型(Address types) ZigBee 设备有两种类型的地址。一种是 64 位 IEEE 地址(物理),即 MAC 地址,另一 种是 16 位网络地址。 64 位地址使全球唯一的地址,设备将在它的生命周期中一直拥有它。它通常由制造商 成都无线龙通讯科技有限公司 http://www.c51rf.com http://www.rfmcu.cn 028-86786586 86615004 86617556(FAX) c51rf@126.com 6
通往无线桥梁 无线世界的先锋 或者被安装时设置。这些地址由 IEEE 来维护和分配。 16 为网络地址是当设备加入网络后由协调器或路由器分配的。它在网络中是唯一的, 用来在网络中鉴别设备和发送数据。 1.2.2 网络地址分配(Network address assignment) ZigBee 使用分布式寻址方案来分配网络地址。这个方案保证在整个网络中所有分配的 地址是唯一的。这一点是必须的,因为这样才能保证一个特定的数据包能够发给它指定的设 备,而不出现混乱。同时,这个寻址算法本身的分布特性保证设备只能与他的父辈设备通讯 来接受一个网络地址。不需要整个网络范围内通讯的地址分配,这有助于网络的可测量性。 在 每 个 路 由 加 入 网 络 之 前 , 寻 址 方 案 需 要 知 道 和 配 置 一 些 参 数 。 这 些 参 数 是 MAX_DEPTH,MAX_ROUTERS 和 MAX_CHILDREN。这些参数是栈配置的一部分, ZigBee2006 协议栈已经规定了这些参数的值:MAX_DEPTH = 5,MAX_ROUTERS = 6 和 MAX_CHILDREN = 20。 MAX_DEPTH 决定了网络最大深度。协调器(Coordinator)位于深度 0,它的儿子位于深 度 1,他儿子的儿子位于深度 2,以此类推。MAX_DEPTH 参数限制了网络在物理上的长度。 MAX_CHILDREN 决定了一个路由(Router)或者一个协调器节点可以处理的儿子节点的 最大个数。 MAX_ROUTER 决定了一个路由(Router)或者一个协调器(Coordinator)节点可以处理的 具有路由功能的儿子节点的最大个数。这个参数是 MAX_CHILDREN 的一个子集,终端节 点使用(MAX_CHILDREN – MAX_ROUTER)剩下的地址空间。 如果开发人员想改变这些值,则需要完成以下几个步骤: 首先,你要保证这些参数新的赋值要合法。即整个地址空间不能超过 216,这就限制了 参数能够设置最大值。可以使用projects\ZStack\tools文件夹下的CSkip.xls文件来确认这些值 是否合法。当在表格中输入了这些数据后,如果你的数据不合法的话就会出现错误信息。 当选择了合法的数据后,开发人员还要保证不再使用标准的栈配置,取而代之的是网络 自 定 义 栈 配 置 ( 例 如 : 在 nwk_globals.h 文 件 中 将 STACK_PROFILE_ID 改 为 NETWORK_SPECIFIC)。然后 nwk_globals.h 文件中的 MAX_DEPTH 参数将被设置为合适的 值。 此外,还必须设置 nwk_globals.c 文件中的 Cskipchldrn 数组和 CskipRtrs 数组。这些数 组的值由 MAX_CHILDREN 和 MAX_ROUTER 构成。 1.2.3Z-Stack 寻址(Addressing in z-stack) 为了向一个在 ZigBee 网络中的设备发送数据,应用程序通常使用 AF_DataRequest()函 数。数据包将要发送给一个 afAddrType_t(在 ZComDef.h 中定义)类型的目标设备。 typedef struct { 成都无线龙通讯科技有限公司 http://www.c51rf.com http://www.rfmcu.cn 028-86786586 86615004 86617556(FAX) c51rf@126.com 7
通往无线桥梁 无线世界的先锋 union { uint16 shortAddr; } addr; afAddrMode_t addrMode; byte endPoint; } afAddrType_t; 注意,除了网路地址之外,还要指定地址模式参数。目的地址模式可以设置为以下几个值: typedef enum { afAddrNotPresent = AddrNotPresent, afAddr16Bit = Addr16Bit, afAddrGroup = AddrGroup, afAddrBroadcast = AddrBroadcast } afAddrMode_t; 因为在 Zigbee 中,数据包可以单点传送(unicast),多点传送(multicast)或者广播传送,所 以必须有地址模式参数。一个单点传送数据包只发送给一个设备,多点传送数据包则要传送 给一组设备,而广播数据包则要发送给整个网络的所有节点。这个将在下面详细解释。 1.2.3.1 单点传送(Unicast) Uicast 是标准寻址模式,它将数据包发送给一个已经知道网络地址的网络设备。将 afAddrMode 设置为 Addr16Bit 并且在数据包中携带目标设备地址。 1.2.3.2 间接传送(Indirect) 当 应 用 程 序 不 知 道 数 据 包 的 目 标 设 备 在 哪 里 的 时 候 使 用 的 模 式 。 将 模 式 设 置 为 AddrNotPresent 并且目标地址没有指定。取代它的是从发送设备的栈的绑定表中查找目标设 备。这种特点称之为源绑定。 当数据向下发送到达栈中,从绑定表中查找并且使用该目标地址。这样,数据包将被处 理成为一个标准的单点传送数据包。如果在绑定表中找到多个设备,则向每个设备都发送一 个数据包的拷贝。 上一个版本的 ZigBee(ZigBee04),有一个选项可以讲绑定表保存在协调器(Coordinator) 当中。发送设备将数据包发送给协调器,协调器查找它栈中的绑定表,然后将数据发送给最 终的目标设备。这个附加的特性叫做协调器绑定(Coordinator Binding)。 成都无线龙通讯科技有限公司 http://www.c51rf.com http://www.rfmcu.cn 028-86786586 86615004 86617556(FAX) c51rf@126.com 8
分享到:
收藏