---恢复内容开始---

ZigBee

    物理层:主要进行无线数据的收发,同时定义了无线传输的信道以及频率。

     MAC层:使用CSMA-CA机制接入到无线信道,负责传输信标帧,保持同步和提供可靠的传输机制。

     网络层:主要负责网络的建立以及网络地址的分配,网络拓扑结构,网络的路由管理。

     应用层:应用支持子层,ZDO层,应用框架层、

                 应用支持子层:绑定及绑定维护

                  zigbee设备对象层;为定义网络的节点的角色,以及网络服务。ZDO通过端点0可以使应用程序和zigbee协议栈的其他层进行通信。

     一个端点对应一个任务,一个任务都有唯一的任务号及任务处理函数,ZDO_RegisterForZDOMsg()在相应的任务中注册事件,并且每一个事件只能被成功的注册一次。注册的实质是将注册的信息通过ZDO_Msg_t的形式加入到链表中,其中zdoMsgCBs保留链表的头指针。

    无线数据的发送和接收:1.发送端:先将无线数据包发送到下层,直到物理层,物理层将数据包一无线电波的形式发送出去 。

                                            2.接收端:当有无线数据包到来时,节点的最下层,也就是物理层将接收到这个无线数据包,然后层层上传,直到应用层。(数据包在到达应用层之前就已经被解析完成了。不用关注怎样解析数据包)

      ZDO是一个特殊的应用层的端点(Endpoint),ZDO占用每个节点(node)的0终端(Endpoint0)。它是应用层其他端点与应用子层管理实体交互的中间件。应用程序通过端点0可以与zigbee堆栈的其他层通信,所有端点都使用应用支持子层(APS)提供服务、

      一个任务可以有16个事件,而每一个事件可以有256个消息,从0x00-0xff。其中SYS_EVENT_MSG是系统的事件,KEY_CHANGE应该是属于SYS_EVENT_MSG事件下的消息,其实这样说不是很准确,它只是包括在传递的消息中,表现的形式还是一个事件,但是它不属于一个任务中16个事件之一,本质上还是SYS_EVENT_MSG下的子事件。

      ZDO的配置叫做ZDP(ZigBee设备配置ZigBee Device Profile)ZDP可以被应用终端(application end points)和ZigBee节点访问。

---恢复内容结束---

zigbee 中ZDO的理解的更多相关文章

  1. Fouandation(NSString ,NSArray,NSDictionary,NSSet) 中常见的理解错误区

    Fouandation 中常见的理解错误区 1.NSString //快速创建(实例和类方法) 存放的地址是 常量区 NSString * string1 = [NSString alloc]init ...

  2. linux中socket的理解

    对linux中socket的理解 一.socket 一般来说socket有一个别名也叫做套接字. socket起源于Unix,都可以用“打开open –> 读写write/read –> ...

  3. 谈谈我对Java中CallBack的理解

    谈谈我对Java中CallBack的理解 http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html CallBack是回 ...

  4. JavaScript中的闭包理解

    原创文章,转载请注明:JavaScript中的闭包理解  By Lucio.Yang 1.JavaScript闭包 在小学期开发项目的时候,用node.js开发了服务器,过程中遇到了node.js的第 ...

  5. 网站开发进阶(三十四)编码中的setCharacterEncoding 理解

    编码中的setCharacterEncoding 理解 1.pageEncoding="UTF-8"的作用是设置JSP编译成Servlet时使用的编码. 2.contentType ...

  6. 关于zynq7 中MIO的理解

    关于zynq7 中MIO的理解 Zynq7000有54个MIO,分配在GPIO的Bank0和Bank1,属于PS部分,这些IO与PS直接相连,不需要添加引脚约束,MIO信号对PL部分是不可见的,对MI ...

  7. Java 泛型 <? super T> 中 super 怎么 理解?与 < ? extends T>有何不同?

    Java 泛型 <? super T> 中 super 怎么 理解?与 extends 有何不同? 简介 前两篇文章介绍了泛型的基本用法.类型擦除以及泛型数组.在泛型的使用中,还有个重要的 ...

  8. 沉淀再出发:关于java中的AQS理解

    沉淀再出发:关于java中的AQS理解 一.前言 在java中有很多锁结构都继承自AQS(AbstractQueuedSynchronizer)这个抽象类如果我们仔细了解可以发现AQS的作用是非常大的 ...

  9. 关于NAND flash的MTD分区与uboot中分区的理解

    关于NAND flash的MTD分区与uboot中分区的理解 转自:http://blog.csdn.net/yjp19871013/article/details/6933455?=40085044 ...

随机推荐

  1. Android 基础知识

    system/app   与   system/priv-app Android4.4系统在system目录下新增了priv-app目录,在该目录下的apk一般都是系统核心应用如Launcher.sy ...

  2. 一般处理程序(ashx)的使用

    ASP.NET 中发送请求的页面代码如下: <head runat="server"> <title></title> <script s ...

  3. JDBC的理解

    import java.sql.*;//倒入java.sql包 public class JDBC { //封装没有返回值的jdbc函数(Update) --适用于增 删 改 public stati ...

  4. matplotlib 三维旋转

    # 当elevation=0时,视角为沿x1负方向看,当elevation=90时,视角沿x3负方向看.# 当azimuth=0时,视角为沿x1负方向看,当azimuth=90时,视角沿x2负方向看. ...

  5. L1-016 查验身份证 (15 分)【考细心,考flag设置】

    一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8, ...

  6. 动态规划 hdu 1024

    Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  7. python3 参数*args 、 **args 在函数定义和调用中的应用

    一.函数调用时 说明:*args 表示解包(解包 列表.元组.字符串类型) #定义函数cn_musql def cn_musql(host,port,user,pwd,db): print(host) ...

  8. vue解决前后端跨域问题

    1/在config中index.js中 找到proxyTable在里面添加如下代码 proxyTable: { '/api': { target: 'https://api.douban.com/v2 ...

  9. Python002-操作MSSQL(Microsoft sql server)基础示例(二)

    前文http://www.cnblogs.com/fengpingfan/p/7675291.html,讲述了python操作mssql的步骤.环境创建.常用方法等,本文将实例演示python操作ms ...

  10. Mysql笔试题

    1.查询Student表中的所有记录的Sname.Ssex和Class列. SELECT Sname,Ssex,Class FROM Students; 2.查询教师所有的单位即不重复的Depart列 ...