Other Parts Discussed in Thread: Z-STACK
TI的大神们好,
在Smart Energy中,各级的KEY都是基于install code建立的,我用Source Insight找了整个工程都没有发现,协议栈是在哪里设置install code的,SMart Energy的协议中说到,install code是可以自己设置的,在哪里设置呢?万分感激
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: Z-STACK
TI的大神们好,
在Smart Energy中,各级的KEY都是基于install code建立的,我用Source Insight找了整个工程都没有发现,协议栈是在哪里设置install code的,SMart Energy的协议中说到,install code是可以自己设置的,在哪里设置呢?万分感激
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);
}
#else
uiAddInstallCodeLastStatus = bdb_setActiveCentralizedLinkKey(FALSE, uiInstallCode);
#endif
}非常感谢您的回答。
使用install code的话需要什么设置吗? 因为install code用来产生Pre-configured Link Key, 但是Default Global Centralized Key可以代替这个Pre-configured link key, 所以不太清楚协议是用了哪个,或者您有什么相关的说明文档,关于怎样在协议中使用install code吗?
感激万分。
谢谢您的文档。还有一个小问题,install code是Z-sTACK 3.0才加进来的吧?Z-stack2.5之前的是不是都没有啊?
这个Install Code是惟一的吗?每个节点都各自的Install code还是说整个网络就只能有一个install code.
根据SE的协议规范,我的理解是每个节点有各自的install code
在《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的方式入网,那么协调器有足够的空间来保存这么多信息吗?