转自:http://blog.csdn.net/wanghanjiett/article/details/6931867

几个重要概念:

node(节点):

在zigbee堆栈中最多有三种节点:Coordinator(协调器)、Router(路由器)、End Device(终端)。

其中Coordinator负责选择工作频段,建立网络,允许子设备加入网络;Router负责传递消息,允许子设备加入网络;End Device只负责收发消息。

一个网络中可以有若干Router和End Device,但只能有一个Coordinator。

下面几个图说得更清楚点

profile:

有人将profile翻译为“规约”,它规定了设备的具体应用环境(这是由zigbee使用联盟制定的,我们只能选择其一)。

其中stack profile定义了网络类型、深度等;application profile针对给定的stack profile定义了不同功能的标准函数,说明了设备类型、接口、如何传输数据等等。

总之,profile就是对设备的描述。目的是形成标准,便于不同制造商间产品的兼容。

descriptor:

cluster:

attribute:

endpoint:

endpoint的作用举例说明下:

假如我们想让node1的开关1控制node2的灯1、2、3,开关2只控制灯4。但是由于节点间信息只依靠网络地址定位,所以node2接收到node1的控制信息后,无法判断究竟是哪个开关的控制信息。所以引入了endpoint概念(这和TCP/IP协议里的“端点”概念很像),给node2两个endpoint(端口),一个对应开关1,一个对应开关2。这样node2的应用程序就能通过接收到的endpoint来区别究竟是接收到哪个开关的信息了。

杂记:

ZigBee网络层的主要功能是路由,路由算法是它的核心。目前ZigBee网络层主要支持两种路由算法——树状路由和网状路由。树状路由(具体可以参考ZigBee的协议栈规范)把整个网络看作是以协调器为根的一棵树,因为整个网络是由协调器所建立的。协调器的子节点可以是路由器或者是末端节点,路由器的子节点也可以是路由器或者末端节点,而末端节点没有子节点,相当于树的叶子。树状路由利用了一种特殊的地址分配算法,使用四个参数—深度、最大深度、最大子节点数和最大子路由器数来计算新节点的地址,于是寻址的时候根据地址就能计算出路径,而路由只有两个方向——向子节点发送或者向父节点发送。树状路由不需要路由表,节省存储资源,但缺点是很不灵活,浪费了大量的地址空间,并且路由效率低。ZigBee当中还有一种路由方法是网状路由,这种方法实际上是AODV路由算法的一个简化版本,非常适合于低成本的无线自组织网络的路由。它可以用于较大规模的网络,需要节点维护一个路由表,耗费一定的存储资源,但往往能达到最优的路由效率,而且使用灵活。除了这两种路由方法,ZigBee当中还可以进行邻居表路由,其实邻居表可以看作是特殊的路由表,只不过只需要一跳就可以发送到目的节点。

[XBee] ZigBee学习笔记的更多相关文章

  1. zigbee 学习笔记

    在德州仪器的站点:http://www.ti.com.cn/tool/cn/z-stack上下载安装zigbee2007协议栈版,我的是ZStack-CC2530-2.3.0-1.4.0. 以下演示一 ...

  2. 转 zigbee学习笔记---Channel、PANID、发射功率及其它参数

    现对z-stack里几个网络参数的设置以及如何获取总结一下.信道配置:Zigbee在3个频段定义了27个物理信道:868MHz频段中定义了1个20Kb/s信道,915MHz频段中定义了10个40Kb/ ...

  3. 物联网学习笔记三:物联网网关协议比较:MQTT 和 Modbus

    物联网学习笔记三:物联网网关协议比较:MQTT 和 Modbus 物联网 (IoT) 不只是新技术,还是与旧技术的集成,其关键在于通信.可用的通信方法各不相同,但是,各种不同的协议在将海量“事物”连接 ...

  4. JavaEE精英进阶课学习笔记《博学谷》

    JavaEE精英进阶课学习笔记<博学谷> 第1章 亿可控系统分析与设计 学习目标 了解物联网应用领域及发展现状 能够说出亿可控的核心功能 能够画出亿可控的系统架构图 能够完成亿可控环境的准 ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  7. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  8. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  9. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

随机推荐

  1. POJ 3159 Candies (栈优化spfa)

    Candies 题目链接: http://acm.hust.edu.cn/vjudge/contest/122685#problem/J Description During the kinderga ...

  2. HDU 5752 Sqrt Bo (数论)

    Sqrt Bo 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5752 Description Let's define the function f ...

  3. HDU 5656 CA Loves GCD (数论DP)

    CA Loves GCD 题目链接: http://acm.hust.edu.cn/vjudge/contest/123316#problem/B Description CA is a fine c ...

  4. POJ 3672 Long Distance Racing (模拟)

    题意:给定一串字符,u表示是上坡,d表示下坡,f表示平坦的,每个有不同的花费时间,问你从开始走,最远能走到. 析:直接模拟就好了,没什么可说的,就是记下时间时要记双倍的,因为要返回来的. 代码如下: ...

  5. ManagementFactory (简介)

    Java Management Extensions (JMX) is a Java technology that supplies tools for managing and monitorin ...

  6. 允许ubuntu下mysql远程连接

    第一步: gedit /etc/mysql/my.cnf找到bind-address = 127.0.0.1 注释掉这行,如:#bind-address = 127.0.0.1 或者改为: bind- ...

  7. 连接查询中on and和on where的区别

    一.区别 1. and条件是在生成临时表时使用的条件,它不管and中的条件是否为真,都会返回左(或者右)边表中的记录. 2.where条件是在临时表生成好后,再对临时表进行过滤的条件.这时已经没有le ...

  8. JdbcTemplate增删改查

    1.使用JdbcTemplate的execute()方法执行SQL语句 jdbcTemplate.execute("CREATE TABLE USER (user_id integer, n ...

  9. IIS支持其他类型下载

    路径:IIS--默认网站属性-->http 头-->MIME映射 -->文件类型 -->新类型

  10. leetcode第一刷_Count and Say

    水题. 描写叙述的还挺麻烦的,实际上就是纸老虎,用两个string,一个存上一轮的结果,一个用来更新出这一轮的结果,每次扫描上一轮,统计一个字符出现的次数,然后把这个次数和字符增加到这一轮的字符串中就 ...