ZigBee学习(一)

文章目录

  • 一、ZigBee介绍
    • 1.1 ZigBee协议特点
    • 1.2 ZigBee协议体系结构
    • 1.3 ZigBee设备类型
  • 二、IEEE 802.15.4
    • 2.1 物理层
    • 2.2 MAC层
    • 2.3 如何实现网络和设备寻址
    • 2.4 能量管理
  • 三、ZigBee网络拓扑结构
  • 四、ZigBee配置参数

一、ZigBee介绍

  ZigBee是一种基于IEEE 802.15.4标准的高级通信协议,它被设计用于低速率、低功耗和短距离无线通信,尤其适合于构建低成本、复杂的网络。这使得ZigBee成为智能家居、工业控制、医疗保健、智能农业等领域的理想选择。

1.1 ZigBee协议特点

以下是关于ZigBee的几个重要特点:

1.低功耗:ZigBee协议拥有非常低的功耗。这使得其在许多基于电池供电的应用中具有重要价值。
2.自组网能力:ZigBee可以自动形成和修复网络,也就是说,无需人工设定,它们可以自动找到可以连接的设备并形成网络。
3.大规模网络:ZigBee 支持非常大规模的网络。这使得ZigBee非常适合用于构建包含大量设备的复杂网络,比如在智能家居中的大量设备控制。
4.通信协议简单:相较于Wi-Fi或蓝牙,ZigBee的通信协议相对简单,因此在相同的硬件条件下,实现ZigBee的成本更低。

1.2 ZigBee协议体系结构

OSI参考模型&TCP/IP模型,ZigBee也是在OSI参考模型上,结合无线网络的特点,采用分层思想实现的。
在这里插入图片描述
在这里插入图片描述

1.3 ZigBee设备类型

  1. 协调器
  • 为每个设备分配-个唯–的网络地址。
  • 为整个网络选择- - 个唯一的16位的PAN ID(个域网标志符),通过这个ID,网络中的设备就可以通过网络地址来相互通信了。
  • 初始化,终止,转发网络中的消息。
  1. 路由器
  • 允许设备加入网络,扩展网络覆盖的物理范围和数据包路由的功能。
  1. 终端设备
  • 主要负责无线网络数据的采集。

二、IEEE 802.15.4

2.1 物理层

该层负责无线电频率的选择,数据的传输和接收,以及无线信号的调制和解调。

物理层的主要功能包括:

1.激活和去激活无线电收发器:物理层控制无线电频率接收器和发射器,确保它们在需要的时候启动,并在不需要的时候关闭以节省功耗。
2.信道选择:物理层可以根据环境和网络配置选择一个特定的无线电信道来通信。
3.能量检测(Energy Detection, ED):物理层可以测量当前信道上的RF能量,以便检测信道是否被占用。
4.链路质量指示(Link Quality Indication, LQI):物理层可以估计接收数据包的质量,以便为网络层提供关于信道质量的反馈。
5.数据的发送和接收:物理层负责将数据从MAC层传输到无线电频道,并从无线电频道接收数据传输到MAC层。
6.调制和解调:物理层将数字数据信号转换为适合无线传输的模拟信号,也就是将数据包转换为无线电波。接收端的物理层则负责将无线电波转换回数据包。

IEEE 802.15.4定义了多个频率带,包括868 MHz、915 MHz和2.4 GHz,每个频率带有多个信道。例如,2.4 GHz频带定义了16个信道,每个信道之间的间隔为5 MHz。每个信道都定义了特定的调制类型,例如2.4 GHz频带使用的是偏移键控(OQPSK)调制。

2.2 MAC层

IEEE 802.15.4标准中的媒体访问控制层(MAC)协议主要负责帧的组成、帧的发送和接收、信道访问机制以及网络连接和丧失连接的处理。以下是MAC层的一些主要职责:

1.帧格式与处理:MAC层定义了一个特定的帧格式,用于数据的发送和接收。这个帧格式包括一些关键的信息,如源地址,目的地址,负载数据等。此外,MAC层还负责处理发送和接收的帧。
2.信道访问机制:MAC层利用 CSMA/CA(载波监听多路访问和碰撞避免)机制来控制设备的信道访问,并尽可能地避免信道冲突。
3.网络和设备的寻址:MAC层为每个设备分配一个唯一的地址,并处理目标设备的寻址过程。
网络连接和丧失连接的处理:MAC层负责处理设备的网络连接过程,例如通过发送和接收请求与应答来形成网络。它还会处理设备的丧失连接状态,例如,当设备离开网络或网络不可用时。
4.能源管理:MAC层也参与到设备的能源管理中,例如,它可以将设备设置为低功耗模式,以节省电池电力。
5.安全:MAC层还可以提供一些安全功能,例如数据的加密与解密,以及通过验证接收帧的完整性来防止数据篡改。

与Internet网络中MAC层有什么不同?

IEEE 802.15.4 MAC层和Internet中的MAC层,也就是以太网(Ethernet)或Wi-Fi(IEEE 802.11)的MAC层之间,存在一些显著的不同。

  1. 用途:IEEE 802.15.4是为低速率、低功耗和短距离无线通信设计的,例如传感器网络、自动化设备等。而Ethernet 和 Wi-Fi 则用于创建高速率、高带宽的有线和无线局域网。
  2. 帧结构:IEEE 802.15.4和以太网的帧结构不同。例如,IEEE 802.15.4的一般数据帧包括一些特定的字段,如帧类型、源地址和目标地址等。而以太网的帧结构包括目标MAC地址、源MAC地址、类型/长度和负载数据等。
  3. 信道访问机制:IEEE 802.15.4使用CSMA/CA来避免在无线通信中的碰撞。然而,以太网使用了稍有不同的CSMA/CD(载波侦听多路访问和碰撞检测)机制,它可以在碰撞发生后再进行碰撞处理,因为以太网通信环境比无线环境下的难度要小。
  4. 网络拓扑:IEEE 802.15.4支持星形和对等网络等多种网络拓扑,以适应不同的应用需求。而以太网或Wi-Fi主要使用星形网络拓扑。
  5. 能效:由于目标应用的不同,IEEE 802.15.4特别关注低功耗设计,因此它包含一些节能功能,例如设备能够按照预定的时间表进入休眠模式。而这在以太网和Wi-Fi中并不常见。
    虽然这两者都在MAC层完成定址、帧处理和网络访问控制等基础功能,但基于其应用场景的差异,设计实现上有显著不同。

2.3 如何实现网络和设备寻址

在IEEE 802.15.4标准中,网络和设备地址的配置通过PAN ID和设备地址两种方式实现。

  1. PAN ID:PAN(Personal Area Network)ID是用于标识特定无线个域网的独特16位标识符。每个网络都有一个唯一的PAN ID,所有在同一个网络中的设备都共享这个PAN ID。这是用来区分不同网络的关键标识。
  2. 设备地址:任何IEEE 802.15.4网络中的设备都有一个唯一的地址。这在标准中被定义为两种类型:
  • 短地址:短地址是一个16位的唯一标识符,用于在PAN内识别设备。这种地址由PAN协调器在设备加入网络时分配,并且只需要在该PAN内保持唯一性。
  • 长地址:长地址是一个64位的全局唯一标识符(EUI-64)。EUI-64地址通常在设备制造时硬编码,并且在全球范围内保持唯一性。

整个寻址过程是这样的:根据数据帧的目标PAN ID和设备地址,MAC层确定数据帧应发送给哪个网络中的哪个设备。发送设备将生成一个MAC层数据帧,其中包括源和目标的PAN ID和设备地址。接收设备通过检查数据帧中的PAN ID和设备地址,确定该数据帧是否目标为其自身。如果是,它将处理数据帧;如果不是,它将忽略该数据帧。

通过这种方式,IEEE 802.15.4网络能够支持设备和网络寻址,以正确地路由和交付数据。

2.4 能量管理

IEEE 802.15.4标准设计了一些特性以支持能源管理和降低功耗。考虑到该标准主要用于低功耗和长待机时间的设备(如传感器网络、家庭自动化系统等),这些特性使设备可以在不影响性能的同时,实现更长的电池寿命。以下是一些主要的能源管理策略:

  1. 睡眠周期:IEEE 802.15.4设备可以在不活动时进入低功耗模式或睡眠模式。这在非接收和非传输时间是十分有用的。设备可以依据预设的时间表或网络协调器的指示进行唤醒和休眠。
  2. 动态能源管理:设备可以根据当前的通信需求动态调整其消耗的功率。例如,当网络流量较低时,设备可以使用较低功率的模式,从而节省电能。
  3. 仅在需求时激活无线电:无线电硬件是设备中电力消耗的主要部分,因此,IEEE 802.15.4设备只在真正需要进行数据传输或接收时才激活无线电硬件。当设备处于闲置或睡眠模式时,无线电设备会被关闭。
  4. 延迟发送和接收:为了进一步降低功耗,设备可以在网络中设置数据包的延迟发送和接收。这意味着设备可以预测何时其他设备将发出数据包,并在此期间处于休眠状态,只在预定的时刻唤醒以接收数据。

三、ZigBee网络拓扑结构

ZigBee网络支持三种基本类型的拓扑结构:星型网络,网状网络和树状网络。

  1. 星型网络:在星型网络中,有一个中心节点或协调器,所有其他设备(称为终端设备)都直接连接到它。这种网络结构易于建立和管理,但其范围受到协调器无线信号范围的限制。
    在这里插入图片描述

  2. 网状网络(Mesh Network):在网状网络中,任何一个ZigBee设备都可以与任何其他设备直接通讯,只要它们在彼此的无线通讯范围内。这使得网络具有最大的灵活性,可以很好地适应物理布局的变化和设备的增减。这种网络的优点是,如果第一条通讯路径出现问题,数据可以自动寻找另一条路径传输,增加了网络的可靠性。

在这里插入图片描述

  1. 树状网络(Tree Network):在树状网络中,协调器位于树的顶部,它负责开始和结束网络通讯。其他设备作为路由器分散在树的中部,并有可能存在终端设备连接到路由器上。这种网络的特点是中心节点更容易控制网络,但如果移除或断开任何中间节点的连接,则下面的所有设备都将断开。
    ZigBee协议的一个关键优点就是容错与自我修复能力,如果在网络中某一设备或组件出现故障或丢失,数据可以重新路由,从其他节点通过。这使得ZigBee网络具有很强的健壮性和可靠性。
    在这里插入图片描述

图片来源:https://www.cnblogs.com/endust/p/12015419.html

四、ZigBee配置参数

配置ZigBee网络时,需要考虑以下重要参数,这些参数将决定网络的性能和行为特性。

1. PAN ID (Personal Area Network Identifier):这是一个独特的网络标识符,可以用于识别特定的ZigBee网络。在一个区域中,多个ZigBee网络可以同时存在,每个网络都有一个不同的PAN ID来区分。
2. Channel:这个参数决定了ZigBee网络在无线电频谱上的工作频带。选择合适的信道可以避免无线电干扰,优化网络性能。
3. Network Address:网络地址用于标识网络中的每个设备。这个地址是唯一的,通常是由协调器在设备加入网络时分配的
4. Encryption Key:用于网络安全的密钥。ZigBee协议支持AES-128位加密,以确保数据的秘密性和完整性。
5. Transmission Power:设备无线电收发的功率级别。这个参数影响数据传输的范围和质量,以及设备的电池寿命。一般来说,功率越大,传输范围越远,但电池寿命可能更短。
6. Sleeping Interval:对于用电池供电并且大部分时间在休眠状态的设备(如传感器),休眠间隔是一个重要参数。设定这个参数可以可以在保持良好通信能力和延长电池寿命之间取得平衡。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网易云音乐JS逆向分析

文章目录 页面分析抓包分析JS逆向分析代码编写 页面分析 先来分析一下页面 当我们点击播放按钮的时候,音乐开始播放。实际上这个逻辑背后的原理是这个按钮后面对应的是一个url,这个地址是通过ajax来进行局部刷新的。 所以我们可以通过抓包工具&#…

防御保护----信息安全

网络安全概述 信息安全:防止任何对数据进行未授权访问的措施,或者防止造成信息有意无意泄露、破坏、丢失等问题的发生,让数据处于远离危险、免于威胁的状态和特性。 网络安全:计算机网络环境下的信息安全。 网络安全背景 网络空间…

Open3D 与 Point Cloud 处理

点云基础3D数据结构点云采集方法点云处理框架点云操作 Open3D基础操作 点云基础 3D数据结构 点云(Point Cloud): 点云是由一组离散的点构成的三维数据集合,每个点都包含了坐标信息 (x, y, z) 、颜色 (RGB)、类别 (cls)、强度值等…

宝塔面板部署MySQL并结合内网穿透实现公网远程访问本地数据库

文章目录 前言1.Mysql服务安装2.创建数据库3.安装cpolar3.2 创建HTTP隧道 4.远程连接5.固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 宝塔面板的简易操作性,使得运维难度降低,简化了Linux命令行进行繁琐的配置,下面简单几步,通过宝塔面板cp…

梳理Langchain-Chatchat知识库API接口

一.Langchain-Chatchat 知识库管理 1.Langchain-Chatchat 对话和知识库管理界面 Langchain-Chatchat v0.28 完整的界面截图,如下所示: 2.知识库中源文件和向量库 知识库 test 中源文件和向量库的位置,如下所示: 3.知识库表结构 k…

超融合基础架构理解

1 超融合基础架构 1.1 定义 超融合基础架构(Hyper-converged infrastructure,缩写为HCI),是一种集成了存储设备及虚拟运算的信息基础架构框架。在这样的架构环境中,同一厂商的服务器与存储等硬件单元,搭配…

比较有创意的网站

有创意的网站通常展示了独特的设计、交互或内容。以下是一些备受赞誉的有创意的网站,你可以参考: Awwwards: Awwwards 是一个评选并展示全球最优秀网站的平台。你可以在这里找到很多有创意的网站设计。 Awwwards CSS Design Awards: 类似于Awwwards&…

若依分页失败,由于对数据二次处理导致total只有十条

在使用若依框架的过程中,如果是查询结果数据直接返回,那么其自带的分页插件可以正常返回数据以及总条数,但若是对数据进行了其他二次处理,再返回就会出现异常,即无论查询了多少条,total都只会显示10&#x…

实现纯Web语音视频聊天和桌面分享(附源码,PC端+移动端)

在网页里实现文字聊天是比较容易的,但若要实现视频聊天,就比较麻烦了。本文将实现一个纯Web版的视频聊天和桌面分享的Demo,可直接在浏览器中运行,不需要安装任何插件。 一. 主要功能及支持平台 1.本Demo的主要功能有 &#xff…

CSAPP fall2015 深入理解计算机系统 Cache lab详解

Cache Lab cache lab 缓存实验 代码下载 从CSAPP上面下载对应的lab代码 http://csapp.cs.cmu.edu/3e/labs.html 环境准备 需要安装 valgrind。可以参考文章Valgrind centos。 安装好以后执行valgrind --version可以看到版本号。 Cache simulator cache simulator not a …

苹果眼镜(Vision Pro)的开发者指南(5)-主要工具

主要工具有:Xcode、Reality Composer Pro、Unity 第一部分:【用Xcode进行开发】 开始使用Xcode为visionOS进行开发。将向你展示如何在你现有的项目中添加一个visionOS目标,或者构建一个全新的应用,在Xcode预览中创建原型,以及从Reality Composer Pro中导入内容。还将分享…

c++:string相关的oj题(415. 字符串相加、125. 验证回文串、541. 反转字符串 II、557. 反转字符串中的单词 III)

文章目录 1. 415. 字符串相加题目详情代码1思路1代码2思路2 2. 125. 验证回文串题目详情代码1(按照要求修改后放到新string里)思路1代码2(利用双指针/索引)思路2 3. 541. 反转字符串 II题目详情代码1思路1 4. 557. 反转字符串中的单词 III题目详情代码1&…

[足式机器人]Part3 机构运动学与动力学分析与建模 Ch00-3(3) 刚体的位形 Configuration of Rigid Body

本文仅供学习使用,总结很多本现有讲述运动学或动力学书籍后的总结,从矢量的角度进行分析,方法比较传统,但更易理解,并且现有的看似抽象方法,两者本质上并无不同。 2024年底本人学位论文发表后方可摘抄 若有…

机器学习笔记:地理加权回归(GWR)

1 传统的线性回归 机器学习笔记:线性回归_线性回归的读书笔记-CSDN博客 最优的β为: 2 地理加权回归(GWR) 2.1 模型概述 地理加权回归(Geographically Weighted Regression,GWR)是传统回归分…

【算法小记】——机器学习中的概率论和线性代数,附线性回归matlab例程

内容包含笔者个人理解,如果错误欢迎评论私信告诉我 线性回归matlab部分参考了up主DR_CAN博士的课程 机器学习与概率论 在回归拟合数据时,根据拟合对象,可以把分类问题视为一种简答的逻辑回归。在逻辑回归中算法不去拟合一段数据而是判断输入…

5G-A:“繁花”盛开在2024

2019年,我国正式发牌5G,开启5G商用新时代。通信技术十年一代,五年过去了,5G是否要进入“半代更迭”阶段? 2024年被视为5G-A商用元年,是5G走向6G的关键一跃。5G-A以R18为演进起点,在连接速率、网…

【Linux配置yum源以及基本yum指令】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、yum是什么? 二、什么是软件包? 三、三种安装软件包的方式 四、yum的相关操作 4.1、搜索软件 4.2、安装软件 4.3、卸载软件 4.4、那…

龟兔再跑

欢迎来到程序小院 龟兔再跑 玩法&#xff1a;乌龟跳绳&#xff0c;点击鼠标左键乌龟跳跃&#xff0c;两只乌龟一直不停的甩绳子&#xff0c;另外一只乌龟从中跳过&#xff0c;赶快去跳绳吧^^。开始游戏https://www.ormcc.com/play/gameStart/255 html <div class"mai…

vue中keep-alive的理解和使用

简要说明&#xff1a; keep-alive&#xff1a;保留状态。在项目中我们经常将keep-alive和router-view结合使用&#xff0c;实现切换路由后仍然保留之前的路由页面的状态&#xff0c;路由切换回来后不会 重新初始化&#xff0c;而是保留之前的状态。但keep-alive是vue本身提供的…