惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
The GitHub Blog
The GitHub Blog
C
Check Point Blog
博客园_首页
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
F
Full Disclosure
Microsoft Security Blog
Microsoft Security Blog
爱范儿
爱范儿
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
V
Vulnerabilities – Threatpost
K
Kaspersky official blog
博客园 - 司徒正美
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
云风的 BLOG
云风的 BLOG
Cisco Talos Blog
Cisco Talos Blog
Know Your Adversary
Know Your Adversary
雷峰网
雷峰网
V
V2EX - 技术
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Spread Privacy
Spread Privacy
罗磊的独立博客
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security Affairs
SecWiki News
SecWiki News
Schneier on Security
Schneier on Security
O
OpenAI News
Jina AI
Jina AI
PCI Perspectives
PCI Perspectives
Cyberwarzone
Cyberwarzone
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
I
InfoQ
D
Docker
P
Palo Alto Networks Blog
Recorded Future
Recorded Future
M
MIT News - Artificial intelligence
博客园 - Franky
B
Blog
Scott Helme
Scott Helme
博客园 - 叶小钗
D
DataBreaches.Net

博客园 - 离线

Arduino语法详解_含示例详解 用C#实现的几种常用数据校验方法整理(CRC校验;LRC校验;BCC校验;累加和校验) C#设计模式 ---- 总结汇总(转载) 压缩包Zip格式详析(全网最详细) MQTT介绍 mDNS知识 转(zip文件格式说明) 学习笔记 转载:IconFont(矢量图标字体)在Winform中的应用 C# 使用OLEDB 读不出 Excel 参数配置说明 Excel 12.0; HDR=Yes; IMEX=1;READONLY=1 ESA SNAP中超分模块处理Sentinel-2数据效果图 Windows 下安装 RabbitMQ服务异常 安装RabbitMQ时出现Plugin configuration unchanged,RabbitMQ服务启动几秒后自动关闭, http://127.0.0.1:15672/页面无法访问一并解答 windows10环境下的RabbitMQ安装步骤(图文) .NET Core 微服务架构学习与实践系列文章目录 .Net 微服务架构技术栈的那些事 - 离线 Newtonsoft.Json高级用法 WPF:选择器(selector) MVVM处理TreeView的SelectedItem的绑定的两种方式
彻底明白Zigbee术语——群集(Cluster)、端点(EndPoint)等
离线 · 2023-04-28 · via 博客园 - 离线

  在学习zigbee协议栈的时候经常看到应用程序、zigbee设备对象(ZDO)、节点、设备、端点、群集、属性、绑定、寻址等一下zigbee 术语,不知道这些zigbee术语是表示什么,是如何定义的,是如何区分的,是如何划分的以及他们之间有什么联系,一切的一切全不知道。网上也有很多 zigbee术语的讲解,不知道是自己的理解能力有问题,还是本身这个就是很难理解,太过于抽象呢?

  一、属性

  属性Attribute是一个反映物理数量或状态的数据值,比如开关值(On/Off)、灯的状态值(On/Off)、温度值、百分比等等

  二、群集,或称为簇

  群集Cluster是包含一个或多个属性(attribute)的群集。简单的说,群集就是属性的集合。每个群集都被分配一个唯一群集ID且每个群集最多有65536个属性。比如一个群集包含了不同情况下的开关、不同情况下的灯、不同情况下的温度值、不同情况下的百分比等等

  三、设备描述

  设备描述Device DescripTIon是指一个大型目标应用的一部分,包括一个或多个群集

  四、端点

  端点EndPoint是协议栈应用层的入口,即入口地址,也可以理解应用对象(ApplicaTIon Object)存在的地方,它是为实现一个设备描述而定义的一组群集。每个Zigbee设备可以最多支持240这样的端点,端口0用于整个Zigbee设备的配置和管理,应用程序可以通过端点0与Zigbee堆栈的其他层通信,从而实现对这些层的初始化和配置。附属在端点0的对象被称为Zigbee设备对象(ZDO)。端点255用于向所有端点的广播,端点241~254是保留端点。

  五、配置文件

  配置文件Profile可以理解为共同促进交互式应用的多个设备描述项的集合。定义了属性ID与群集(簇)ID,使之看起来就像设备的某种特性,以家庭智能控制系统为例,灯配置文件设定了远程控制设备的群集OnOffDRC含有一种属性OnOff,且该属性为无符号8位值,值0xFF意味着" 开",0x00为"关",0xF0则为无效。通常,配置文件也为设备定义了,哪些群集是强制托管,哪些群集是可选择的。另外,配置文件还定义了一些可选择的zigbee协议托管服务。每一个应用都对应一个配置文件(Profile),配置文件内容包括:设备ID(Device ID)、群集ID(Cluster ID)、属性ID(Attribute ID),及AF(应用框架)使用何种服务类型等信息。在zigbee协议中,一个配置文件中允许最多2^16个设备,2^8个群集,每个群集支持最多 2^16个属性。

  六、节点

  节点Node也可以理解为一个容器,包含一组zigbee设备,分享一个无线信道。每个节点有且只有一个无线信道。一个节点除了64位的IEEE地址,16位的网络地址,每个节点还提供了8位应用层入口地址(端点:EndPoint),对应于用户应用对象。

  节点一Z1:开关控制装置

  节点二Z2:灯装置

  事件(Event):开关2控制灯4的亮灭,开关1控制灯组1~3的亮灭

  群集(Cluster):不同情况下开关的状态和灯的状态

  端点(EndPoint):开关和灯

  属性(Attribute):开关和灯都有两种属性:开和关

  七、绑定(Bindling)

  Zigbee定义了一个称为端点绑定的特殊过程。绑定即在源节点的某个端点(EndPoint)和目标节点的某个端点之间创建一条逻辑链路。绑定可以发生在两个或多个设备之间。协调器节点维护一个基本上包括两个或多个端点之间的逻辑链路的绑定表。

  在绑定表中,包含如下信息,源节点和目标节点的IEEE地址、端点号、群集号。对于可以建立绑定关系的两个节点,它们的群集的属性必须一个选择"输入",另一个选择"输出",而且群集号必须相等,只有这样,它们彼此才能建立绑定。如果目标设备的扩展地址是已知的,则调用 zb_BindDeviceRequest()函数可以创建一个绑定条目。

  八、寻址(Addressing)

在Zigbee网络中,使用两种地址:一种是64位的IEEE地址,也叫物理地址,64位地址在所有zigbee设备之中是唯一的,其中包含一个由 IEEE分配、也是全球唯一的24位制造商特定组织标识符OUI(OrganizaTIonally Uqique IdenTIfier)。另一种是16位的网络地址(NWK Address),当设备加入zigbee网络时,从允许其加入的父设备上获取16位网络地址。该地址在zigbee网络中唯一,用于数据传输和数据包路由。在zigbee中,数据包可以单点传送(unicast),多点传送(multicast)或者广播传输(broadcast),所以必须有地址模式参数。一个单点传送数据包只发送给一个设备,多点传送数据包则要传送个一组设备,而广播数据则要发送给整个网络的所有节点。当应用程序需要将数据包发送给网络上的一组设备时,还可以使用组寻址方式(Group Addrssing)。