zigbee、profile、cluster、 endpoint、
1.引用ZigBee联盟的说法
Profile: a collection of device descriptions, which together form a cooperative
application. (配置文件:共同促成交互式应用的多种设备描写叙述项的集合。
)
ZigBee devices describe themselves using descriptor data structures. The actual data
contained in these descriptors is defined in the individual device descriptions.
There are five descriptors: node, node power, simple, complex and user.(ZigBee
设备以描写叙述项数据结构刻画自己,包括在这些描写叙述项内部的详细数据定义在该设备描写叙述项中。
有5种描写叙述项:节点,节点电源,简化。复杂和用户。)
2.我们的观点
Profile是对逻辑设备及其接口的描写叙述集合,是面向某个应用类别的公约、准则。
Descriptor是为分布式应用提供的描写叙述项,多种描写叙述项共同组成描写叙述集合Profile。
它
依据应用必须处理的数据包和必须运行的操作来描写叙述分布式应用。
总之,配置文件使得ZigBee 设备能够互操作。ZigBee 联盟已经定义了非常多标准的配置
文件,比方远程控制开关配置文件和光传感器配置文件等。不论什么遵循某一标准配置文件的节
点都能够与其它实现同样配置文件的节点进行互操作。
【相关问答】
Guest:
我看协议上说一个温度计节点和一个炉子节点构成一个profile啊!
所以我认为实现一定功
能的几个节点的集合就是一个profile?
ZigBee会友:
几个节点的集合和profile不是在一个层面上说的。
profile是面向某个应用。解决一系列事
务的公约。是对逻辑设备及其接口关系的描写叙述集合。不论什么遵循这一描写叙述集合的节点之间都可
以交互工作(仅仅要两方能够通信)。比如:根据加热应用的条例规定。一个节点上的温度调
节器能够和还有一个节点上的加热炉交互工作。
Guest:
device description、device profile和profile有什么差别啊?!
ZigBee会友:
description 是理论性描写叙述集合profile中的详细事项,device profile是profile对详细
device的有关规定和描写叙述项,眼下profile中有5种描写叙述项。
Guest:
那么对于zigbee的通讯来说。就须要有两个不同类型的endpoint来相互通讯?endpoint的类
型取决于Profile?
ZigBee会友:
Profile规定了接点的类型和接口关系。endpoint当然是取决于详细应用中开发者自己的
配置,仅仅只是要交互工作,必须遵循Profile的相关规定而已。
Guest:
profile是一个更大一点的概念。是不是有人所说的“应用框架”?也就是说在这个框架中
定义设备类型 设备之间的控制管理接口等等?
ZigBee会友:
嗯。仅仅要明白当中的含义,当然也能够用你自己的说法,眼下相关说法还有“側面”、“概
貌”等。
Guest:
endpoint依据cluster进行绑定,进而构成profile?一个网络有多个profile,难道仅仅须要
一个profile identifier?
ZigBee会友:
profile 是“公约”、“准则”、“法律条款”。profile identifier即profileID就是对
应条款的识别序号。就像:民法、刑法、野生动物保护法……
Guest:
这样理解能够吧:profiles 理解为联合国宪章条款。cluster 是伊朗核问题,attribute
就是谈判, cluster是在遵守profile的情况下制定的?
ZigBee会友:
profiles 是面向详细应用的公约准则,cluster 此应用涉及到的事务关系。attribute
就是某事务能够预料的各种情况。
Guest:
请问,在zdo、profile、af之间的各种关怎样?我弄不明确啊?
ZigBee会友:
zdo是ZigBee设备对象,属于特殊的Endpoint(特制自己);profile面向某个应用的公约或
准则。包含5种描写叙述项。AF是应用层侦。
Guest:
可是我看zdo中定义的功能在device profile中都定义啦,你们分析了microchip的协议了
吧?我认为挺难理解的,各个层次间的文件定义认为非常难……
ZigBee会友:
profile是法律条款。zdo是逻辑工作实体(自己);profile中的多种描写叙述项是条例、是图
纸。zdo是详细实现。
Guest:
我想问问,配置文件究竟是什么?协议中好像说是设备描写叙述符和簇描写叙述符和服务类型
(KVP或MSG)。
难道profile是设备描写叙述符和簇描写叙述符和服务类型(KVP或MSG)的集合?
ZigBee会友:
Profile也能够翻译成配置文件,实质上大家公认的在某个方面应用的公共准则(对逻
辑设备及其接口的描写叙述集合)。
Guest:
那Profile是怎样划分的, 依据实际location 还是app的相关性分得?
ZigBee会友:
依据应用相关性。
cluster是不是指一个应用?事务是service 是吗 。比方 KVP service 类型, 是吧?
ZigBee会友:
cluster是“事务”,是特性的集合(或者说属性的集合);Attribute是“事务”的具
体情况,比方节点的开或关。
Guest:
啊, 好像明确一点,原来总是把它和 multicast 往一起混,就乱了。谢谢!
ZigBee会友:
总之profile是面向应用的公约或准则;详细包含多种事务关系。每种事务关系又分多
种情况。
ENDPOINT
非常多资料将其翻译为“端点”,我们不如也这么叫。只是问题的关键不是它怎样称呼。而是怎样认识它。
我们来研究这样一个事实:outman在看我的帖子的同一时候他又使用QQ和别人聊天。如果他的电脑IP地址为192.168.1.2。那么当他的QQ好友向他发送了一句话的时候,这个信息里面包括了目的IP地址,所以通过TCP/TP协议能够到达outman的电脑。
可是问题随之而来。
当outman电脑上的操作系统接收到此条信息时。它将把这个信息交给浏览器(我们刚才说了,他在看帖子,所以肯定开着浏览器)呢,还是交给QQ?操作系统通过怎么样的方法作出裁决呢?显然,仅仅通过IP地址是没有办法决定的,所以这条消息除了包括IP地址以外,还要告诉目的机,这条消息应该交由哪个应用程序来处理。
于是port(Port)的概念产生了。操作系统为应用程序提供了非常多port,消息由IP地址到达操作系统。再由port找到处理消息的应用程序。
相同的道理,在ZigBee的应用程序框架里(结构图请看《深入浅出Z-Stack
2006 OSAL多任务资源分配机制》)包括了最多240个应用程序对象,每一个应用程序对象在OSAL中相应了一个任务,当网络层接收到信息以后怎样决定将此信息传递给哪个任务呢?ENDPOINT决定了传递方向,于是我们能够说ENDPOINT的作用与TCP/IP协议中的port的作用是一样的。
【综述】
1.引用ZigBee联盟的说法
Cluster: is a container for one or more attributes. (一个或很多其它属性的集合)
Attribute: a data entity which represents a physical quantity or state.(反映物
理特性或状态的一个数据实体)
2.我们的观点
Cluster是逻辑设备之间的事务关系,Attribute则是某种事务关系的详细特例;也就是说
Cluster定性,Attribute定量。
【相关问答】
Guest:
请问,attribute这个词怎么理解? 温度 等等?
ZigBee会友:
在温度这个cluster里面,attribute就是详细的温度值。“属性”attribute是“事务”
cluster里面分的详细情况。就像C语言的swich ,case 语句里的使用方法。
Guest:
请问“事务”又是个什么概念?是不是就是一个事件?我理解cluster是属性的集合?
ZigBee会友:
cluster的确是属性的集合,和一般提到的事件不一样,在网络理解为事务关系更贴切。
Endpoint之间根据“事务关系”(cluster)通讯。
Guest:
一个endpoint相应一个application?比方一个switch相应“开关”这个application?
ZigBee会友:
你的这样的提法不规范,一个endpoint是一个逻辑设备。能够包括多个Cluster。每一个
Cluster包括不同的属性(开、关是“灯控制” Cluster相应不同情况的attribute)。
Guest:
这样理解能够吧:profiles 理解为联合国宪章条款,cluster 是伊朗核问题,attribute
就是谈判, cluster是在遵守profile的情况下制定的?
ZigBee会友:
profiles 是面向详细应用的公约准则。cluster 此应用涉及到的事务关系,attribute
就是某事务能够预料的各种情况。
Guest:
问一个问题:规定240个endpoint是指一个node上还是整个cluster呢,也就是说一个
cluster最多同意有240个endpoint还是240*240个endpoint呢?
ZigBee会友:
协议中的说法指一个node。
endpoint、node、cluster是三个概念 :node是物理设备,
endpoint是逻辑工作端,cluster是大家通讯的事务关系(属性的集合)。另外,网络拓扑
结构中提到的cluster是集群树,包含家长(parent)及其子女(child)。
Guest:
我想问问,配置文件究竟是什么?协议中好像说是设备描写叙述符和簇描写叙述符和服务类型
(KVP或MSG)。难道profile是设备描写叙述符和簇描写叙述符和服务类型(KVP或MSG)的集合?
ZigBee会友:
Profile也能够翻译成配置文件,实质上大家公认的在某个方面应用的公共准则(对逻
辑设备及其接口的描写叙述集合)。
Guest:
那Profile是怎样划分的, 依据实际location 还是app的相关性分得?
ZigBee会友:
依据应用相关性。
Guest:
cluster是不是指一个应用?事务是service 是吗 ,比方 KVP service 类型, 是吧?
把它和 multicast 往一起混,就乱了。谢谢。
ZigBee会友:
总之profile是面向应用的公约或准则;详细包含多种事务关系。每种事务关系又分多
种情况。
Guest:
协议上的nwk_addr_req() 标注是cluser ID0x00,后面还有如clusterID 0x01的。
clusterID不是应该是不固定吗?!
ZigBee会友:
clusterID和cluster一一相应。不同的cluster当然用不同的clusterID 。
Guest:
哦。可能我对cluster的理解有问题。我认为cluster就是在绑定时产生的。所以
clusterID应该是随机的。为什么协议里primitive也会有clusterID呢?!
并且不同的
primitive有不同的 固定的clusterID呢?。
ZigBee会友:
primitive是一个广泛意义上的名次,泛指行为和操作,primitive和clusterID没有必
然的相应关系。
Guest:
ClusterID=0x21 Bind_req(SrcAddress,SrcenEp,clusterID,DstAddress,DstenEp )
那ClusterID=0x21什么意思!?
ZigBee会友:
就是约定好的某事务相应的事务号。两方以此建立相应关系(邦定关系)。
比方端设备
一的开关控制端设备三的灯,五个參数相应关系:(端设备一SrcAddress,开关SrcenEp,灯
控制clusterID, 端设备三DstAddress,灯DstenEp)。
如今理解吗?
Guest:
这我理解!
那个cluserID=0x21,我不清楚!
为什么是固定的!
ZigBee会友:
cluserID=0x21表示“灯控制”灯控制这个cluser
cluserID=0x20表示“电流”这个cluser
Guest:
我对cluser的理解正确吗!?就是在绑定的时候。产生的!? 那难道每一个primitive都
有一个clusterID?
ZigBee会友:
当然了每一个邦定都环绕着一个cluser ,邦定三个要素:source、cluser、dest
Guest:
我就是不明确,为什么把primitive跟cluster扯上关系?
ZigBee会友:
primitive就是“原语”。和cluster没有必定的联系,就是某种行为的说法,描写叙述逻辑
设备之间的操作和行为时偶然和某个cluster扯上关系,在描写叙述设备内部工作实机构之间的合作
当没有工作和行为。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
zigbee、profile、cluster、 endpoint、的更多相关文章
- Spring Boot实战笔记(三)-- Spring常用配置(Bean的初始化和销毁、Profile)
一.Bean的初始化和销毁 在我们的实际开发的时候,经常会遇到Bean在使用之前或之后做些必要的操作,Spring对Bean的生命周期操作提供了支持.在使用Java配置和注解配置下提供如下两种方式: ...
- 从零学习Fluter(八):Flutter的四种运行模式--Debug、Release、Profile和test以及命名规范
从零学习Fluter(八):Flutter的四种运行模式--Debug.Release.Profile和test以及命名规范 好几天没有跟新我的这个系列文章,一是因为这两天我又在之前的基础上,重新认识 ...
- linux的/etc/profile、~/.profile、~/.bashrc、~./bash_profile这几个配置文件
在添加环境变量的时候,我们会去修改配置文件 如果留意过,网上博文,有些在/etc/profile文件中配置的,有些是在~./bash_profile文件中配置的,等等 那么,/etc/profile. ...
- [No0000177]详解/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc的用途
之前安装Linux的一些软件时,总要修改Linux的配置文件.当时也是一知半解.而且,网上有些安装教程,会说,修改配置文件后要重启Linux.但事实上是不需要重启的. Linux安装时可能要修改的配置 ...
- SpringBoot系列四:SpringBoot开发(改变环境属性、读取资源文件、Bean 配置、模版渲染、profile 配置)
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念 SpringBoot 开发深入 2.具体内容 在之前已经基本上了解了整个 SpringBoot 运行机制,但是也需要清 ...
- maven属性、profile、资源过滤、不同环境构建项目
maven针对不同环境构建项目 maven使用属性.profile及资源过滤支持针对不同环境构建项目 maven属性 maven共有六类属性 1.最常见的是自定义属性,即在pom文件里通过<pr ...
- SpringBoot开发(改变环境属性、读取资源文件、Bean 配置、模版渲染、profile 配置)
1.概念 SpringBoot 开发深入 2.具体内容 在之前已经基本上了解了整个 SpringBoot 运行机制,但是也需要清楚的认识到以下的问题,在实际的项目开发之中,尤其是 Java 的 MVC ...
- linux命令(56):环境变量:/etc/profile、/etc/bashrc 、~/.profile、~/.bashrc
添加环境变量:https://www.cnblogs.com/lovychen/p/5583703.html 一.环境变量介绍: 在Linux系统中,环境变量按照其作用范围不同大致可以分为系统级环境变 ...
- linux运维、架构之路-Kubernetes离线、二进制部署集群
一.Kubernetes对应Docker的版本支持列表 Kubernetes 1.9 <--Docker 1.11.2 to 1.13.1 and 17.03.x Kubernetes 1.8 ...
随机推荐
- J2SE基础:4.面向对象的特性一
面向对象的特性 封装 继承多态 封装: 定义: 通过对象的封装,实现了模块化和信息隐藏. 通过对类的成员施以一定的訪问权限,实现了类中成员 的信息隐藏 注意点: 对象自已该做的一些事情与方法不能交与其 ...
- Android开发Thread+Handler演示样本(打地鼠)
直接在代码 package com.mingrisoft; import java.util.Random; import android.app.Activity; import android.o ...
- Android使用百度定位SDK方法及错误处理
下面事例是使用Android平台的部分代码.对于这个平台百度的开放人员已经写了完整的demo,把工程导入到eclipse中之后一般没有错误,如果报错的话,eclipse也会给出提示.一般可以通过将pr ...
- Nginx 防CC攻击拒绝代理访问
先大概说说简单的结构…前端一个Nginx反向代理,后端一个Nginx instance app for PHP…实际上就是个Discuz,之前面对CC攻击都是预警脚本或者走CDN,但是这次攻击者不再打 ...
- 【夸QT十一】外来物品:通用脚本帮助Web运行基础Linux命令
需求分析: 需要注意的是在这里第一次,这个人是不是QT系列文章,它是关于Web的,之所以写这篇文章.这是因为碍着Web相关开发时间,而且往往涉及linux与底层指令处理.例如,创建一个文件夹,删除一个 ...
- Grub2配置详解(转)
grub2基础教程-修订版 smallapple 目录 一.grub2新特性 二.grub2安装与启动 三.grub2配置文件 ...
- Cocos2d-x学习笔记(五岁以下儿童) 精灵两种方式播放动画
这几天在看控件类,临时没有想好实际运用的方向.单纯的创建网上已经有非常多这方面的样例,我就不写了.接下来是学习精灵类.精灵类若是单独学习也是非常easy.于是我加了一些有关动画方面的知识点与精灵 ...
- play framework2.5.
play framework2 的学习笔记 https://github.com/playframework/playframework https://github.com/playframewor ...
- 【原创】一个基于简单剪枝的DFS解数独程序
问题来源:leetCode Sudoku Solver Write a program to solve aSudoku puzzle by filling the empty cells. Empt ...
- Duanxx的STM32学习: 启动模式,BOOT0和BOOT1具体解释
在画STM32的电路图的时候,关于STM32的启动方式纠结了一下,现有的參考设计都是在STM32的启动选择引脚BOOT0和BOOT1上使用了跳帽,用以人工选择STM32的启动方式,可是在实际应用中这样 ...