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 ...
随机推荐
- 100837D
囤了一个星期..今天看了下vj上 sysuteam7 三年半之前的代码.. 深刻地认识到了自己智商不足的问题. 先求出来每个点对中心的偏移量.确实是乱序的,但是我们可以极角排序,这样一定是一个循环移位 ...
- JavaScript学习day1
JavaScript 特点: javascript 是一种脚本语言,它的解释器被称为javascript引擎,JavaScript被发明用于在HTML网页上使用,给HTML 网页增加动态功能 由于ja ...
- Oracle 11g修改字符集
选择静默安装的安装字符集为默认的ZHS16GBK,工作中字符集为为AL32UTF8 一.登录oracle sqlplus / as sysdba shutdown immediate; STARTUP ...
- 如何将WORD表格转换成EXCEL表格
WORD和EXCEL都可以制作表格,但WORD表格与EXCEL表格之间有着很明显的差距,所以在办公中经常会需要将WORD转换成EXCEL,今天小编就教大家一招将WORD表格转换成EXCEL表格. 操作 ...
- .NET Core 中基于 IHostedService 实现后台定时任务
.NET Core 2.0 引入了 IHostedService ,基于它可以很方便地执行后台任务,.NET Core 2.1 则锦上添花地提供了 IHostedService 的默认实现基类 Bac ...
- dlib编译成静态库及被其它程序调用
一.git下载:https://github.com/davisking/dlib 官网:http://dlib.net/ 二.vs中编译成静态库 1.在vs2015中创建静态库工程(vs2015以上 ...
- APICloud开发者进阶之路 | txLive模块(直播类)试用分享
本文出自APICloud官方论坛,感谢论坛版主uoaccw的分享 txLive 模块封装了腾讯云直播服务 https://docs.apicloud.com/Client-API/Open-SDK/t ...
- MySQL中dblink的实现(通过federated引擎实现)
最近项目中涉及MySQL数据库视图的创建,需要整合两个位于不同服务器上数据库的内容,就遇到了远程访问数据库的问题.在oracle中可以通过dblink来实现跨本地数据库来访问另外一个数据库中的数据.通 ...
- GRUB 的配置文件解析
原文:http://c.biancheng.net/view/1032.html 本节,我们就来看看 GRUB 的配置文件 /boot/gmb/grub.conf 中到底写了什么.命令如下: [roo ...
- linux 逆向映射
逆向映射用于建立物理内存页和使用该页的进程的对应页表项之间的联系,在换出页时以便更新所有涉及的进程.得到物理页基址后,根据pfn_to_page可以将页框转换为page实例,page实例中的mappi ...