微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > Smart Energy 的install code

Smart Energy 的install code

时间:10-02 整理:3721RD 点击:

TI的大神们好,

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

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

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

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

感激万分。

建议您阅读一下下面的文件7282.docs-13-0402-13-00zi-Base-Device-Behavior-Specification-2 (1).pdf

谢谢您的文档。还有一个小问题,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的方式入网,那么协调器有足够的空间来保存这么多信息吗?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top