• [XBee] ZigBee学习笔记


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

    几个重要概念:

    node(节点):

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

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

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

    下面几个图说得更清楚点

    0_13204844599e4r.gif

    0_1320484462RdSs.gif

    0_1320484465xzIh.gif

    profile:

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

    0_13204896166g9u.gif

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

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

    descriptor:

    cluster:

    attribute:

    endpoint:

    endpoint的作用举例说明下:

    0_1320642871kxdR.gif

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

    --------------------------------------

    欢迎您,进入 我系程序猿 的cnBlog博客。

    你不能改变你的过去,但你可以让你的未来变得更美好。一旦时间浪费了,生命就浪费了。

    You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.

    --------------------------------------

    分享到QQ空间  

  • 相关阅读:
    [OI学习笔记]排列组合&二项式定理
    [OI学习笔记]拓补排序
    [OI学习笔记]DAG最短路的四种算法整理-floyd,Dijkstra,Bellman-Ford,SPFA
    [OI学习笔记]从蒟蒻的角度理解动态规划(DP)——从暴力搜索到动态规划
    [OI学习笔记]最小生成树之Kruskal算法
    [OI学习笔记]最小生成树之Prim算法
    [OI学习笔记]图的存储与遍历-邻接矩阵&邻接表
    将数组中第n个元素,放到第m个元素后面
    Unity3D中播放序列帧动画
    UVA1589 Xiangqi
  • 原文地址:https://www.cnblogs.com/jqmtony/p/3715244.html
Copyright © 2020-2023  润新知