各位大神, 我把ti的Z-Stack Lighting 1.0.2 sampleRemote 例程下载进开发板,然后另一个开发板下载sampleLight的例程。使用remote对light发出TouchLink命令时light会闪烁,TouchLink后remote可以控制light的开关,亮度等。但是我使用remote对从合作商那里拿来的zll灯TouchLink没有任何反应,合作商那边的技术人员说ti有公开的Development key, 对于zll我也不是很了解,所以有以下一些问题:
1.是不是我从合作商那里拿来的灯需要恢复出厂设置才能用remote和它TouchLink?
2.在没有过zll认证,没有得到master key的情况下我究竟能不能使用ti的例程Z-Stack Lighting 1.0.2 sampleRemote 来控制别家的zll灯?
3.ti的Development key, Certification key有什么区别和作用?它们有公开吗?
VV:
1, 首先你需要确定你拿到合作商的灯,是否已经过了ZigBee认证的,如果是已经过了ZigBee认证的,那么用的Master Key,也就联盟专门发给通过认证的产品的key。
如果没有通过认证的,那么使用的应该是Certification Key 或者Development Key。需要问清楚
2,看别家的灯,用的是什么模式。 只要配置一样就可以了
3,key的构成方式不一样,加密的算法都一样的。
都公开的。在协议栈zll.h文件里面,
/** Pre-Installed Keys **///#define ZLL_MASTER_KEY{ 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??,\0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x?? } //#define ZLL_MASTER_LINK_KEY{ 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??,\0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x?? }#define ZLL_CERTIFICATION_ENC_KEY{ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf } #define ZLL_CERTIFICATION_LINK_KEY{ 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf }#define ZLL_DEFAULT_AES_KEY{ 0x50, 0x68, 0x4c, 0x69, 0xea, 0x9c, 0xd1, 0x38,\0x43, 0x4c, 0x53, 0x4e, 0x8f, 0x8d, 0xba, 0xb4 } //#define ZLL_DEV_FIXED_NWK_KEY{ 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,\0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc }#define ZLL_KEY_INDEX_DEV0 #define ZLL_KEY_INDEX_MASTER4 #define ZLL_KEY_INDEX_CERT15// For production: //#define ZLL_ENC_KEYZLL_MASTER_KEY //#define ZLL_LINK_KEYZLL_MASTER_LINK_KEY //#define ZLL_KEY_INDEX ZLL_KEY_INDEX_MASTER// For certification only: #define ZLL_ENC_KEYZLL_CERTIFICATION_ENC_KEY #define ZLL_LINK_KEYZLL_CERTIFICATION_LINK_KEY #define ZLL_KEY_INDEX ZLL_KEY_INDEX_CERT
gang ji:
回复 VV:
Dear VV:
这里代码里默认用的是Certification Key, 如果要修改成Development Key,如何修改 ??
gang ji:
回复 gang ji:
在线等 。。。。。
VV:
回复 gang ji:
#define ZLL_KEY_INDEX ZLL_KEY_INDEX_DEV