Dear TI,
目前我们基于TI CC2530芯片,并基于Zigbee Home 1.2.0版本代码,做一个ZHA网络,请问这种网络可以兼容飞利浦的ZLL灯吗,是否可以让飞利浦ZLL灯加入TI的ZHA网络中并进行简单控制?
请问你们是否有做过这样的测试,如果可以,请问是目前市面上哪款飞利浦ZLL灯,我们也好买一个回来研究测试。
thanks
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.
你用Z-Stack Home 1.2.0里面的例程作为协调器,把Philips Hue加入到HA的网络里面就可以了,至于如何控制发添加相关的on/off等功能就可以了。
我说的demo的软件也是基于Z-Stack Home 1.2.0,只不过我们把相关应用上的控制也做好了,代码在下面链接中。
http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/81385.aspx
如果是ZLL的设备和Philips的Hue要通信的话,必须拿到联盟颁发的master key,这个master key只有在过了ZLL认证测试以后才有的。
@mu zhang
用Z-Stack Lighting 1.0.2也符合的
ZLL products on the market can be reset to factory new by the ZStack-Lighting-1.0.2 Remote if you enable the MASTER_KEY, the actual key is not used during the reset, you just need the correct key bitmask during the initial TouchLink phase. See section 3.1 of the "ZStack Lighting Developers Guide.pdf" for more information about enabling the MASTER_KEY. To send a reset from a ZStack-Lighting Remote you need to start a TouchLink with zllInitiator_StartDevDisc(), then when the ZLL Light flashes send the zllInitiator_ResetToFNSelectedTarget().
NOTE: There is a bug which will cause issues if the ZLL Remote is on a different channel to the ZLL Light.
To fix this you will need to add:
zll_SetChannel( selectedTarget.rxChannel );
to the zllInitiator_ResetToFNSelectedTarget function:
ZStatus_t zllInitiator_ResetToFNSelectedTarget()
{
if ( ( zllTransID == 0 ) || ( selectedTarget.lastRssi == ZLL_TL_WORST_RSSI ) )
{
return ( ZFailure );
}
zclLLResetToFNReq_t req;
req.transID = zllTransID;
zll_SetChannel( selectedTarget.rxChannel );
return zclLL_Send_ResetToFNReq( ZLL_INITIATOR_ENDPOINT, &(selectedTarget.srcAddr), &req, initiatorSeqNum++ );
}Hi, VV,
我有一个基于CC2531 Dongle的HA网关,测试Philips Hue灯泡的控制,测试过程中需要经常复位Hue灯泡到出厂状态,看了描述还是不太清楚如何复位Hue灯泡。我这里有一个CC Debugger,两个CC2531 dongle,一个用在HA网关上,一个闲置(偶尔用来抓包调试)。 找了一些资料:
http://processors.wiki.ti.com/index.php/ZStack-Lighting_Kit_CC2531EMK
据描述,可以烧入ZLL remote固件到2531 dongle上,按dongle上的S1+S2键 或者 通过ZLL Command Line 把 ZLL灯 复位到出厂状态。但有几个问题要求助:
1. 2531上的ZLL remote固件从哪里下(或者如何制作)?
http://processors.wiki.ti.com/index.php/ZStack-Lighting_Kit_CC2531EMK#Generating_the_ZStack-Lighting_Kit_FW_from_ZStack-Lighitng-1.0.x_Release
上说可以基于 ZStack-Lighting-1.0.1打个Patch,再生成固件。 但我只找到ZStack-Lighting-1.0.2的下载链接,没有1.0.1的,不知道从哪下载或者是否有预编好的固件?
2. ZStack-Lighting-1.0.1(或1.0.2)的固件(For 2531),是否不能直接使用? 需要按你此帖中的要求修正问题后,再重新编译生成?
即 ”zll_SetChannel( selectedTarget.rxChannel );“ 要加到 zllInitiator_ResetToFNSelectedTarget 函数中?
盼复! 谢先!
BR,
Fisher
Hi VV,
我已经下到Z-Stack Lighting 1.0.1并打好Patch,编译和烧写都已OK。不过对其中的MASTER Key部分的描述想不明白:
为了Reset Hue Bulbs,需要Enable MASTER_KEY,但Reset操作中实际用不到(the actual key is not used during the reset)。我的疑问是:
1. 既然用不到实际的MASTER KEY,为什么不能使用SDK里缺省带动Certification Key呢? 感觉不需要Enable MASTER_KEY哦
2. 开发过程中我们还没拿到合法的Master Key,那么要如何Enable MASTER_KEY呢?Z-Stack Lighting Developer‘s Guide 3.1描述的"Overwrite the “0x??” placeholders with the actual secret values." 应该怎么填呢? 随便填些数字可以吗?
我是Zigbee初学者,如果问题“太傻”还请原谅一下:)
我来回答你把 master key 是不需要的,需要的是trust center link key.
需要做的是刷zll sample remote eb, 做如下修改
#define ZLL_MASTER_KEY { 0x5a, 0x69, 0x67, 0x42, 0x65, 0x65, 0x41, 0x6c,\ 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x30, 0x39 } #define ZLL_MASTER_LINK_KEY { 0x5a, 0x69, 0x67, 0x42, 0x65, 0x65, 0x41, 0x6c,\ 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x30, 0x39 }
// For production:
#define ZLL_ENC_KEY ZLL_MASTER_KEY
#define ZLL_LINK_KEY ZLL_MASTER_LINK_KEY
#define ZLL_KEY_INDEX ZLL_KEY_INDEX_MASTER
在距离飞利浦灯非常近的距离,掰左键来做 zllInitiator_StartDevDisc,即touch link 过程,
然后掰上key 做 zllInitiator_ResetToFactoryNew,即reset过程。
多重复几次这个过程,如果灯reset成功,会变成红色。同时灯发的beacon也会跟正常zha设备一样。
然后就可以入网了,入网时协调器需要SECURE。
我的已经成功了。
VV您好!
刚刚接触z-stack不久,有些问题想请教下:
1、在调用AF_DataRequest函数时,如何让确定接收方的shortAddr和extAddr,如果不知道这两者是不是不能发送数据?
2、为什么afAddrType_t中和endPointDesc_t中都有一个endPoint ,这两个endPoint 分别指什么?
2、endPointDesc中的 endPoint task_id SimpleDescriptionFormat_t afNetworkLatencyReq_t这几个参数分别指什么?
3、当接收到数据时,是不是会进入到case ZCL_INCOMING_MSG:
// Incoming ZCL Foundation command/response messages
zclSampleSw_ProcessIncomingMsg( (zclIncomingMsg_t *)MSGpkt );这个地方处理?
接触没多久,现在数据还不知道改怎么收发!麻烦回复下,谢谢
Hi VV
我使用了以上例子来复位一个已入网的hue灯泡,有以下问题:
1、当我调用zllInitiator_StartDevDisc();启动Touch Link后,并未发现hue有闪烁的状态?
在这一步,我用抓包器看见zll remove有发Scan request出去,并且hue也回复了Scan response;
2、接着我继续调用zllInitiator_ResetToFNSelectedTarget(); hue依然没有如何的动作?
3、是不是需要有MASTER_KEY才能使用以上的例子复位hue为factory new?