zigbee 中ZDO的理解
---恢复内容开始---
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的理解的更多相关文章
- Fouandation(NSString ,NSArray,NSDictionary,NSSet) 中常见的理解错误区
Fouandation 中常见的理解错误区 1.NSString //快速创建(实例和类方法) 存放的地址是 常量区 NSString * string1 = [NSString alloc]init ...
- linux中socket的理解
对linux中socket的理解 一.socket 一般来说socket有一个别名也叫做套接字. socket起源于Unix,都可以用“打开open –> 读写write/read –> ...
- 谈谈我对Java中CallBack的理解
谈谈我对Java中CallBack的理解 http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html CallBack是回 ...
- JavaScript中的闭包理解
原创文章,转载请注明:JavaScript中的闭包理解 By Lucio.Yang 1.JavaScript闭包 在小学期开发项目的时候,用node.js开发了服务器,过程中遇到了node.js的第 ...
- 网站开发进阶(三十四)编码中的setCharacterEncoding 理解
编码中的setCharacterEncoding 理解 1.pageEncoding="UTF-8"的作用是设置JSP编译成Servlet时使用的编码. 2.contentType ...
- 关于zynq7 中MIO的理解
关于zynq7 中MIO的理解 Zynq7000有54个MIO,分配在GPIO的Bank0和Bank1,属于PS部分,这些IO与PS直接相连,不需要添加引脚约束,MIO信号对PL部分是不可见的,对MI ...
- Java 泛型 <? super T> 中 super 怎么 理解?与 < ? extends T>有何不同?
Java 泛型 <? super T> 中 super 怎么 理解?与 extends 有何不同? 简介 前两篇文章介绍了泛型的基本用法.类型擦除以及泛型数组.在泛型的使用中,还有个重要的 ...
- 沉淀再出发:关于java中的AQS理解
沉淀再出发:关于java中的AQS理解 一.前言 在java中有很多锁结构都继承自AQS(AbstractQueuedSynchronizer)这个抽象类如果我们仔细了解可以发现AQS的作用是非常大的 ...
- 关于NAND flash的MTD分区与uboot中分区的理解
关于NAND flash的MTD分区与uboot中分区的理解 转自:http://blog.csdn.net/yjp19871013/article/details/6933455?=40085044 ...
随机推荐
- elasticsearch视频
简单的集群管理 (1)快速检查集群的健康状况 es提供了一套api,叫做cat api,可以查看es中各种各样的数据 GET /_cat/health?v epoch timestamp cluste ...
- 安卓动态分析工具【Android】3D布局分析工具
https://blog.csdn.net/fancylovejava/article/details/45787729 https://blog.csdn.net/dunqiangjiaodemog ...
- jQuery效果-----fadeIn()、fadeOut()、fadeToggle()、fadeTo()
fadeIn(),fadeOut(),fadeToggle(),fadeTo() fadeIn()-----淡入已经隐藏的元素(把隐藏的被选元素渐渐显示出来). 语法:$(selector).fade ...
- 旧版本的firefox 下载 和 安装(查找web元素路径) ---web 元素 自动化测试
ftp.mozilla.orgpubfirefoxreleases 旧版下载地址 选择47版本 因为48后面的会进行插件校验 这样firepath安装不成功 安装文件:在百度 ...
- day25:接口类和抽象类
1,接口类和抽象类知识背景:一开始在程序界是没有这些概念的,后来就流行了一种语言叫做JAVA,JAVA是一种典型的纯面向对象的语言,JAVA写的程序都是非常适用于更庞大的项目,很多程序员就总结出了一些 ...
- 1. Scala概述
1.1 概述 联邦理工学院洛桑(EPFL)的Martin Odersky于2001年开始设计Scala Scala是Scalable Language的简写,是一门多范式的编程语言 1.2 Scala ...
- linux信息收集
1.系统区分debian系列:debian.ubunturedhat系列:redhat.centos 是否为docker.或者为虚拟机 分为通用模块.单独模块的信息获取 2.系统信息收集 内核(是否为 ...
- Git branch && Git checkout常见用法
https://www.cnblogs.com/qianqiannian/p/6011404.html git branch 和 git checkout经常在一起使用,所以在此将它们合在一起 1.G ...
- k8s-No.1-概述与架构
本章目录 k8s概述 k8s系统架构 k8s工作流程图 一 概述 k8s是什么 k8s是谷歌公司基于内部容器管理系统borg开源出的一个容器集群管理工具,它是用go语言开发,提供了容器的应用部署,规 ...
- 【转】Java遍历Map对象的四种方式
关于java中遍历map具体哪四种方式,请看下文详解吧. 方式一 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. Map<Integer, Integer> ma ...