TI中文支持网
TI专业的中文技术问题搜集分享网站

Smart Energy 的install code

TI的大神们好,

      在Smart Energy中,各级的KEY都是基于install code建立的,我用Source Insight找了整个工程都没有发现,协议栈是在哪里设置install code的,SMart Energy的协议中说到,install code是可以自己设置的,在哪里设置呢?万分感激

Viki Shi:

论坛有类似问题,解答请看这边: https://e2e.ti.com/support/wireless_connectivity/zigbee_6lowpan_802-15-4_mac/f/158/t/371111

Zhengrong Lee:

回复 Viki Shi:

谢谢您的回答,不过帖子上说的是用sspMMOHash函数来产生pre-configured link key, 还是没有讲哪里可以设置这个install key;

在Smart Energy组网过程中,根据SE的规范,Device需要发送自身的install code和MAC ID给协调器,这样协调器才会产生异样的pre-configured link key, 所以应该会有一个地方来时设置这个install code的吧?

Alvin Chen:

回复 Zhengrong Lee:

Hi

以 Sample light 为例:请查看  zcl_sampleapps_ui.c

#define UI_INSTALL_CODE_DEFAULT {0x83,0xFE,0xD3,0x40,0x7A,0x93,0x97,0x23,0xA5,0xC6,0x39,0xB2,0x69,0x16,0xD5,0x05,0xC3,0xB5} //This install code produces the key: 66B6900981E1EE3CA4206B6B861C02BB
#define UI_INSTALL_CODE_ADDR_DEFAULT {0xE7,0xFC,0x0E,0x04,0x00,0x4B,0x12,0x00}
static void uiActionSetInstallCode(uint16 keys)
{uint16 crc = bdb_GenerateInstallCodeCRC(uiInstallCode);uiInstallCode[INSTALL_CODE_LEN] = crc & 0xFF;uiInstallCode[INSTALL_CODE_LEN + 1] = crc >> 8;#if (ZG_BUILD_COORDINATOR_TYPE)if (ZG_DEVICE_COORDINATOR_TYPE){uiAddInstallCodeLastStatus = bdb_addInstallCode(uiInstallCode, uiInstallCodeAddr);}else{uiAddInstallCodeLastStatus = bdb_setActiveCentralizedLinkKey(FALSE, uiInstallCode);}
#elseuiAddInstallCodeLastStatus = bdb_setActiveCentralizedLinkKey(FALSE, uiInstallCode);
#endif
}

Zhengrong Lee:

回复 Alvin Chen:

 非常感谢您的回答。

使用install code的话需要什么设置吗? 因为install code用来产生Pre-configured Link Key, 但是Default Global Centralized Key可以代替这个Pre-configured link key, 所以不太清楚协议是用了哪个,或者您有什么相关的说明文档,关于怎样在协议中使用install code吗?

感激万分。

Zhengrong Lee:

回复 Alvin Chen:

谢谢您的文档。还有一个小问题,install code是Z-sTACK 3.0才加进来的吧?Z-stack2.5之前的是不是都没有啊?

xiaolong_ba:

回复 Alvin Chen:

这个Install Code是惟一的吗?每个节点都各自的Install code还是说整个网络就只能有一个install code.

Zhengrong Lee:

回复 xiaolong_ba:

根据SE的协议规范,我的理解是每个节点有各自的install code

xiaolong_ba:

回复 Zhengrong Lee:

在《Base Device Behavior Specification》第10章的10.1小节install codes有这么一段话“Knowing a set of Install Codes SHOULD NOT yield any knowledge of another Install Code and each Install Code SHOULD be equally probable.”从字面上看,好像是每个节点均可以有自己的install code,但是我不是很确定。还有如果真的如我所想,如果节点一多起来,而且均是采用install code的方式入网,那么协调器有足够的空间来保存这么多信息吗?

赞(0)
未经允许不得转载:TI中文支持网 » Smart Energy 的install code
分享到: 更多 (0)