ZigBee基本概念和组网特性

2024-08-21 20:18

本文主要是介绍ZigBee基本概念和组网特性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这一章中,我们将一起来看一下zigbee的几个基本概念。当然,由于zigbee协议的复杂性,暂时只介绍下后面将提到的几个功能中用得到的概念。对于一些深入的概念的理解,将在介绍模块的API模式时,再进行补充。

一、Zigbee基本概念介绍
  Zigbee是一种基于802.15.4物理层协议、支持自组网、多点中继,可实现网状拓扑的复杂的组网协议,加上其低功耗的特点,使得网络间的设备必须各司其职,有效地协同工作。

1、Zigbee网络的设备类型
  在Zigbee网络中,有三种不同类型的设备,分别叫做:协调器(Coordinator)、路由器(Router)和终端节点(End Device),如下图所示:

   CRE.png

2011-7-22 11:10:49 上传
下载附件 (26.07 KB)



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

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

  1.3  终端节点的功能特点
        >在进行数据收发之前,必须首先加入一个zigbee网络
        >不能允许其他设备加入
        >必须通过其父节点收发数据,不能对网络中的数据进行路由
        >可由电池供电,进入睡眠模式

  协调器在选择频道和PAN ID组建网络后,其功能将相当于一个路由器。协调器或者路由器均允许其他设备加入网络,并为其路由数据。

  终端节点通过协调器或者某个路由器加入网络后,便成为其“子节点”;对应的路由器或者协调器即成为“父节点”。由于终端节点可以进入睡眠模式,其父节点便有义务为其保留其他节点发来的数据,直至其醒来,并将此数据取走。

2、PAN ID
  PAN的全称为Personal Area Networks,即个域网。每个个域网都有一个独立的ID号,即称为PAN ID。整个个域网中的所有设备共享同一个PAN ID。Zigbee设备的PAN ID可以通过程序预先指定,也可以在设备运行期间,自动加入到一个附近的PAN中。

二、寻址

1、Zigbee设备的地址类型

  Zigbee设备有两种不同的地址:16位短地址和64位IEEE地址。其中64位地址是全球唯一的地址,在设备的整个生命周期内都将保持不同,它由国际IEEE组织分配,在芯片出厂时已经写入芯片中,并且不能修改。而短地址是在设备加入一个zigbee网络时分配的,它只在这个网络中唯一,用于网络内数据收发时的地址识别。但由于短地址有时并不稳定,由于网络结构的变化会发生改变,所以在某些情况下必须以IEEE地址作为通讯的目标地址,以保证数据有效送达。

2、FBee的地址分配方法
  FBee采用的是最新的Zigbee Pro的协议栈,在此版本的协议栈中:首先,在任何一个PAN中,短地址0x0000都是指协调器。而其他设备的短地址是随机生成的。当一个设备加入网络之后,它从其父节点获取一个随机地址,然后向整个网络广播一个包含其短地址和IEEE地址的“设备声明”(Device Announce),如果另外一个设备收到此广播后,发现与自己地址相同,它将发出一个“地址冲突”(Address Conflict)的广播信息。有地址冲突的设备将全部重新更换地址,然后重复上述过程,直至整个网络中无地址冲突。

3、FBee设备的短地址变化说明
  在FBee的“透传”、“采集”与“控制”几大功能中,设备地址是至关重要的一个参数,只有地址设置正确,通讯才能按照预期进行。在此有必要对地址的使用进行详细的说明。

  3.1 协调器和路由器的短地址
  协调器的短地址为0x0000,不会发生变化。而FBee的路由器短地址,是在其第一次上电时,按照上文2的规则,由其父节点成功分配一次之后,保存在内部flash中,以后无论如何开关机都将保持不变。

  值得一提的是,正是由于这种简单的网络结构,用户可以选择一个协调器+n个路由器的方式来组成一个无“低功耗”需求的网络,进行“无线透传”等应用,简单地使用短地址即可保证数据送达至正确的设备。

  3.2 终端节点的短地址
  上述协调器+路由器的方式可以满足部分应用,但无法体现Zigbee自组网与低功耗的优势。这时就要发挥终端节点的特点。FBee终端节点的使用,将在后续章节中详细说明,此处仅介绍其短地址变化规律与长地址的使用。

  FBee终端节点可实现Zigbee的“自组”、“自愈”功能。每次打开终端节点的电源,它将自动检查其附近的路由器/协调器与其连接的信号质量,选择信号质量最好的路由为其父节点加入网络。在加入网络之后,它将周期性地发送数据请求(MAC data requests),如果其父节点没有对其请求进行响应,并且重试几次后,仍无响应,则判定为父节点丢失,此时终端节点将重复上述过程,重新寻找并加入网络。

  注:由于FBee遵循的是Zigbee Pro的规范,重新加入新的父节点后,其短地址将保持不变。但在Zigbee 2007协议中,由于采用的是树型的固定地址方式,在更换父地址后,节点短地址会发生变化。

  3.3 利用节点的长地址进行寻址
  由于短地址的可变性,在具备可移动节点(End Device)的网络中,最好使用长地址进行通讯,以确保数据送到正确的设备中。FBee模块可实现设备的长地址寻址,仅需一个简单的ATDL指令即可。具体的操作将在后续章节进行介绍。

 

三、数据发送方式
  针对FBee模块现有的数据发送方式,我们重点介绍Zigbee的单播和广播两种方式。单播模式下面,数据由一个源设备,发送至一个目标设备;而广播模式,数据是由一个源设备,发送至很多,或者是所有的设备。

1、单播方式
  单播方式下,数据由源设备发出,直接或者经过几级中转后,发送至目的地址。加入zigbee网络的所有设备之间都可以进行单播传输,可用16位短地址或者64位长地址进行寻址。具体路由关系由协调器/路由器进行维护、查询。路由表的相关内容将在后续FBee API模式的章节中进行介绍。

2、广播方式
  广播方式是由一个设备发送信息至整个zigbee网络的所有设备,其目标短地址使用0xFFFF。另外,0xFFFD与0xFFFC也可作为广播地址。其区别如下:

  0xFFFF: 广播数据发送至所有设备,包括睡眠节点
  0xFFFD: 广播数据发送至正在睡眠的所有设备
  0xFFFC: 广播数据发送至所有协调器和路由器

  提到“广播”,可能不少人会认为zigbee的广播就像村里的大喇叭,一个人讲一遍,所有的人竖着耳朵听一次,就完成任务了。其实并不是这样的,Zigbee的广播更像是“传悄悄话”,一传十、十传百,一点点“蔓延”出去的。

  举个最简单的例子:
  一个网络中,有ABC三个设备,A是B的邻居;B是C的邻居;但A和C不是邻居。 

          A--------->B-------->C

  当A要发广播给整个网络的时候,由于距离关系,A无法直接发送给C,那么A首先广播给它的邻居(此例中只有B),B再广播给它的邻居(此例中有A和C),A此时收到B的广播数据,与自己发送的广播数据对比后得知:自己已经将信息广播给了B,且B已经成功中继此广播数据,此时A完成任务,并不再继续接受广播。

  同理,C收到B的广播后,再广播给它的邻居(此例中只有B),B受到C的广播后,得知C也已经收到了自己的广播信息,且成功中继。

  以此类推,任何一个数据广播都可以以这种方式,一步步往外蔓延,最终每个节点都成功收到信息,而且保证信息不会无止境地在网络间传播。

  这种广播方式成功地将通讯范围扩大至整个网络,但由于这种信息在网络间频繁地转发,导致网络负担陡增,所以建议不要过分使用广播方式,而且每次广播的数据尽可能少,发送的时间间隔尽量不要太短!

这篇关于ZigBee基本概念和组网特性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094176

相关文章

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

ActiveMQ—消息特性(延迟和定时消息投递)

ActiveMQ消息特性:延迟和定时消息投递(Delay and Schedule Message Delivery) 转自:http://blog.csdn.net/kimmking/article/details/8443872 有时候我们不希望消息马上被broker投递出去,而是想要消息60秒以后发给消费者,或者我们想让消息没隔一定时间投递一次,一共投递指定的次数。。。 类似

PostgreSQL核心功能特性与使用领域及场景分析

PostgreSQL有什么优点? 开源和免费 PostgreSQL是一个开源的数据库管理系统,可以免费使用和修改。这降低了企业的成本,并为开发者提供了一个活跃的社区和丰富的资源。 高度兼容 PostgreSQL支持多种操作系统(如Linux、Windows、macOS等)和编程语言(如C、C++、Java、Python、Ruby等),并提供了多种接口(如JDBC、ODBC、ADO.NET等

详解Tomcat 7的七大新特性和新增功能(1)

http://developer.51cto.com/art/201009/228537.htm http://tomcat.apache.org/tomcat-7.0-doc/index.html  Apache发布首个Tomcat 7版本已经发布了有一段时间了,Tomcat 7引入了许多新功能,并对现有功能进行了增强。很多文章列出了Tomcat 7的新功能,但大多数并没有详细解释它们

如何掌握面向对象编程的四大特性、Lambda 表达式及 I/O 流:全面指南

这里写目录标题 OOP语言的四大特性lambda输入/输出流(I/O流) OOP语言的四大特性 面向对象编程(OOP)是一种编程范式,它通过使用“对象”来组织代码。OOP 的四大特性是封装、继承、多态和抽象。这些特性帮助程序员更好地管理复杂的代码,使程序更易于理解和维护。 类-》实体的抽象类型 实体(属性,行为) -》 ADT(abstract data type) 属性-》成

【Rocketmq入门-基本概念】

Rocketmq入门-基本概念 名词解释名称服务器(NameServer)消息队列(Message Queue)主题(Topic)标签(Tag)生产者(Producer)消费者(Consumer)拉取模式(Pull)推送模式(Push)消息模型(Message Model) 关键组件Broker消息存储工作流程 名词解释 名称服务器(NameServer) 定义: 名称服务器

《C++标准库》读书笔记/第一天(C++新特性(1))

C++11新特性(1) 以auto完成类型自动推导 auto i=42; //以auto声明的变量,其类型会根据其初值被自动推倒出来,因此一定需要一个初始化操作; static auto a=0.19;//可以用额外限定符修饰 vector<string> v;  auto pos=v.begin();//如果类型很长或类型表达式复杂 auto很有用; auto l=[] (int

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'

Cmake之3.0版本重要特性及用法实例(十三)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧