但是,当我阅读由“Drew Gislason”撰写的ZigBee书时,他提到“端点允许在每个节点内存在不同的应用程序配置文件”
我对这两个相互矛盾的答案感到困惑.因此,在这种情况下,我可以创建两个应用程序,一个是使用HA配置文件,另一个是同时在一个节点上使用ZSE配置文件.它是否正确?
ZigBee堆栈是否允许开发人员这样做?在做这个之前我有什么先决条件吗?
谢谢
However, when I read the ZigBee book written by “Drew Gislason”, he mentions that “Endpoints allow for different application profiles to exist within each node”
这是对的.应用程序Endpoint指定配置文件ID,并且由于多个端点可以存在于一个节点上,因此您可以在设备上混合使用应用程序配置文件.但是还有许多其他考虑因素:
>应用程序端点仅在收到AFDataRequest时才会收到
匹配的个人资料ID.什么是不可能发送一个
具有不同配置文件ID的节点之间的AFDataRequest.
> HA和SE具有相同的网络层安全性(即信任中心发布使用规范中定义的信任中心链接密钥加密的随机网络密钥,因此HA设备可以进入SE网络并发送数据.但SE添加应用层安全性,因此即使HA端点可以向SE端点发送ZCL消息,它也不会知道APS安全密钥.
>另外要指出的是,那不是在规范中写的,是
一些堆栈供应商可能会从SE网络中踢出节点
拥有非SE应用程序端点.我实现了你想要的
使用Texas Instruments Stack并且在Coord时效果很好
以及使用此堆栈实现的其他节点.但是当这个
与来自其他堆栈供应商的Coords混合,因为它失败了
SE Coord发送离开请求,因为该节点具有非SE端点.
这是〜2年前,Spec和堆栈实现了
从那时起经历了很多变化,所以你可能没有看到问题,但很好
在投资太多之前,值得对预期的Coords进行测试
努力.
>实现HA端点的节点可能需要SE端点才能通过
CBKE(基于证书的密钥建立),或者Coord可以发送一个
一旦实现它尚未通过,就将请求留给加入节点
通过SE安全.
>最后,可能不允许这样的设备(即给出一个
证书)在公用事业提供商拥有的SE网络上,作为
实用程序可能不希望网络上有这样的设备
被视为构成安全风险.
问候,TC.