ZigBee学习(一)

文章目录

  • 一、ZigBee介绍
  • 二、IEEE 802.15.4
    • 2.1 物理层
    • 2.2 MAC层
    • 2.3 如何实现网络和设备寻址
    • 2.4 能量管理
  • 三、ZigBee网络拓扑结构
  • 四、ZigBee配置参数

一、ZigBee介绍

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

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

二、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:对于用电池供电并且大部分时间在休眠状态的设备(如传感器),休眠间隔是一个重要参数。设定这个参数可以可以在保持良好通信能力和延长电池寿命之间取得平衡。

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

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

相关文章

《移动通信原理与应用》——QPSK调制解调仿真

目录 一、QPSK调制与解调流程图: 二、仿真运行结果: 三、MATLAB仿真代码: 一、QPSK调制与解调流程图: QPSK调制流程图: QPSK解调流程图: 二、仿真运行结果: 1、Figure1:为发送端比特流情…

探索设计模式的魅力:一次设计,多次利用,深入理解原型模式的设计艺术

原型模式是一种设计模式,属于创建型模式的一种,它用于创建重复的对象,同时又能保持性能。在原型模式中,通过复制现有对象的原型来创建新对象,而不是通过实例化类来创建对象。这样做可以避免耗费过多的资源开销&#xf…

python-自动篇-办公-用Excel画画

文章目录 代码所遇问题ModuleNotFoundError: No module named xlsxwriterFileNotFoundError: [Errno 2] No such file or directory: 111.jpg 效果附件图片excel 代码 # coding: utf-8from PIL import Image from xlsxwriter.workbook import Workbookclass ExcelPicture(obje…

使用双异步后,如何保证数据一致性?

目录 一、前情提要二、通过Future获取异步返回值1、FutureTask 是基于 AbstractQueuedSynchronizer实现的2、FutureTask执行流程3、get()方法执行流程 三、FutureTask源码具体分析1、FutureTask源码2、将异步方法的返回值改为Future<Integer>&#xff0c;将返回值放到new…

1.21 day6 IO网络编程

网络聊天室 服务端 #include <myhead.h> #define PORT 8888 #define IP "192.168.122.48" struct MSG {char tyep;char name[20];char buf[128]; }; typedef struct Node {struct sockaddr_in cin;struct Node*next; }*node;int main(int argc, const char *…

提升认知,推荐15个面向开发者的中文播客

前言 对于科技从业者而言&#xff0c;无论是自学成才的程序员&#xff0c;还是行业资深人士&#xff0c;终身学习是很有必要的&#xff0c;尤其是在这样一个技术快速迭代更新的时代。 作为一个摆脱了时间和空间限制的资讯分享平台&#xff0c;播客&#xff08;Podcast&#x…

42 漏洞发现-操作系统之漏洞探针类型利用修复

目录 系统漏洞发现意义?漏洞类型危害情况?如何做好未卜先知?相关名词解释:漏洞扫描工具演示-Goby&#xff0c;Nmap&#xff0c;Nessus(操作)漏洞类型区分讲解-权限提升,远程执行等(思路)漏洞利用框架演示-Metasploit,Searchsploit等(操作)漏洞修复方案讲解说明-补丁,防护软件…

go和swoole性能比较

开发效率 Go语言是本质上是静态语言&#xff0c;开发效率稍差&#xff0c;但性能更强&#xff0c;更适合底层软件的开发 Swoole使用PHP语言&#xff0c;动态脚本语言&#xff0c;开发效率最佳&#xff0c;更适合应用软件的开发 IO模型 go语言使用单线程eventloop处理IO事件&…

GO 的那些 IDE

文章目录 支持哪些功能快捷键代码高亮代码格式化代码提示导航跳转代码调试构建编译其他功能 GO有哪些IDEGolandVS CodeVim GOSublime TextAtomLiteIDEEclipse 总结 “程序员为什么要使用 IDE”&#xff0c;在一些社区论坛&#xff0c;经常可以看到这样的提问。关于是否应该使用…

Tomcat目录和文件

打开tomcat的解压之后的目录可以看到如下的目录结构&#xff1a; Bin bin目录主要是用来存放tomcat的命令&#xff0c;主要有两大类&#xff0c;一类是以.sh结尾的&#xff08;linux命令&#xff09;&#xff0c;另一类是以.bat结尾的&#xff08;windows命令&#xff09;。 …

sqlmap使用教程(2)-连接目标

目录 连接目标 1.1 设置认证信息 1.2 配置代理 1.3 Tor匿名网络 1.4 检测WAF/IPS 1.5 调整连接选项 1.6 处理连接错误 连接目标 场景1&#xff1a;通过代理网络上网&#xff0c;需要进行相应配置才可以成功访问目标主机 场景2&#xff1a;目标网站需要进行身份认证后才…

微信小程序-03

小程序官方把 API 分为了如下 3 大类&#xff1a; 事件监听 API 特点&#xff1a;以 on 开头&#xff0c;用来监听某些事件的触发 举例&#xff1a;wx.onWindowResize(function callback) 监听窗口尺寸变化的事件 同步 API 特点1&#xff1a;以 Sync 结尾的 API 都是同步 API 特…

扫地机器人(二分算法+贪心算法)

1. if(robot[i]-len<sweep)这个代码的意思是——如果机器人向左移动len个长度后&#xff0c;比现在sweep的位置&#xff08;现在已经覆盖的范围&#xff09;还要靠左&#xff0c;就是覆盖连续不起来&#xff0c;呢么这个len就是有问题的&#xff0c;退出函数&#xff0c;再…

黑马axios案例之地区查询

查询某个省内某个城市的所有地区 接口&#xff1a;http://hmajax.itheima.net/api/area 参数名: pname:省份名字或直辖市名字&#xff0c;比如北京、福建省、辽宁省… cname:城市名字&#xff0c;比如北京市、厦门市、大连市… <!DOCTYPE html> <html lang"en&q…

嵌入式软件工程师面试题——2025校招社招通用(计算机网络篇)(三十二)

说明&#xff1a; 面试群&#xff0c;群号&#xff1a; 228447240面试题来源于网络书籍&#xff0c;公司题目以及博主原创或修改&#xff08;题目大部分来源于各种公司&#xff09;&#xff1b;文中很多题目&#xff0c;或许大家直接编译器写完&#xff0c;1分钟就出结果了。但…

[足式机器人]Part2 Dr. CAN学习笔记- 最优控制Optimal Control Ch07-4 轨迹追踪

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记 - 最优控制Optimal Control Ch07-4 轨迹追踪 1. 目标误差控制-误差的调节2. 稳态非零值控制3. 输入增量控制 1. 目标误差控制-误差的调节 2. 稳态非零值控制 3. 输入增量控制

fiddler流量捕获之winconfig

windows 使用了一种叫做“AppContainer”的隔离技术&#xff0c;使得一些流量无法正常捕获&#xff0c;在 fiddler中点击 WinConfig 按钮可以解除&#xff0c;这个与菜单栏 Tools→Win8 Loopback Exemptions 功能是相同的&#xff0c;流量捕获&#xff1a;指拦截和记录通过计算…

GPT-4 的决策在股市中进行量化投资

论文题目:Can Large Language Models Beat Wall Street? Unveiling the Potential of AI in Stock Selection 论文链接:https://arxiv.org/abs/2401.03737 博客地址:https://www.marketsense-ai.com/ 从本质上来说&#xff0c;股票选择是个价格发现机制&#xff0c;在股票投…

Web 开发 1: Flask 框架介绍和使用

在 Web 开发中&#xff0c;Flask 是一个流行且灵活的 Python Web 框架&#xff0c;用于构建 Web 应用程序。它简洁而易于上手&#xff0c;适用于小型到中型的项目。在本篇博客中&#xff0c;我将为你介绍 Flask 框架的基础知识和常用技巧&#xff0c;帮助你更好地掌握 Web 开发…

opencv#28 图像卷积

图像卷积 图像卷积是图像处理中最为基础的操作之一&#xff0c;其常用在图像的边缘检测&#xff0c;图像的去噪声以及图像压缩等领域。 图像卷积主要步骤: Step1:将卷积模板旋转180。 Step2:卷积模板移动到对应位置。 Step3:模板内求和&#xff0c;保存求和结果。 Step4:滑…