短距离无线通信-Zigbee

news2024/11/24 14:49:22

阅读引言: 最近在复习之前做过的项目, 所以向将zigbee这个协议分享出来, 一方面可以给需要的人看到, 一方面也方便自己整理zigbee的知识。

目录

一、什么是 ZigBee?

二、Zigbee 通信频段和信道

三、Zigbee协议和Zigbee协议栈

四、ZigBee 联盟与 IEEE 802.15.4 标准的关系

五、Zigbee协议体系结构

六、Zigbee设备在zigbee网络中的角色

七、ZigBee 网络拓补

八、Zigbee寻址方式

九、WIFI、BLE、Zigbee的区别联系

十、Zigbee特点总结


一、什么是 ZigBee?

        Zigbee是一个短距离的无线通信协议,类似于wifi蓝牙, 在文章的末尾会给出wifi、蓝牙、zigbee协议三者的区别和联系。 ZigBee 标准是基于IEEE802.15.4标准的个域网、低数据速率、短距离无线通信定义的一系列通信协议。基于 ZigBee 的无线设备工作在2.4GHz(全球流行)、915MHz(美国流行)和868MHz(欧洲流行)3个频段上,分别具有最高250kbit/s、40kbit/s和20kbit/s的传输速率。

二、Zigbee 通信频段和信道

        频段就是设备在工作时可以使用的一定范围的频率段,信道是在这个频段内可供选择、用于传输信息的通道。ZigBee 物理层工作在 868MHz、915MHz 和 2.4GHz 这三个频段上,这三个频段共计分为 27 个信道,且分别拥有 1 个、10 个、16 个信道。

三、Zigbee协议和Zigbee协议栈

        简单来说, 协议栈就是协议的具体实现, 就是有zigbee联盟和ieee组织将zigbee各个层次的功能用代码写好了, 我们可以直接使用, 我们只需要在应用层调用地城封装好的API接口即可完成数据无线传输的功能。我们采用的 Z-Stack 协议栈是 ZigBee 规范的一种具体实现,应用开发人员可在应用层完成代码编写,实现应用项目的相关功能

        虽然用起来比较简单, 但是作为嵌入式软件开发者, 我们不需要深入了解底层的射频芯片的工作原理, 但是对嵌入式开发中常见的协议理论基础还是需要的, 而今天的内容就是为这个准备的。

四、ZigBee 联盟与 IEEE 802.15.4 标准的关系

ZigBee 联盟?

IEEE 802.15.4是?

IEEE 802.15.4是一种针对无线个域网(WPAN)的通信标准,主要用于设备之间的低成本、低速率和低功耗的通信。IEEE 802.15.4的主要特点包括:

1. **低速率**:该标准的传输速率为250 kbit/s,最初定义了更低的速率,如20 kbit/s和40 kbit/s,以满足不同应用场景的需求。在当前版本中,还增加了100 kbit/s的速率选项。
2. **短距离**:设计目标是支持大约10米的通信范围,适用于个人空间内的设备互联互通。
3. **低功耗**:IEEE 802.15.4旨在降低设备的功耗,使得设备能够在电池供电的情况下长时间运行,特别适合于嵌入式设备和传感器网络。
4. **多种物理层**:标准定义了多个物理层选项,以适应不同的应用需求和环境条件,通过权衡传输速率和功耗来支持更多的基础嵌入式设备。

值得一提的是,IEEE 802.15.4常用于智能家居、穿戴设备、工业自动化和物联网等领域,它为这些领域提供了一个稳定、可靠且节能的通信基础。与Wi-Fi等其他无线通信技术相比,IEEE 802.15.4更注重于低成本和低功耗,而不是高带宽或长距离通信。因此,它在需要大量部署且电池寿命要求较长的场景中尤为适用。

        Zigbee 的诞生和生长与两个组织密不可分,这两个组织分别是 IEEE 802.15 工作组和 zigbee 联盟。 如下图所示,网络的最下面两层是由 IEEE 802.15.4 标准所定义的, 该标准是由 IEEE802 标准委员会所开发并于 2003 年最初发布的,IEEE 802.15.4 标准定义了无线网络 PHY 层和 MAC 层的详细信息,但它没有为更高的层规定任何要求。 ZigBee 标准仅仅定义了协议的网络层、应用层和安全层,并采用 IEEE 802.15.4 的 PHY 层和 MAC 层作为其部分协议。因此,任何遵循 ZigBee 标准的设备也同样遵循 IEEE 802.15.4 标准。

五、Zigbee协议体系结构

可以结合TCP/IP协议的体系结构来看

(1)APP:应用层,用户创建应用工程的地方。项目的主要内容由应用框架层(AF)、Zigbee设备对象层(ZDO)、应用支持子层(APS)组成。

- 应用框架层(AF):提供了一个如何在Zigbee协议栈上及案例一个规范的描述。它规定了规范的一系列的标准数据类型,协助服务发现的描述符,传输数据的帧格式等等。

- Zigbee设备对象层(ZDO):定义了一个设备在网络中的角色(协调器、路由器或者终端节点),发起或者应答绑定和发现请求,并在网络设备间建立一个安全关系。它同时也提供定义了Zigbee设备规范里的一套丰富的管理指令。位于应用框架和应用支持子层之间。它描述了一个基本的功能函数类,在应用对象、配置文件(Profile)和应用支持子层之间提供了一个接口,满足了ZigBee协议栈所有操作的一般要求。同时,ZDO还具备初始化应用支持子层、网络层、安全服务文档。

- 应用支持子层(APS):负责提供了一个数据服务给应用和Zigbee设备规范。它也提供一个管理服务以维护绑定链接和它字节绑定表的存储。

注意:应用层是ZigBee无线网络中的最高协议层和承载应用的实体。单个设备最多可拥有240个应用实体(应用任务)。

ZigBee协议标准在开发应用时会提供应用协议,应用协议是一组统一的消息格式和处理方法。对某个特定应用而言,使用应用协议可使产品开发者能够在不同厂商生产的产品上使用该应用。比如说,如果两个厂商使用相同的应用协议开发产品,那么一个厂商生产的产品就可以与另一个厂商生产的产品相互交互,这就好像它们都是同一个制造商生产的一样。

(2)NWK:网络层,半开源,核心代码不开源,比如路由算法不开源。

这一层包含有网络层配置参数文件及网络层库的函数接口文件,APS层库的函数接口。主要负责路径选择和数据转发。

- 网络层对MAC和应用层提供接口并管理网络结构和路由。

- 路由通俗的说就是选择一条路径将数据传输到目的设备。在ZigBee网络中,终端设备并没有路由转发的能力,但Zigbee协调器和ZigBee路由器具此功能。

- ZigBee协调器的网络层建立并维持整个网络的正常工作,选择网络的拓扑结构(树状,星型或者对等),保持和终端设备间的通讯。此外,Zigbee协调器还能给设备分配标识码的功能。

- 网络层首先确保MAC层具备正常的工作的能力,同时为应用层提供服务接口。

- 网络层包含网络数据实体(NLDE)和网络管理实体(MLME)在内的两个服务实体。

- 其中NLDE提供的服务有:生成网络数据单元:也就是对上层的数据进行分段、封装,以及指定路由拓扑和安全支持。

- MLME提供的服务有:配置新设备,建立新网络,允许设备加入或离开网络,路由的发现邻居寻址。

(3)MAC:包含MAC层的参数配置文件以及MAC的LIB库的函数接口文件。

- 它负责为节点和它的直接邻居之间提供可靠的通信链路,提供冲突避免以提高通信效率。帮助避免碰撞和提高效率,MAC层还负责打包和分解数据。

- MAC层主负责产生信标(Beacon)和为信标(beacon-enable网络)同步设备。

- MAC层包含一个管理实体,称为MLME(MAC Layer Management Entity)

- MLME负责维护和MAC子层相关的管理目标数据库,也就是MAC子层的PAN信息数据库。

六、Zigbee设备在zigbee网络中的角色

ZigBee 标准将网络节点按照功能划分为三种类型:PAN协调器(Personal Area Network Zigbee Coordinator, ZC)、路由器(ZigBee Router, ZR)和终端设备(ZigBee EndDevice, ZE)。

协调器:一个 ZigBee 网络中仅有一个协调器,是 PAN 的总控制器。其职责包括:
  - 为网络中每个设备分配一个唯一地址;
  - 初始化、终止、转发网络中的消息;
  - 为网络选择一个唯一的 PAN 标识符,使得网络中的设备可以使用 16 位短地址进行通信。

路由器:主要负责允许设备加入网络、扩展网络覆盖的物理范围以及数据包路由的功能。

终端设备:主要负责无线网络数据的采集。

注意:

- 协调器启动并建立网络后,首先选择网络标识符,并将自己短地址设置为0x0000,然后开始向邻近的设备发送信标,接受其他设备的连接,形成树的第一级。协调器与这些设备之间形成父子关系。


- 与协调器建立了连接的设备都会被分配一个16位的网络地址称为短地址。如果设备以终端设备的身份接入网络,则协调器会为它分配一个唯一的16位网络地址;如果设备以路由器的身份与网络建立连接,则协调器会为它分配一个地址块,包含有若干16位短地址。


- 路由器根据接收到的协调器信标的信息,配置并发送它自己的信标,允许其他设备与自己建立连接,成为其子设备。这些子设备中可以有路由器,它们可以有自己的子设备,如此下去形成多级树簇型结构的网络。

七、ZigBee 网络拓补

ZigBee 网络支持星状、树(簇)状、网状三种网络拓补结构

星状网络:在星状网络中,所有的终端设备都只与 PAN 协调器通信。且只允许 PAN 协调器与终端设备通信,终端设备和终端设备不能直接通信,终端设备间的消息通信需通过 PAN协调器进行转发。

簇(树)状网络:由一个 PAN 协调器和一个或多个星状网络结构组成。终端设备可以选择加入 PAN 协调器或者路由器。设备能与自己的父节点或子节点直接通信,但与其他设备的通信只能依靠树状节点组织路由进行。


网状网络:网状网络中任意两个路由器能够直接通信,且具有路由功能的节点不用沿着树来通信而可以直接把消息发送给其它的路由节点。

八、Zigbee寻址方式

Zigbee 网络有两种类型的地址:扩展地址、短地址。


扩展地址:又称 IEEE 地址、MAC 地址。扩展地址位数为 64 位,由设备商固化在设备里。任何 zigbee 网络设备都具有全球唯一的扩展地址,在 PAN 网络中,此地址可以直接用于通信。


短地址:又称为网络地址,它用于在本地网络中标识设备节点。 短地址位数为 16 位。在协调器建立网络后,使用 0x0000 作为 自己的短地址,在设备需要关联得时候,由父设备分配 16 位短地址。设备可以使用 16 位短地址在网络中进行通信。不同的zigbee 网络可能具有相同的短地址。

OK, 关于zigbee的理论知识分享到此结束,希望对需要的人有所帮助。哦还有wifi, 蓝牙, zigbee三者的对比每写。

九、WIFI、BLE、Zigbee的区别联系

WiFi、BLE(蓝牙低功耗技术)和Zigbee都是无线通信技术,但它们在应用场景和技术特性上存在一些差异。

- **WiFi**:传输速率高,通常用于大规模数据传输和宽带网络接入。它的覆盖范围较大,非常适合家庭和办公室环境内的网络连接。WiFi适用于高速上网、视频流媒体、大文件传输等带宽密集型活动。


- **BLE**:是一种专为低功耗应用设计的无线通信协议,主要针对需要长时间待机和使用电池供电的设备。BLE的通信距离较短,适合近距离通信,如智能手表、健康监测设备和一些物联网设备之间的数据同步。


- **Zigbee**:是低速、低功耗、低成本的短距离无线通信技术,特别适合于大规模的传感器网络和自组织网状网络。Zigbee的传输速率相对较低,但可以提供稳定可靠的通信,因此常被用于智能家居、工业控制等领域。

十、Zigbee特点总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1626898.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ATFX汇市:日本央行并未连续加息,日元剧烈贬值

ATFX汇市:今日11:22,日本央行公布4月利率决议结果,宣布维持0~0.1%的基准利率不变。日元应声贬值,三十分钟内,USDJPY从155.42猛涨至155.89,涨幅47基点。今日14:30,日本央行行长植田和男召开货币政…

类与对象(四)

目录 1.构造函数 1.1初始化列表 1.2 隐式类型转换 2.静态成员 2.1 静态成员变量 2.2静态成员函数 3.友元 3.1 友元函数 3.2 友元类 4.内部类 5.匿名对象 6.拷贝对象时的一些编译器优化 1.构造函数 1.1初始化列表 我们在将构造函数的时候讲过构造函数是对一个对象整体的…

HarmonyOS ArkUI实战开发-NAPI方法扩展

在前 3 小结笔者简单介绍了 NAPI 工程并对生成的源码进行了简单介绍,本节笔者在前 3 小节的基础上对 NAPI 工程做个扩展,再额外添加一个计算 MD5 的方法 md5()。 声明md5方法 在 index.d.ts 文件中声明一个 md5() 方法,该方法接收一个 stri…

自己搭建的大疆无人机RTMP流媒体服务延迟太大

流程:无人机摄像头->图传->遥控器->流媒体服务器->取流播放,延迟有10秒来的,大家有没有什么好的方案。

思考(1)

思考: 1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文 Windows登录的明文密码:是通过LSA(Local Security Authority)进行存储…

用过最佳的wordpress模板

西瓜红,作为一种充满活力和激情的颜色,总是能给人留下深刻的印象。当这种鲜艳的色彩与经典的设计元素相结合时,就能打造出一款既时尚又实用的WordPress企业模板。今天,我们向您隆重推荐这款西瓜红经典配色WordPress企业模板。 这…

HTML批量文件上传方案——图像预览方式

作者:私语茶馆 1.HTML多文件上传的关键方案 多文件上传包括:文件有效性校验,文件预览、存储和进度展示多个方面,本章节介绍的是文件预览的实现方案。 2.文件上传前预览 2.1.效果 选择文件前: 选择文件后: 2.2.CSS文件代码 StorageCenter.css代码 html {font-family:…

计算机组成原理实验(一)--可控加减法电路设计实验

一、一位全加器的设计 视频学习链接:3-2-4 定点数的加法和减法运算 — 一位全加器的硬件逻辑实现_哔哩哔哩_bilibili 仿真电路图: 总结:奇数个1时Si输出为1,偶数个1输出为0;1的个数大于等于2时,Ci输出1 实…

NEMU模拟器源码编译与使用

NEMU模拟器源码编译与使用 1 NEMU介绍2 NEMU编译3 NEMU使用3.1 下载MySBIBenOS3.2 使用riscv64-benos_defconfig编译NEMU3.3 编译MySBIBenOS3.4 运行MySBIBenOS 4 解决NEMU编译报错4.1 找不到readline/readline.h4.2 找不到path_manager.h 1 NEMU介绍 NEMU(NJU Emu…

探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(三)KV缓存

探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(三) KV缓存 在推理的每一步中,只对模型输出的最后一个标记感兴趣,因为已经有了之前的标记。然而,模型需要访问所有先前的标记来决定输出哪个标记&…

Redis入门到实战教程(基础篇)笔记

教学来源: Redis课程介绍导学_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1cr4y1671t?p1一、Redis 入门 1.认识NoSQL 2.Redis在虚拟机中的安装和开机自启 Redis在虚拟机中安装和配置开机自启-CSDN博客https://blog.csdn.net/qq_69183322/article/deta…

力扣37题:回溯算法之解数独

编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 数独部分空…

每日一题(力扣45):跳跃游戏2--贪心

由于题目已经告诉了我们一定可以跳到,所以我们只需去考虑前进最快的方法。即 判断当前下一步能跳的各个位置中,哪个能带你去去向最远的地方(why? 因为其他位置所能提供的最大范围都没最远那个大,所以最远的那个已经可以…

【元启发式算法】学生心理学优化算法 SPBO算法【Matlab代码#88】

文章目录 【获取资源请见文章第4节:资源获取】1. 学生心理学优化算法(SPBO)1.1 最好的学生1.2 次好的学生1.3 一般的学生1.4 随机提高成绩的学生 2. 部分代码展示3. 仿真结果展示4. 资源获取说明 【获取资源请见文章第4节:资源获取…

VTK----VTK数据结构详解3(代码篇)

上篇文章(VTK----VTK数据结构详解(计算机篇)-CSDN博客)从计算机数据结构(数组、链表等)的角度对数据数组、数据对象、数据属性的实现原理进行了说明,下面从代码的层面详细说明它们的使用及相关实…

【Leetcode笔记】501.二叉搜索树中的众数

文章目录 题目要求ACM 模式代码知识点 题目要求 给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。 如果树中有不止一个众数,可以按 …

智能合约——提案demo

目录 这是一个超超超级简单的智能合约提案项目,你确定不点进来看一下吗? 引言: 1、搭建开发环境: 2、编写智能合约: 3、部署智能合约: ​编辑​编辑4、编写前端交互代码(使用web3.js&…

MySQL中的Performance Schema是什么?

MySQL中的Performance Schema是什么? Performance Schema 是 MySQL 的一个特性,主要用于监控 MySQL 服务器在运行时的性能和资源使用情况。它首次引入于 MySQL 5.5 版本,并在后续版本中得到增强。Performance Schema 提供了一种方式来收集数…

PID算法学习

PID算法介绍 在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。它具有原理简单,易于实…

某会员商店App的api接口分析

1、目的 探索学习app接口的加解密机制,并通过api模拟调用的方式,发起业务请求。仅供学习。 2、工具准备 样本App版本:v5.0.80,v5.0.90 设备:Oppo R9s(Android7.1.1) MacOS Big Sur&#xff…