ZigBee.

Slides:



Advertisements
Similar presentations
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
Advertisements

NAT与ICMP交互.
ARM中使用ZIGBEE协议 Tel:
物聯網簡介 蔡崇洲 崑山科技大學電腦與通訊系.
GOOWI 万物“无”连 --低功耗蓝牙在IoT中的应用    魏心伟 高为通信技术有限公司.
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
淄博信息工程学校 ZIBOIT&ENGINEERING VOCATONAL SHCOOL 03 交换机干道技术 计算机网络技术专业.
第17章 实现路由器.
项目四 组建跨地区网络 授课教师:肖颖.
传感器网络设计.
第 2 章 网联网技术1.
IEEE Supframe 演講者:李嘉凱 指導教授:柯開維.
格物资讯开放ICON库 V1R1.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
产品介绍 产品类型:数据终端 建议零售价2800元 上市时间:2017 年 2 月 目标人群:物流、快递及仓储等行业从业人员
瑞斯康达—MSG1500 产品类型:路由器 建议零售价格:198元 上市时间:2017 年 3月
第二讲 搭建Java Web开发环境 主讲人:孙娜
ZigBee的技术支持及其应用前景 华东理工大学 凌志浩
The CAN bus 李强.
存储系统.
大学计算机基础 典型案例之一 构建FPT服务器.
PPPoE PPTP L2TP全解 方伟、产品策划 讲师的CSDN博客地址
SVN服务器的搭建(Windows) 柳峰
管理信息结构SMI.
网络常用常用命令 课件制作人:谢希仁.
华为—E8372h- 155 外观设计 产品类型:数据卡 建议零售价格:299元 上市时间:2017年6月7日 目标人群:大众
实用组网技术 第一章 网络基础知识.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
乐驾-车载无线终端-CARRO 产品类型:车载无线路由器 建议零售价格:¥599 江苏鸿信
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
格物资讯开放ICON库 V0R2.
以ISI平台为例,为您演示一下如何在Endnote文献中查看该文献的References
VLanBasic 小型办公环境录音方案 ——将VLAN网络型录音系统接入办公室局域网/无线网络
逆向工程-汇编语言
Get Started 1. Use USB cable or power adapter to power on the WisCore board. Make sure the power LED is on. Also, the WLED is flash. 2. Please download.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
厂商—型号 荣耀-HiRouter-H1 外观设计 产品类型:无线路由器 建议零售价格:149元 上市时间:2017 年 5月
第四章 团队音乐会序幕: 团队协作平台的快速创建
VisComposer 2019/4/17.
主要内容: 无线局域网的定义 无线传输介质 无线传输的技术 WLAN的架构 无线网络搭建与配置 无线网络加密配置
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
产品介绍 TOPOLF-T198 产品类型:4G MIFI 建议零售价格:699元 上市时间: 2015年1月 目标人群:差旅人士
March 2008 Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [The PHY Solution of Chinese WPAN Standard.
实验七 安全FTP服务器实验 2019/4/28.
信号量(Semaphore).
iSIGHT 基本培训 使用 Excel的栅栏问题
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
数据报分片.
无线网络特性展现 张琦.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
Touch Github = Touch the World
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
Google的云计算 分布式锁服务Chubby.
格物资讯ICON发布 V0R3.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
3.8 局域网应用实例 某省劳动和社会保障网络中心组网实例 会议中心的无线组网实例.
第四章 UNIX文件系统.
第十七讲 密码执行(1).
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
入侵检测技术 大连理工大学软件学院 毕玲.
DSP技术与应用 电子与信息技术系.
四路视频编码器 快速安装手册 1、接口说明 2、安装连接 3、软件下载 4、注意事项 编码器软件下载地址
Presentation transcript:

ZigBee

ZigBee概述 ZigBee协议栈 ZigBee组网实例 ZigBee编程实践 ZigBee主题分析

ZigBee概述

现今,物联网技术得到了快速的发展,与此相关的一些技术如 RFID、无线传感器网络也得到了快速的发展。与此同时,各种无线传 感器网络协议标准也日渐规范化,其中得到广泛应用和推广的一种协 议就是ZigBee 2007协议,TI公司已经推出了完全兼容该协议的SoC 芯片CC2530,同时也开发出了相关的软件协议栈Z-Stack,开发者 可以使用上述硬件和软件资源,搭建自己的无线传感器网络。

无线网络数据传输协议对比 现在比较流行的无线网络数据传输协议有WiFi™ 、Wireless USB、 Bluetooth™、Cellular等,不同的协议都有各自的应用领 域,因此,选择网络协议时,要根据不同的应用来选择某一种特 定的协议。 那么,ZigBee协议与上述协议有什么关系呢,ZigBee协议的 优点在哪里呢,ZigBee协议主要用在哪些应用领域呢? 各种无线数据传输协议对比图如图所示。

无线网络数据传输协议对比

无线网络数据传输协议对比 ZigBee、蓝牙以及IEEE 802.11b标准都是工作在2.4GHz频段的无 线通信标准,下面将ZigBee与蓝牙、IEEE 802.11b标准进行简要的 比较,帮助快速了解ZigBee与现有的既定标准的优点。 蓝牙数据传输速率小于3Mbps,典型数据传输距离为2~10米,蓝 牙技术的典型应用是在两部手机之间进行小量数据的传输。

IEEE 802. 11b最高数据传输速率可达11Mbps,典型数据传输距 离在30~100米,IEEE 802 IEEE 802.11b最高数据传输速率可达11Mbps,典型数据传输距 离在30~100米,IEEE 802.11b技术提供了一种Internet的无线接入 技术,如很多笔记本电脑可以使用自带的WiFi功能实现上网。 ZigBee协议可以理解为一种短距离无线传感器网络与控制协议, 主要用于传输控制信息,数据量相对来说比较小,特别适用于电池 供电的系统。此外,相对于上述两种标准,ZigBee协议更容易实现 (或者说实现成本较低)。

什么是ZigBee ZigBee是一种标准,该标准定义了短距离、低数据传输速率无线通信 所需要的一系列通信协议。基于ZigBee的无线网络所使用的工作频段 为868MHz、915MHz和2.4GHz,最大数据传输速率为250kbps。 下面通过一个具体的例子向读者展示一下zigbee的具体应用。在病人 监控系统中,病人的血压可以通过特定的传感器检测,因此,可以将 血压传感器和ZigBee设备相连,ZigBee设备定期检测病人的血压,将 血压数据以无线的方式发送到服务器,服务器可以将数据传输到医生 的电脑上,医生就可以根据病人的血压数据进行恰当的诊断。

ZigBee的特点 ZigBee技术具有如下特点: 1.高可靠性 2.低成本、低功耗 3.高安全性 4.低数据速率

①低功耗。在低耗电待机模式下,2 节5 号干电池可支持1个节点 工作6~24个月,甚至更长。这是ZigBee的突出优势。相比较, 蓝牙能工作数周、WiFi可工作数小时。 ②低成本。通过大幅简化协议(不到蓝牙的1/10),降低了对通 信控制器的要求,按预测分析,以8051的8位微控制器测算,全 功能的主节点需要32KB代码,子功能节点少至4KB代码,而且 ZigBee免协议专利费。每块CC2530为20元左右。

③低速率。ZigBee工作在20~250 kbps的较低速率,分别提供 250 kbps(2 ③低速率。ZigBee工作在20~250 kbps的较低速率,分别提供 250 kbps(2.4GHz)、40kbps (915 MHz)和20kbps(868 MHz) 的原始数据吞吐率,满足低速率传输数据的应用需求。 ④近距离。传输范围一般介于10~100 m 之间,在增加RF 发射 功率后,亦可增加到1~3 km。这指的是相邻节点间的距离。如 果通过路由和节点间通信的接力,传输距离将可以更远。

⑤短时延。ZigBee的响应速度较快,一般从睡眠转入工作状态只 需15 ms,节点连接进入网络只需30 ms,进一步节省了电能。 相比较,蓝牙需要3~10 s、WiFi 需要3 s。

⑦高安全。ZigBee提供了三级安全模式,包括无安全设定、使用 接入控制清单(ACL) 防止非法获取数据以及采用高级加密标准 (AES 128) 的对称密码,以灵活确定其安全属性。 ⑧免执照频段。采用直接序列扩频在工业科学医疗( ISM) 频段, 2. 4 GHz (全球) 、915 MHz(美国) 和868 MHz(欧洲)。

ZigBee技术体系 ZigBee设备类型 1. ZigBee协调器(Coordinator) 2. ZigBee路由器(Router) 3. ZigBee终端设备(End-device) 一个Zigbee网络由一个协调器节点、多个路由器和多个终端设备节 点组成。

ZigBee协调器(Coordinator) 它包含所有的网络信息,是3种设备中最复杂的,存储容量大、 计算能力最强。它主要用于发送网络信标、建立一个网络、管理 网络节点、存储网络节点信息、寻找一对节点间的路由信息并且 不断的接收信息。一旦网络建立完成,这个协调器的作用就像路 由器节点。

 协调器的功能特点        >选择一个频道和PAN ID,组建网络        >允许路由和终端节点加入这个网络        >对网络中的数据进行路由        >必须常电供电,不能进入睡眠模式        >可以为睡眠的终端节点保留数据,至其唤醒后获取。 协调器在选择频道和PAN ID组建网络后,其功能将相当于一个路由器。协调器或者路由器均允许其他设备加入网络,并为其路由数据。

ZigBee路由器(Router) 它执行的功能包括允许其它设备加入这个网络,跳跃路由,辅助 子树下电池供电终端的通信。通常,路由器全时间处在活动状态, 因此为主供电。但是在树状拓扑中,允许路由器操作周期运行,因 此这个情况下允许路由器电池供电.。

路由器的功能特点       >在进行数据收发之前,必须首先加入一个zigbee网络         >本身加入网络后,允许路由和终端节点加入         >加入网络后,可以对网络中的数据进行路由         >必须常电供电,不能进入睡眠模式         >可以为睡眠的终端节点保留数据,至其唤醒后获取。

ZigBee终端设备(End-device) 一个终端设备对于维护这个网络设备没有具体的责任,所以它可以 睡眠和唤配,看它自己的选择。因此它能作为电池供电节点。

 终端节点的功能特点         >在进行数据收发之前,必须首先加入一个zigbee网络         >不能允许其他设备加入         >必须通过其父节点收发数据,不能对网络中的数据进行路由         >可由电池供电,进入睡眠模式 终端节点通过协调器或者某个路由器加入网络后,便成为其“子节点”;对应的路由器或者协调器即成为“父节点”。由于终端节点可以进入睡眠模式,其父节点便有义务为其保留其他节点发来的数据,直至其醒来,并将此数据取走。

ZigBee网络拓扑 ZigBee支持三种自组织无线网络类型,即星型结构、网状结构 (Mesh)和簇状结构(ClusterTree),特别是网状结构,具有很强 的网络健壮性和系统可靠性。

网状型 星型 网络协调器 全功能设备(FFD,Router):可以支持任何一种拓扑结构,可以作为网络协商者和普通协商者,并且可以和任何一种设备进行通信 精简功能设备(RFD):只支持星型结构,不能成为任何协商者,可以和网络协商者进行通信,实现简单。 簇状型

ZigBee网状(MESH)网络 MESH网状网络拓扑结构的网络具有强大的功能,网络可以通过多级跳的方式来通信;该拓扑结构还可以组成极为复杂的网络;网络还具备自组织、自愈功能。

ZigBee技术的应用领域 ZigBee技术是基于小型无线网络而开发的通信协议标准,尤其是伴 随ZigBee 2007协议的逐渐成熟,ZigBee技术在智能家居和商业楼宇自 动化方面有较大的应用前景。ZigBee技术的出现弥补了低成本、低功耗 和低速率无线通信市场的空缺,总体而言,在以下应用场合可以考虑采 用ZigBee技术: 需要进行数据采集和控制的节点较多; 应用对数据传输速率和成本要求不高; 设备需要电池供电几个月的时间,且设备体积较小; 野外布置网络节点,进行简单的数据传输。

在工业控制方面,可以使用ZigBee技术组建无线网络,然后每个节点 采集传感器数据,然后通过ZigBee网络来完成数据的传送。

小米智能家庭套装由多功能网关、人体传感器、门窗传感器和无线开关四个产品组成,均支持 Zigbee 协议。

ZigBee协议栈

网络协议 定义 一个网络协议至少包括三要素: 语法 用来规定信息格式;数据及控制信息的格式、编码及信号电平等 网络协议是指为了实现计算机间的通信而设计的一组规则, 它规定了通信时信息必须采用的格式和这些格式的意义 一个网络协议至少包括三要素: 语法 用来规定信息格式;数据及控制信息的格式、编码及信号电平等 语义 用来说明通信双方应当怎么做;用于协调与差错处理的控制信息 定时 (时序)定义了何时进行通信,先讲什么,后讲什么,讲话的速度等。比如是采用同步传输还是异步传输

IEEE802.15.4 定义 IEEE 802.15.4描述了低速率无线个人局域网的物理层和媒体接入控制协议 两个名词: 个人区域网络(personal area network, PAN) 无线个人区域网络(wireless personal area network, WPAN) IEEE 802.15.4标准定义的LR-WPAN网络具有如下特点: (1)不同的载波频率下实现了20、40、250kbps三种不同的传输速率 (2)支持星型和点对点两种网络拓扑结构 (3)有16位和64位两种地址格式 (4)支持冲突避免的载波多路侦听技术( CSMA-CA) (5)支持确认(ACK)机制,保证传输可靠性

IEEE802.15.4 MAC子层 IEEE 802.15.4标准只定义了PHY层和数据链路层的MAC子层 (数据链路层进一步划分为MAC和LLC两个子层,MAC子层使用物理层提供的服务实现设备之间的数据帧传输) PHY层由射频收发器以及底层的控制模块构成 MAC子层为高层访问物理信道提供点到点通信的服务接口 MAC子层 MAC层帧结构的设计目标是用最低复杂度实现数据可靠传输 每个 MAC子层的帧都由帧头、负载和帧尾三部分组成 # 帧头由帧控制信息、帧序列号和地址信息组成 # 负载(数据)具有可变长度,具体内容由帧类型决定 # 帧尾是帧头和负载数据的16位CRC校验序列

IEEE802.15.4 IEEE802.15.4网络的建立过程 首先,每个设备的协议栈必须要对其PHY和MAC层初始化 每个网络必须有一个也只能有一个PAN Co-ordinator PAN ID作为网络标识,可以被人为的预定义 除64位IEEE MAC 地址外,还须分配一个16位的短地址 例如Zigbee技术选择2.4GHz 设备以Co-ordinator的模式启动,然后就开放请求应答 有可以利用的Co-ordinator,设备就可以申请加入网络 设备被Co-ordinator接受,将获得短地址作为标识,便可传输数据

定义 Zigbee协议栈 Zigbee是IEEE 802.15.4协议的代名词,根据这个协议规定的一种短距离、低功耗的无线通信技术  TI公司开发的Z-Stack是ZigBee协议栈,并且经过了ZigBee联盟的认可而为全球众多开发商所广泛采用(下面我们重点讨论Z-Stack ,我们没必要弄懂zigbee协议栈所有源代码,所谓开发或应用主要是对主函数及操作系统的修改应用,许多库函数据项目要求而做修改即可) TI公司的Z-Stack协议栈装载在一个基于IAR开发环境的工程里 Z-Stack采用操作系统的思想来构建,采用事件轮循机制,当各层初始化之后,系统进入低功耗模式,当事件发生时,唤醒系统,开始进入中断处理事件,结束后继续进入低功耗模式 如果同时有几个事件发生,判断优先级,逐次处理事件 这种软件构架可以极大地降级系统的功耗

Zstack软件架构 Zstack协议栈符合Zigbee协议结构,由物理层、MAC层、网络层和应用层组成。 物理层和MAC层由IEEE802.15.4定义,网络层和应用层由Zigbee联盟来定义。 Zigbee联盟将应用层又详细划分为应用支持子层、应用设备框架以及Zigbee设备对象等。

Zigbee协议栈 Zigbee协议栈结构,包括物理层、MAC层、NWK(网络层)、APL(应用层)、应用支持子层APS、应用程序框架AF、设备对象ZDO层 物理层内容:物理层定义了物理无线信道和MAC子层之间的接口,提供物理层数据服务单元(PD-SAP)和物理层管理服务(MLME-SAP)。 MAC(介质接入控制子层):MAC层负责处理所有物理无线信道的访问,并产生网络信号、同步信号;支持PAN连接和分离,提供两个对等的MAC实体之间可靠链路。 NWK(网络层):网络层是Zigbee协议栈的核心部分,网络层主要实现节点加入或者离开网络、接收或抛弃其它节点、路由查找及维护等功能。

Zigbee协议栈 Zigbee协议栈结构,包括物理层、MAC层、NWK(网络层)、APL(应用层)、应用支持子层APS、应用程序框架AF、设备对象ZDO层 APL(应用层):Zigbee应用层包括应用支持子层APS、应用程序框架AF、Zigbee设备对象ZDO等。 应用支持子层APS:APS层在NWK层和APL层之间,提供APSDE-SAP和APSME-SAP两个接口,两个接口的主要功能如下: APSDE-SAP提供在同一个网络中的两个或者更多的应用实体之间(即端点)的数据通信。 APSME-SAP提供多种服务给应用对象ZDO,这些服务包括安全服务和绑定设备服务,并维护管理对象的数据库(即AIB)。

Zigbee协议栈 Zigbee协议栈结构,包括物理层、MAC层、NWK(网络层)、APL(应用层)、应用支持子层APS、应用程序框架AF、设备对象ZDO层 应用程序框架AF:运行在Zigbee协议栈上的应用程序实际是厂商自定义的应用对象,并且遵循规范(Profile)运行在端点1~240上。 设备对象层ZDO:远程设备通过ZDO请求描述信息,接收到这些请求时,ZDO会调用配置对象获取相应的描述符值。ZDO通过APSME-SAP接口提供绑定服务。

Zstack协议栈 APP:为应用层目录,用户可以根据需求添加自己的任务。这个目录中包含了应用层和这个项目的主要内容,在协议栈里面一般是以操作任务实现的。 HAL:硬件驱动层,包括硬件相关的配置、驱动以及操作函数。 OSAL:协议栈的操作系统。 Profile:AF层目录,包含AF层处理函数。 Security&Services:安全服务层目录,安全层和服务层处理函数,比如加密。 Tools:工程配置目录,包括空间划分及ZStack相关配置信息。

Zstack协议栈 ZDO:ZDO设备对象目录。 ZMac:MAC层目录,包括MAC层参数及MAC层的LIB库函数回调处理函数。 Zmain:主函数目录,包括入口函数及硬件配置文件。 Output:输出文件目录,由IAR自动生成。

节点地址类型的选择 Zstack中地址类型有两种:64位IEEE地址和16位网络地址(Zstack中也称短地址或网络短地址)。 64位IEEE地址:即MAC地址(也称“长地址”或“扩展地址”),是一个全球唯一的地址,一经分配将跟随设备一生。通常由制造商在设备出厂或被安装时设置。这些地址由IEEE组织来维护和分配。 16位网络地址:是设备加入网络后,由网络中的协调器分配给设备的地址(也称“短地址”),它在网络中是唯一的,用来在网络中鉴别设备和发送数据。对于协调器,网络地址固定为0x0000。 但由于短地址有时并不稳定,由于网络结构的变化会发生改变,所以在某些情况下必须以IEEE地址作为通讯的目标地址,以保证数据有效送达。

协议栈模板 Zstack协议栈模板由Zigbee联盟定义,在同一个网络中的设备必须符合同一个协议栈模板。Zstack协议栈使用了Zigbee联盟定义的三种模板: Zigbee协议栈模板 ZigbeePRO协议栈模板 特定网络模板。

Tool配置及分析 Tools文件为工程设置文件目录,比如信道、PANID、设备类型的设置 PAN的全称为Personal Area Networks,即个域网。每个个域网都有一个独立的ID号,即称为PAN ID。整个个域网中的所有设备共享同一个PAN ID。Zigbee设备的PAN ID可以通过程序预先指定,也可以在设备运行期间,自动加入到一个附近的PAN中。

Tool配置及分析 f8wConfig.cfg文件 // 信道设置 // 0 : 868 MHz 0x00000001 // 1 - 10 : 915 MHz 0x000007FE // 11 - 26 : 2.4 GHz 0x07FFF800 //-DMAX_CHANNELS_868MHZ 0x00000001 //-DMAX_CHANNELS_915MHZ 0x000007FE //-DMAX_CHANNELS_24GHZ 0x07FFF800 //以下为信道11-26的设置 //-DDEFAULT_CHANLIST=0x04000000 // 26 - 0x1A -DDEFAULT_CHANLIST=0x02000000 // 25 - 0x19 //-DDEFAULT_CHANLIST=0x01000000 // 24 - 0x18 //-DDEFAULT_CHANLIST=0x00800000 // 23 - 0x17 //-DDEFAULT_CHANLIST=0x00400000 // 22 - 0x16 //-DDEFAULT_CHANLIST=0x00200000 // 21 - 0x15 //-DDEFAULT_CHANLIST=0x00100000 // 20 - 0x14 //-DDEFAULT_CHANLIST=0x00080000 // 19 - 0x13 //-DDEFAULT_CHANLIST=0x00040000 // 18 - 0x12 //-DDEFAULT_CHANLIST=0x00020000 // 17 - 0x11 //-DDEFAULT_CHANLIST=0x00010000 // 16 - 0x10 //-DDEFAULT_CHANLIST=0x00008000 // 15 - 0x0F //-DDEFAULT_CHANLIST=0x00004000 // 14 - 0x0E //-DDEFAULT_CHANLIST=0x00002000 // 13 - 0x0D //-DDEFAULT_CHANLIST=0x00001000 // 12 - 0x0C //-DDEFAULT_CHANLIST=0x00000800 // 11 - 0x0B //网络PANID的设置 -DZDAPP_CONFIG_PAN_ID=0xFFFF Tool配置及分析 f8wConfig.cfg文件 f8wConfig.cfg文件为Zstack协议栈的配置文件,在此文件中设置Zigbee使用的信道和Zigbee网络PANID

Tool配置及分析 f8wConfig.cfg文件 当网络PANID设置为0xFFFF时,即协调器建立网络时将在0x0000—0xFFFF之间随机选择一个数作为网络的PANID。如果网络的PANID为0x0000—0xFFFF之间指定的一个数,则协调器建立网络时将会以选定的PANID作为网络PANID建立网络。 //网络PANID的设置 -DZDAPP_CONFIG_PAN_ID=0x1234

ZigBee组网实例

ZigBee组网实例 组网方案设计:组建一个完整的zigbee网状网络包括两个步骤:网络初始化、节点加入网络,其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。 网络初始化: Zigbee网络的建立是由网络协调器发起的,任何一个zigbee节点要组建一个网络必须要满足以下两点要求: 1.节点是FFD节点,具备zigbee协调器的能力; 2.节点还没有与其他网络连接,当节点已经与其他网络连接时,此节点只能作为该网络的子节点,因为一个zigbee网络中有且只有一个网络协调器。

网络初始化的流程如下: 1.确定网络协调器,首先判断节点是否是FFD节点,接着判断此FFD节点是否在其他网络里或者网络里是否已经存在协调器。通过主动扫描,发送一个信标请求命令(Beacon request command),然后设置一个扫描期限(T_scan_duration),如果在扫描期限内都没有检测到信标,那么就认为FFD在其pos内没有协调器,那么此时就可以建立自己的zigbee网络,并且作为这个网络的协调器不断地产生信标并广播出去。 2.进行信道扫描过程。包括能量扫描和主动扫描两个过程:首先对指定的信道或者默认的信道进行能量检测,以避免可能的干扰。以递增的方式对所测量的能量值进行信道排序,抛弃那么些能量值超出了可允许能量水平的信道,选择可允许能量水平的信道并标注这些信道是可用信道。接着进行主动扫描,搜索节点通信半径内的网络信息。这些信息以信标帧的形式在网络中广播,节点通过主动信道扫描方式获得这些信标帧,然后根据这些信息,找到一个最好的、相对安静的信道,通过记录的结果,选择一个信道,该信道应存在最少的zigbee网络,最好是没有zigbee设备。在主动扫描期间,mac层将丢弃phy层数据服务接收到的除信标以外的所有帧。

3.设置网络ID。 找到合适的信道后,协调器将为网络选定一个网络标识符(PAN ID,取值<=0x3FFF),这个ID在所使用的信道中必须是唯一的,也不能和其他zigbee网络冲突,而且不能为广播地址oxFFFF(此地址为保留地址,不能使用)。PAN ID可以通过侦听其他网络的ID然后选择一个不会冲突的ID的方式来获取,也可以人为的指定扫描的信道后来确定不和其他网络冲突的PAN ID。在zigbee网络中有两种地址模式:扩展地址(64位)和短地址(16位),其中扩展地址由IEEE组织分配,用于唯一的设备标识;短地址用于本地网络中设备标识,在一个网络中,每个设备的短地址必须唯一,当节点加入网络时由其父节点分配并通过使用短地址来通信。对于协调器来说,短地址通常设定为0x0000; 上面步骤完成后,就成功初始化了zigbee网状网络,之后就等待其他节点的加入。节点入网时将选择范围内信号最强的父节点(包括协调器)加入网络,成功后将得到一个网络短地址并通过这个地址进行数据的发送和接收,网络拓扑关系和地址就会保存在各自的flash中。

当节点协调器确定之后,节点首先需要和协调器建立连接加入网络 为了建立连接,FFD节点需要向协调器提出请求,协调器接收到节点的连接请求后根据情况决定是否允许其连接,然后对请求连接的节点做出响应,节点与协调器建立连接后,才能实现数据的收发。具体的流程可以分为下面的步骤: 1.查找网络协调器。首先会主动扫描查找周围网络的协调器,如果在扫描期限内检测到信标,那么将获得了协调器的有关信息,这时就向协调器发出连接请求。在选择合适的网络之后,上层将请求mac层对物理层和mac层的phyCurrentChannel、macPANID等PIB属性进行相应的设置。如果没有检测到,间隔一段时间后,节点重新发起扫描。 2.发送关联请求命令(Associate request command)。节点将关联请求命令发送给协调器,协调器收到后立即回复一个确认帧(ACK),同时向它的上层发送连接指示原语,表示已经收到节点的连接请求。但是这并不意味着已经建立连接,只表示协调器已经收到节点的连接请求。当协调器的mac层的上层接收到连接指示原语后,将根据自己的资源情况(存储空间和能量)决定是否同意此节点的加入请求,然后给节点的mac层发送响应。

3.等待协调器处理。 当节点收到协调器加入请求命令的ACK后,节点mac将等待一段时间,接受协调器的连接响应。在预定的时间内,如果接收到连接响应,它将这个响应向它的上层通告。而协调器给节点的mac层发送响应时会设置一个等待响应时间(T_ResponseWaitTime)来等待协调器对其加入请求命令的处理,若协调器的资源足够,协调器会给节点分配一个16位的短地址,并产生包含新地址和连接成功状态的连接响应命令,则此节点将成功的和协调器建立连接并可以开始通信。若协调器资源不够,待加入的节点将重新发送请求信息,直接入网成功。 4.发送数据请求命令。 如果协调器在响应时间内同意节点加入,那么将产生关联响应命令(Associate response command)并存储这个命令。当响应时间过后,节点发送数据请求命令(Data request command)给协调器,协调器收到后立即回复ACK,然后将存储的关联响应命令发给节点。如果在响应时间到后,协调器还没有决定是否 同意节点加入,那么节点将试图从协调器的信标帧中提取关联响应命令,成功的话就可以入网成功,否则重新发送请求信息直到入网成功。

5.回复。 节点受到关联响应命令后,立即向协调器回复一个确认帧(ack),以确认接收到连接响应 命令,此时节点将保存协调器的短地址和扩展地址,并且节点的MLME向上层发送连接确认原语,通告关联加入成功的信息。 节点通过已有节点加入网络 当靠近协调器的FFD节点和协调器关联成功后,处于这个网络范围内的其他节点就以这些FFD节点作为父节点加入网络了,具体加入网络有两种方式,一种是通过关联(associate)方式,就是待加入的节点发起加入网络;另一种是直接(direct)方式,就是待加入的节点具体加入到那个节点下,作为该节点的子节点。其中关联方式是zigbee网络中新节点加入网络的主要途径,

对于一个节点来说只有没有加入过网络的才能进行加入网络。在这些节点中,有些是曾经加入过网络中,但是却与它的父节点失去联系(这样的被称为孤儿节点),而有些则是新节点。当是孤儿节点时,在它的相邻表中存有原父节点的信息,于是它可以直接给原父节点发送加入网络的请求信息。如果父节点有能力同意它加入,于是直接告诉它的以前被 分配的网络地址,它便入网成功;如果此时它原来的父节点的网络中,子节点数已达到最大值,也就是说网络地址已经分配满,父节点便无法批准它加入,它只能以新节点身份重新寻找并加入网络。 而对于新节点来说,他首先会在预先设定的一个或多个信道上通过主动或被动扫描周围它可以找到的网络,寻找有能批准自己加入网络的父节点,并把可以找到的父节点的资料存入自己的相邻表。存入相邻表的父节点的资料包括zigbee协议的版本、堆栈的规范、PAN ID和可以加入的信息。在相邻表中所有的父节点中选择一个深度最小的,并对其发出请求信息,如果出现相同最小深度的两个以上的父节点,那么随机选取一个发送请求。如果相邻表中没有合适的父节点的信息,那么表示入网失败,终止过程。如果发出的请求被批准,那么父节点同时会分配一个16位的网络地址,此时入网成功,子节点可以开始通信。如果请求失败,那么重新查找相邻表,继续发送请求信息,直到加入网络或者相邻表中没有合适的父节点。

ZigBee编程实践

PPT上传到群文件了

ZigBee主题分析

Thank You !