微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > Philips HUE 的灯泡如何从ZHA 转成ZLL 的模式呢?

Philips HUE 的灯泡如何从ZHA 转成ZLL 的模式呢?

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

我利用TI 的Tool 将Philips灯泡的Zigbee模式, 从ZLL 转成ZHA 了.
即使灯泡断电再重新上电, 它依然停留在ZHA,
请问: 有人知道如何再将它从ZHA 调回ZLL 的模式吗?
谢谢.

不用转的。

Philips Hue灯本来就支持加入ZHA的网络。

1)先把Philip Hue灯恢复到出厂设备

2)让Philips Hue灯通过传统入网方式入网

3)入网以后,就可以让ZHA的设备控制灯了。

 

告诉我你手头,除了有Philips Hue灯以外,还有其他的设备吗?

感谢你的回答.
我是购买整套Philips HUE 的设备, 除了3个灯泡之外, 还有一个Switch.
我之所以要将 Hue 从 ZHA 切到 ZLL,
是因为当灯泡工作在ZHA的模式时, Switch无法正确的抓到灯泡.,
所以才要把它切回 ZLL 的工作模式.

或许"先把Philip Hue灯恢复到出厂设备" 这是个好方法,
但是要如何才能恢复到出厂设备呢?

麻烦大哥指导一下.
谢谢.

几个问题

1)Philips Hue套装应该是三个灯泡和一个网关,怎么会有一个Switch,可以上传一张图片吗?

2)Hue的灯永远是工作在ZLL模式,你怎么可能换成ZHA的协议呢?你拆开来重新烧写程序了?

 

感谢您如此快速的回应.
有关于您的问题.
1. 应该是您所说的网关, 是我打错了, 打成了Switch. 照片如附件.
2. Hue 在出厂时, 是工作于ZLL 模式. 因为我要做实验, 所以我是用TI 的人员所提供特别版程式, 配合cc2531 USB-dongle 将Hue 灯泡强制切到ZHA,
所以Hue 就一直停留在ZHA, 导致网关无法再控制灯泡.
请问, 您知道有什么方法可以让网关可以再控制Hue 吗? Hue 不切到ZLL 可以达成目的吗?

谢谢

你好,

请发我私信,关于你们公司,哪个TI的工程师支持过你们。

谢谢!

您好,
是要直接发到您的个人信箱吗?
我还找不到要如何发私信的方法.

其实是我请那位工程师寄"可以利用CC2531 将hue 切到ZHA" 的Hex file 给我,
因为, 我们要"不透过网关, 直接控制灯泡", 而且, 我还没有去申请ZLL的key, 所以要先将Hue 切到ZHA.
而且有时还需要经由"网关" 来控制Hue 来观查灯泡的动作, 所以才需要再切回ZLL 模式.

谢谢

直接点击我的头像,应该可以看到发私信的方法。

Hi VV,

     请问如何恢复 hue灯 到出厂设置 ?

Regards,

JC

ZLL products on the market can be reset to factory new by the ZStack-Lighting-1.0.1 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,

Thank you for your timely reply.

I‘ve read the similar post somewhere on e2e forum. But I’ve confused about why a Philips Hue product would be reset (some other operation etc) by a "stranger device". Image my neighbor is now trying to reset my hue and would do some further operation.

JC

能把那个HEX发给我么

我的HUE应该入过网了

我用CC2530EB 烧了ZLL REMOTE,做TOUCH LINK 时 HUE并不闪烁,请问是咋回事呢 我的邮箱54372754@qq.com

只有邻居的remote距离你的light很近(约1m以内),他才能reset你的light.好像是这样

"可以利用CC2531 将hue 切到ZHA" 的Hex file 给我"   能都把这个hex文件发给我,万分感谢!1185864854@qq.com

@Qingquan Chen, 

你可以直接下载Z-Stack Lighting 1.0.2

然后修改代码后生成一个hex文件就可以了。

修改的代码按照下面的,主要是使用2个按键,一个是TouchLink, 另外一个Send FN.

ZLL products on the market can be reset to factory new by the ZStack-Lighting-1.0.1 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++ );
}

谢谢VV大神的回复。

现在应该已经恢复出厂设置了(飞利浦灯泡有闪烁了一下)。但是还是加不了自己的网络(PANID:0xB012)。现象如下:

(飞利浦的网关ZigBee网络原来是工作在0x0F通道)

1、恢复出厂设置后的,飞利浦灯泡每次上电,都会在0x0B、0x0F通道上,发一包beacon request数据包。

如附件所示(每次上电只发一次,我上电了3次;可以肯定beacon request 是灯泡发的)

2、协调器是开放网络的(我自己的灯泡是可以加进来的)。从抓到的数据包来看,协调器应该也回复了灯泡的beacon request。

不知道问题出在哪里?我的协调器设置如下:

SECURE=1
TC_LINKKEY_JOIN
NV_INIT
NV_RESTORE

已经成功加入网络,可以控制了,再次感谢VV大神

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

网站地图

Top