[XBee] ZigBee学习笔记

转自: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当中还可以进行邻居表路由,其实邻居表可以看作是特殊的路由表,只不过只需要一跳就可以发送到目的节点。

时间: 2024-08-07 02:47:12

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

ZigBee学习笔记一

初学ZigBee, 记录笔记,交流分享, 如有指教,不胜感激! 1: ZigBee是一种协议,由ZigBee联盟制定. ZigBee联盟是一个高速增长的非牟利业界组织,成员包括国际著名半导体生产商.技术提供者.代工生产商以及最终使用者. 2:所谓协议,即一种通讯方式. 例如,人与人之间的通讯方式是 普通话.普通话就是一种协议. 在日常生活中,网吧局域网,运用一种叫 以太网协议,用于不同计算机之间的交流. 而ZigBee 是用于无线传感器只见交流的一种通讯方式. 3:无线传感(器)网络(WSN):

ZigBee学习笔记第一章《点亮第一个LED》

 作为一个物联网专业的学生,感觉不学好这些物联网相关的知识都对不起自己,恩,学习开始!!!        CC2530有21个数字输入/输出引脚,分别是P01-P07.P10-P17.P20-P24.特别需要注意CC2530管脚的输入输出和51单片机不一样,看图的对比嘛.                                                           恩,这个有个基本了解后我们再去了解自己手里的ZigBee模块的硬件电路连接,这样就可以开始准备写程序了,下图就

zigbee 学习笔记

在德州仪器的站点:http://www.ti.com.cn/tool/cn/z-stack上下载安装zigbee2007协议栈版,我的是ZStack-CC2530-2.3.0-1.4.0. 以下演示一个简单的用zigbee通信的样例: 完毕这个样例须要两个zigbee的模块,一个用作协调器(Coordinator)(起建立zigbee网络和与上位机通信的作用)一个用作终端设备(Enddevice)(起採集数据.增加建立的zigbee网络),这里须要实现的功能是先由协调器建立网络,终端设备增加网络

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu

jQuery学习笔记(一):入门

jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: 1 document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: 1 $('#info').val('Hello World!'); 嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开

[原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Activiti 学习笔记记录(三)

上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件

HTML&CSS基础学习笔记8-预格式文本

<pre>标签的主要作用是预格式化文本.被包围在 pre 标签中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre>标签的一个常见应用就是用来表示计算机的源代码.当然你也可以在你需要在网页中预显示格式时使用它. 会使你的文本换行的标签(例如<h>.<p>)绝不能包含在 <pre> 所定义的块里.尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的. 更多学习内容,就在码芽网http://www.