ZigBee协议栈解析

ZigBee协议栈解析ZigBee技术是物联网领域最常用的无线技术之一,如果我们要做基于ZigBee技术的物联网应用,最好对ZigBee协议栈有一个基本的了解。这篇文章对ZigBee协议栈做一个简单明了的介绍。概述本文准备介绍的ZigBee协议栈是ZigBee2007,也是目前业界最常用的标准版本,对于ZigBee协议栈的演进历程,可以参加《5分钟了解Zigbee的前世今生》。Zi…

大家好,又见面了,我是你们的朋友全栈君。

ZigBee协议栈解析
 

 

ZigBee技术是物联网领域最常用的无线技术之一,如果我们要做基于ZigBee技术的物联网应用,最好对ZigBee协议栈有一个基本的了解。这篇文章对ZigBee协议栈做一个简单明了的介绍。

概述

本文准备介绍的ZigBee协议栈是ZigBee2007,也是目前业界最常用的标准版本,对于ZigBee协议栈的演进历程,可以参加《5分钟了解Zigbee的前世今生》。

ZigBee协议栈可以分为四层:物理层(PHY)、媒体访问控制层(MAC)、网络层(NWK)及应用层(APL)。如图所示,粉色的部分是由IEEE标准中定义的,浅蓝色部分是由ZigBee联盟规定的,黄色部分是由设备厂商自行定义。

 

ZigBee协议栈解析

 

ZigBee协议栈图示

在ZigBee协议栈的图示中,我们还可以发现有很多圆角矩形,都带有SAP的字样。SAP的意思就是服务接入点(Service Access Point)的意思,是协议栈层与层之间的接口,协议栈都是分层结构的,接口就是层与层之间的沟通渠道。

协议栈相邻的上下层之间一般都有两个接口,也就是两个SAP。名字中带字母D的SAP是数据接口,负责层间数据传输;名字中带字母M的SAP是管理接口,供上层或协议栈的管理平面对该层进行控制,比如进行一些参数配置,或读取状态等。PHY & MAC & NWK

ZigBee2007协议栈的物理层及MAC层都是IEEE802.5.14-2003标准中定义的。PHY层(物理层)规定了所使用的频段,以及所使用的编码、调制、扩频、调频等无线传输技术;有了物理层,就有了一个实现点到点之间的信号发射与接收的基础,没有物理层协议,设备间是根本没有办法通信的,有可能都不在一个频段上。

MAC层的主要作用规定了无线信道的访问控制机制,也就是规定各个设备按照什么规矩轮流使用信道;如果没有MAC层协议,节点一多,大家没有个规矩,就会发生信号冲突,谁都没法正常传输数据了。。

ZigBee协议栈在802.15.4协议基础上定义了网络层。网络层的主要作用是负责设备的连接和断开、在帧数据传递时采用的安全机制、路由发现和维护。简单说,就是保障设备之间的组网和网络节点间的数据传输。ZigBee技术支持多跳路由,可以实现星型拓扑、树型拓扑和网状拓扑等不同的网络拓扑结构。

PHY & MAC & NWK这三层协议,主要是为了上面的应用层服务的,在产品开发过程中,不需要深入涉及这三层协议的实现细节,应用层才是开发关注的部分。应用层

ZigBee的应用层的内部又分了三个部分:包括应用框架、应用支持子层(APS)及ZigBee设备对象(ZDO)。应用框架中包含至少一个应用程序对象,也就是ZigBee设备的应用程序,是ZigBee产品开发人员所要实现的部分。

 

ZigBee协议栈解析

 

应用支持子层APS参考模型

转载于:https://www.cnblogs.com/sidoom/p/9253811.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140264.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html css 分页样式,css中分页样式

    html css 分页样式,css中分页样式css中分页样式css分页样式的设置,我们可以采用ul+li来实现,设置li标签float为left,让它们排列在一行,再设置li标签里面的a标签样式。具体实现如下:部分css代码解释#model14ul{padding-inline-start:0!important;/*设置ul的开头距离为零必面设置自动居中时影响美观*/}#model14li:first-child{mar…

    2022年7月17日
    15
  • Java面试之基础及语法

    Java面试之基础及语法Java面试之基础及语法

    2022年4月22日
    39
  • verilog ifdef_verilog define

    verilog ifdef_verilog define注意:feof判断文件结束是通过读取函数fread/fscanf等返回错误来识别的,故而判断文件是否结束应该是在读取函数之后进行判断。比如,在while循环读取一个文件时,如果是在读取函数之前进行判断,则如果文件最后一行是空白行,可能会造成内存错误。https://blog.csdn.net/Chauncey_wu/article/details/902897491.打开文件  int…

    2025年6月1日
    0
  • Idea激活码最新教程2023.3.4版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2023.3.4版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2023 3 4 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2023 3 4 成功激活

    2025年5月27日
    1
  • 错位排序公式_完全错位排列数

    错位排序公式_完全错位排列数首先,对于D(n),有1~n这样n个元素错排,所以对于第一个元素①,它现在可能的位置有(n-1)个,倘若它在第k个元素的位置上,对于第k个元素而言,它所在的位置就有两种可能—第一种,它处在非第一个元素①位置上,所以对于接下来的排列就相当于是n-1个元素的错排,即D(n-1);第二种,它处在第一个元素①的位置上,所以在排列D(n)中有两个元素找到了位置,那么接下来的队列就相当于是n-2个元素的错排。…

    2022年10月22日
    0
  • Java面试题大全带答案「建议收藏」

    Java面试题大全带答案「建议收藏」本人发现网上虽然有不少Java相关的面试题,但第一未必全,第二未必有答案,第三虽然有答案,但未必能在面试中说,所以在本文里,会不断收集各种面试题,并站在面试官的立场上,给出我自己的答案。第一部分、Java基础1.JDK和JRE有什么区别?JDK是java的开发工具包,有JDK8,9甚至到14的差别,安装以后,不仅包含了java的开发环境,比如java.exe,还包含了运行环境(jre)相关包。 JRE是java运行环境,一般装好JDK后,系统里会有对应的JRE环境。2..

    2022年6月21日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号