【Zigbee】解密Zigbee地址分配——你需要知道的一切

  • 💖 作者简介:大家好,我是Zeeland,全栈领域优质创作者。
  • 📝 CSDN主页:Zeeland🔥
  • 📣 我的博客:Zeeland
  • 📚 Github主页: Undertone0809 (Zeeland) (github.com)
  • 🎉 支持我:点赞👍+收藏⭐️+留言📝
  • 💬介绍:The mixture of software dev+Iot+ml+anything🔥

本文节选自笔者博客:https://www.blog.zeeland.cn/archives/aa019rhfk ,如有更多问题,请在博客评论区下方发表你的想法。

什么是Zigbee ?

  • 简单来说,Zigbee是一种通信技术。具体地,ZigBee技术是一种近距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术。主要适合于自动控制和远程控制领域,可以嵌入各种设备中,同时支持地理定位功能。

Zigbee的组成

一个Zigbee网络通常由以下组成部分:

  1. Zigbee协调器(Zigbee Coordinator):它是网络的核心组件,负责管理整个网络,包括网络的起始、结束和重组。通常它是网络中唯一一个能够与外部网络通信的节点,可以与外部网络(如互联网)连接。
  2. Zigbee路由器(Zigbee Router):它是中间节点,可以扩展网络的范围和覆盖区域。它能够通过选择最佳的传输路径,将数据从一个节点传输到另一个节点。在一个大范围的网络中,路由器可以协助将信息传递到远离协调器的节点。
  3. Zigbee终端设备(Zigbee End Device):它是最基本的节点,通常是一个传感器或控制器。它是一个低功耗设备,只有在需要向网络中传输数据时才会主动唤醒。

这些设备之间通过无线信号进行通信。Zigbee网络也支持多种拓扑结构,如星型、网状、混合等。

Zigbee的特点

  • ZigBee是一种无线连接,可工作在2.4GHz(全球流行)、868MHz(欧洲流行)和915 MHz(美国流行)3个频段上,分别具有最高250kbit/s、20kbit/s和40kbit/s的传输速率,它的传输距离在10-75m的范围内,但可以继续增加。

(1)低功耗:在低耗电待机模式下,2节5号干电池可支持1个节点工作6-24个月,甚至更长。这是ZigBee的突出优势。相比之下蓝牙可以工作数周、WiFi可以工作数小时;

(2)低成本:通过大幅简化协议是成本很低(不足蓝牙的1/10),降低了对通信控制器的要求,按预测分析,以8051的8位微控制器测算,全功能的主节点需要32KB代码,子功能节点少至4KB代码,而且ZigBee的协议专利免费;

(3)低速率:ZigBee工作在250kbps的通讯速率,满足低速率传输数据的应用需求;

(4)近距离:传输范围一般介于10~100m之间,在增加RF发射功率后,亦可增加到1-3km。这指的是相邻节点间的距离。如果通过路由和节点间通信的接力,传输距离将可以更远;

(5)短时延:ZigBee的响应速度较快,一般从睡眠转入工作状态只需15ms,节点连接进入网络只需30ms,进一步节省了电能。相比较,蓝牙需要3-10s、WiFi需要3s;

(6)高容量:ZigBee可采用星状、片状和网状网络结构,由一个主节点管理若干子节点,最多一个主节点可管理254个子节点;同时主节点还可由上一层网络节点管理,最多可组成65000个节点的大网;

(7)高安全:ZigBee提供了三级安全模式,包括无安全设定、使用接入控制清单(ACL)防止非法获取数据以及采用高级加密标准(AES128)的对称密码,以灵活确定其安全属性;

(8)免执照频段:采用直接序列扩频在工业科学医疗2.4GHz(全球)频段。

Zigbee的地址分配

为什么要进行地址分配?

  • 需要说明的是,Zigbee网络是一个多传感器网络,内部的传感器要想相互通信,必须知道网络内其他传感器的地址,因此每一个节点都有一个16bit网络短地址和一个64bitIEEE扩展地址。
  • 其中,16bit网络地址实在节点加入网络时由其父节点动态分配,这种地址仅仅用于路由机制和网络中的数据传输,类似于Internet中使用的IP地址,或者说可以叫做相对地址;64bit地址类似于MAC地址,是每个节点的唯一标识。
  • 加入Zigbee网络的节点通过IEEE802.15.4MAC层提供的关联过程做成以可逻辑树,当网络中的节点允许一个新节点通过它加入网络时,他们之间就形成父子关系,每个进入网络的节点都会得到父节点为其分配的一个在此网络中的唯一的16bit网络地址,如下图:

如何进行地址分配?

  • 在介绍如何进行地址分配之前,下面,我们要先介绍一些名词概念,以便你更好地理解如何建立地址分配的模型。

  • 节点的网络深度: 指从节点到根节点协调器的最短跳数,标识节点在网络拓扑结构图中的层次位置。

  • LM(Logical type Mask):用于确定节点类型的参数。当LM=3时,节点类型为路由器节点,当LM=2时,节点类型为协调器节点,当LM=1时,节点类型为终端设备节点。

  • CM(Capacity Mask):用于决定网络容量的参数。它决定了哪些节点可以连接到网络上,并限制了节点数量和网络范围。例如,CM=4意味着最多可以有4个子节点连接到任何一个父节点上。

  • RM(Relationship mask):用于帮助确定节点之间的关系的参数。它确定了节点层次结构的深度和节点之间的距离。例如,RM=4意味着节点之间的距离在4层以下。

  • *当协调器建立一个新的网络后,首先将自己的16bit网络地址初始化为0,网络深度初始化为0,在Zigbee网络中,16为短地址的分配机制如下:

  • 规定每个父节点最多可以连接C个子节点

  • 这些子节点中最多可以由R个路由器节点

  • 网络的最大深度为L

  • Cskip(d)是网络深度为d的父节点为其子节点分配的地址之间的偏移量,其值按照下式计算:

  • 每个父节点最多可以分配R个这样的地址。伪终端节点分配地址和为路由器节点分配地址不同,假设父节点的地址为Ap,则第N个与之关联的终端节点地址An按下式计算。

注意事项:
(1)当一个路由器节点的Cskip(d)为0时,它就不具备为子节点分配地址的能力,也即表明不能够在使用别的节点通过他加入网络。
(2)当Cskip(d)大于0时表明父节点可以接受其他节点为其子节点,并为子节点分配网络地址。父节点会为第一个与它关联的路由器分配比他大1的地址,之后与之关联的路由器节点的地址之间都相隔偏移量Cskip(d)。

地址分配示例

已知LM=3, CM=4, RM=4,计算以下zigbee各节点地址并列出计算过程。

首先,先给各个节点标号,便于计算,如下图所示:

根据Cskip的公式,可以计算出:

  • d=0, Cskip(0)=21
  • d=1, Cskip(1)=5
  • d=2, Cskip(2)=1
  • d=3, Cskip(3)=0

可得:
A(1) = 0
A(2) = 1
A(3) = 1+ 21 = 22
A(4) = 22+ 21 = 43
A(5) = 43+ 21 = 64
A(6) = 1 + 1 = 2
A(7) = 23
A(8) = 23 + 5 = 28
A(9) = 64 + 1 = 65
A(10) = 65 +5 = 70
A(11) = 66

References

Zigbee 网络层分配机制–计算个节点的网络地址_网络层地址分配机制_gussu-毛虫的博客-CSDN博客
ChatGPT Next Web (zeeland.cn)

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

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

相关文章

涵子来信——AI的无限未来——谈谈想法

大家好: 这一次,我想要跟大家讲一讲我对AI的看法和未来的展望,谈谈我的想法。 AI(Artificial Intelligence,中文人工智能),是我们生活中处处都可以见到的,小到一个语音助手&#x…

ChatGPT带火的提示工程师,构造自己的提示语

ChatGPT是一个大语言模型,学过全球几乎公开的大部分有效知识库,它什么都懂。 ChatGPT的风靡,爆火了一个年薪百万的提示工程师这个新就业岗位。 提示工程师,也就是AI训练师,即通过与AI交互写出相关提示,以帮…

收到**公司的律师函,我慌了

关注星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | 嵌入式专栏 在我的技术交流群,经常看到有朋友说:“收到了**软件公司的律师函”。其中AD的最多,其次,这两年Keil的律师函也出现了。 有的人收到律师函…

整理部分因软件版权发律师函的公司

软件名称 英文软件名称 厂商 厂商网站 国内代理商 代理商网站 维权历史状况 WinRAR WinRAR win.rar GmbH. http://www.rarlab.com/ 上海软众信息 http://www.winrar.com.cn/ 硕思闪客精灵 无 思杰马克丁 http://www.shankejingling.com/ 给下载站个人站…

手把手教你突破 GPT-4.0 3小时25次的限速!

很多人很郁闷 ,ChatGPT Plus账号在浏览器上使用GPT4.0模型的时候,会受到官方的限制,每3小时只能对话25次,是真的不够用。 但是在手机上使用GPT4.0模型则不会有限制,既然这样,那我们是否也可以在浏览器上无限…

我的同事胃癌去世了,从检查到死亡不到半年……

作者:iamlaosong 听到远方同事朱震环去世的消息,我是无比震惊的,虽然不在一个城市,因为专业的关系还是经常联系的。她年轻美丽的容颜和率真的性格,让同事们如沐春风。可叹的是她音容仿佛犹在,人却离我们而…

预测脑中风

中风是危害人们健康的重大疾病之一,根据医学杂志《柳叶刀》发表的一篇文章中的数据,中风在我国居民死亡原因中高居第一位,而且我国居民的中风的比例也是世界上最高的之一。因此,了解居民的身体状况与出现中风的联系,进…

makepie暂停服务

贴吧大佬: 由于MakeAPie 将于 2 月 15 号开始暂停服务,有大佬爬去了网站上公开的数据,方便大家下载,也算是一种备份吧。 如果有需要会考虑做成excel。 再次感谢makeapie各位大佬无私分享。 链接: https://pan.baidu.com/s/1B9MR…

MakeApie 将于 2月15号开始暂停服务

Make A Pie 是由社区贡献者维护的用于 Apache ECharts 作品分享的第三方非官方社区。 一直以来MakeApie 给我们带来了太多的工作中的灵感,echarts复制粘贴党必备,导致没有好好学echarts。今日登录看到这个消息,感到难过和些许思考。 Make A …

微信官方:微信圈子将停止运营

本文转载自IT之家 IT之家 5 月 28 日消息 2019 年 12 月,微信官方宣布,微信搜索正式升级为“微信搜一搜”。与此同时,微信搜一搜出现了“圈子”。今天微信官方宣布,微信圈子将于 2021 年 12 月 28 日正式停运。 微信称&#xff0…

靠知识搞副业,知识内容创作者的春天来了

现在,周围越来越多年轻人热衷于买基金、炒股票、抢茅台、炒比特币……而对上班摸鱼则有一种普遍的认同,对自愿996的“奋斗X”更是同仇敌忾。这背后有一个社会现实——这一代年轻人普遍认为:打工累、打工卷、打工难赚钱,心里都盘算…

[实体关系抽取|顶刊论文]QIDN:Query-based Instance Discrimination Network for Relational Tri

Query-based Instance Discrimination Network for Relational Triple Extraction Zhejiang University, Tsinghua University|EMNLP 2022|2022.11.3|原文连接 想法简述 过去的方法都可以用上图来表述: H c o n t e x t H_{con…

ChatGPT 目前到底能帮助我们程序员做什么?

🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞&#x1…

程序员写博客如何赚钱「5大盈利方向」

很高兴又和大家见面了,今天我们来聊一聊程序员写博客如何赚钱「5大盈利方向」,还有程序员等等等各种相关干货内容,其实这篇文章主要还是为新手朋友整理的,总的来说思路还是很重要! 互联网时代发展太快,很多…

input 在 IOS 中输入内容不可见问题

第一次做移动端页面,就发现很多兼容性问题了。 本人一般是在Chrome浏览器控制台调试移动端样式尺寸,但是大家都知道,真机和浏览器是有一些差距的。 然后这个问题卡了很久,各种百度,也没有找到想要的。如图 问题描述&…

苹果手机IOS中div contenteditable=true 仿文本域无法输入编辑

原文出处:https://www.cnblogs.com/xiangsj/p/6084844.html 延伸阅读:iOS下div contenteditabletrue无法输入解决办法 问题: 在苹果手机IOS中 contenteditable"true" 做文本域输入,点击可以弹出键盘但是无法输入&#x…

14、iOS里面的富文本

iOS里面的富文本 1、NSAttributedString属性概览表2、属性详解及应用2.1 NSAttributedString.Key.font --字体大小2.2 NSAttributedString.Key.paragraphStyle -- 文本字、行间距,对齐等2.3 NSAttributedString.Key.foregroundColor -- 字体颜色2.4 NSAttributedStr…

iPhone开发:类似iChat的聊天泡泡示例

很多iPhone聊天程序消息显示都喜欢做成iChat的泡泡样式,这样是不是很apple呢? 那么下面用一种简单的方法来实现它。 主要通过 UIlabel的sizeToFit方法自动计算文本区域大小 UIImage的- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftC…

Iphone开发(四)文本框,文本视图,和软键盘的隐藏

holydancer原创,如需转载,请在显要位置注明: 转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details/7396207 今天介绍几个基本控件和软键盘的操作,在iphone应用中用到一些…

ios手机端 表单input调用focus方法时,光标不显示,但软键盘会弹出来,可以修改内容,需要修改内容后光标才显示

功能: ios表单验证时,比如 输身份证号,失焦后验证身份证,如果不合法,就让光标跳到对应的输入框,我是不合法就调用focus方法,完了会跳过去,但是ios有个bug,它确实会定位到…