曹簫洪,朱 曉
(1.上海飛樂音響股份有限公司,上海 201801;2.上海亞明照明有限公司,上海 201801 )
近年來,ZigBee無線通信技術(shù)在智能照明中的應(yīng)用范圍在不斷地拓展[1-3]。Zigbee聯(lián)盟在Zigbee協(xié)議棧應(yīng)用層上推出了照明控制開放標(biāo)準(zhǔn)——ZigBee Light Link(簡稱ZLL)[4-5],是為了實(shí)現(xiàn)易安裝、低成本和互操作?;赯LL標(biāo)準(zhǔn),燈控系統(tǒng)開發(fā)商可以開發(fā)出ZLL燈具(或ZLL單燈控制器)、ZLL遙控器(或ZLL面板開關(guān))、ZLL傳感器、ZLL網(wǎng)關(guān)等系列產(chǎn)品,以滿足不同的應(yīng)用需要。并且,來自不同開發(fā)商的ZLL產(chǎn)品之間可以互操作[6],這有利于ZLL燈控產(chǎn)品的推廣,是辦公照明控制和會議照明控制的理想選擇。為了不同的應(yīng)用需要和不同的燈控方式,ZLL系列產(chǎn)品可工作于現(xiàn)場控方式和遠(yuǎn)程控方式。在ZLL系統(tǒng)的現(xiàn)場控中,主要有兩種操控手段,即智能手機(jī)和ZLL遙控器?;赯LL網(wǎng)關(guān)、智能手機(jī)和APP的現(xiàn)場燈控方式,有可視化的便利,在ZLL系統(tǒng)初裝配置時很直觀,但采用手機(jī)來操控照明,不符合人們?nèi)粘5臒艨亓?xí)慣,接受度低。而基于ZLL遙控器的現(xiàn)場控制,方便快捷,符合人們?nèi)粘艨亓?xí)慣。要采用ZLL遙控器來控制現(xiàn)場的ZLL燈具,則該遙控器應(yīng)具備4大類基本的功能,即ZLL網(wǎng)絡(luò)發(fā)起及添加ZLL燈具入網(wǎng)、ZLL燈具的光輸出控制、ZLL燈具的組景控制、ZLL遙控器的克隆。
本文重點(diǎn)分析ZLL遙控器在開發(fā)和應(yīng)用上面4大類基本功能中所遇到的主要問題,分析問題產(chǎn)生的原因,并提出有效的對策來解決這些問題。
技術(shù)人員在開發(fā)ZLL遙控器的過程中,用戶在使用ZLL燈控系統(tǒng)的體驗中,會碰到若干問題,譬如:添加燈具時易時難、遙控器克隆成功率易被干擾、控制失效等問題。ZLL遙控器硬件線路很簡單,所以在遙控器的實(shí)際應(yīng)用中,如果不能穩(wěn)定地實(shí)現(xiàn)上面所描述的4大類功能,在排除ZLL燈具問題的前提下,問題源頭可以歸結(jié)為兩個:遙控器ZigBee模塊中的固件漏洞;遙控器操作不當(dāng)。下面將重點(diǎn)分析這些問題的可能原因給出相應(yīng)的對策。
利用射頻信號嗅探器,并結(jié)合Ubiqua協(xié)議分析軟件界面[7],可以抓取并分析空中交互的數(shù)據(jù)報文,以測試ZLL遙控器和ZLL燈具之間的通信過程,這是了解ZLL網(wǎng)絡(luò)發(fā)起、燈具入網(wǎng)、燈具應(yīng)用配置和控制中信號交互的簡易方法。根據(jù)ZLL標(biāo)準(zhǔn),ZLL遙控器采用觸聯(lián)(Touch-Link:TL)的方法來發(fā)起ZLL網(wǎng)絡(luò)和添加ZLL燈具,圖1給出觸聯(lián)添燈組網(wǎng)期間,無線信號交互過程示意圖。
圖1 觸聯(lián)期間無線通信交互過程Fig.1 Wireless communication interaction process in TL
觸聯(lián)方法基本過程是這樣的:ZLL遙控器以廣播方式發(fā)出要求搜索ZLL燈具的指令,現(xiàn)場ZLL燈具以單播方式應(yīng)答搜索;按照一定的決策算法,遙控器以單播方式向應(yīng)答燈具中的燈具K發(fā)出確認(rèn)要求(燈具K可以用閃爍一次來應(yīng)答);遙控器以單播方式向燈具K發(fā)出入網(wǎng)要求(或同時發(fā)起新網(wǎng)絡(luò)),燈具K以單播方式向遙控器發(fā)出入網(wǎng)響應(yīng);燈具K以廣播方式宣布自己已入網(wǎng)。
圖1顯示出,ZLL遙控器和ZLL燈具之間,在觸聯(lián)過程中的通信方式,類似于打乒乓球的一來一回,每個來回中的通信中斷,就是ZLL燈具添加過程所遇問題的根本原因,而大部分問題都發(fā)生在“搜索響應(yīng)”和“燈具K識別請求(單播)、燈具閃爍一次來應(yīng)答”這兩個通信階段。
1)ZLL燈具不能被ZLL遙控器添加入網(wǎng)之原因及對策。
(a)燈具和遙控器之間無互操作性:分析空中數(shù)據(jù)報文,在發(fā)生這個問題時,雖然遙控器發(fā)出了搜索請求,但燈具不會應(yīng)答,或者燈具應(yīng)答后遙控器不再發(fā)出識別請求。目前,市場上或開發(fā)中的ZLL產(chǎn)品,主要是基于幾個主流ZigBee芯片及其協(xié)議棧來開發(fā)的,譬如TI、Silicon Labs、Atmel、Freescale和NXP,要保證相互之間的互操作性,推薦2個對策:不同供貨商的ZLL產(chǎn)品,都有授權(quán)的master key;不同供貨商ZLL產(chǎn)品,若都沒有作ZLL標(biāo)準(zhǔn)認(rèn)證,則至少要保證各自產(chǎn)品的ZLL協(xié)議棧中缺省的master key完全相同。
(b)燈具和遙控器的空間距離與兩者固件中設(shè)定的RSSI(接收的信號強(qiáng)度)數(shù)值設(shè)置不匹配:在固件協(xié)議棧中,RSSI數(shù)值和觸聯(lián)距離間有一定的對應(yīng)關(guān)系,如RSSI=-40 dBm,則觸聯(lián)距離需控制在10 cm以內(nèi);RSSI=-60 dBm,則觸聯(lián)距離需控制在2 m以內(nèi);RSSI=-90 dBm,則在10 m開外都能成功觸聯(lián)。ZLL標(biāo)準(zhǔn)規(guī)定,觸聯(lián)距離應(yīng)該控制在2 m內(nèi)。但是,在有些照明場合,譬如吊頂高于4 m的中型會議廳,若采用ZLL燈控系統(tǒng),則2 m觸聯(lián)距離要求會導(dǎo)致該場合下燈具添加困難。在報文分析中,具體表現(xiàn)為遙控器發(fā)出了搜索請求后,沒有燈具會發(fā)出搜索應(yīng)答。燈控產(chǎn)品的市場化有2條途徑,即流通渠道和工程渠道。在工程渠道中,燈控產(chǎn)品供貨商是清楚工程現(xiàn)場的使用環(huán)境的。在ZLL燈控系統(tǒng)推廣的工程渠道中,為吊頂很高的中型會議廳安裝ZLL燈控系統(tǒng),且無需登梯來操作觸聯(lián)功能,采用RSSI=-90 dBm的設(shè)置是個明智的對策。產(chǎn)品通信協(xié)議的標(biāo)準(zhǔn)化和工程適用化要兼顧,并且在只修改RSSI數(shù)值的情況下,是不會影響ZLL產(chǎn)品間互操作性的。
(c)信道干擾:在2.4 GHz頻段上,為了盡量避開WiFi的干擾,基于ZLL標(biāo)準(zhǔn)而開發(fā)的產(chǎn)品會優(yōu)選工作在11、15、20和25等4個信道。即便如此,分屬不同個域網(wǎng)的ZLL系統(tǒng)之間也可能會發(fā)生信道干擾,尤其是影響觸聯(lián)過程。譬如:在照明現(xiàn)場,屬于PanID_A內(nèi)的ZLL網(wǎng)關(guān)在附近工作,會干擾PanID_B內(nèi)的觸聯(lián)加燈過程。為了避免這個問題,簡單的對策是:PanID_B內(nèi)執(zhí)行觸聯(lián)操作時,暫時關(guān)閉PanID_A內(nèi)的ZLL網(wǎng)關(guān)的工作;等PanID_B內(nèi)的所有觸聯(lián)操作都完成后,再恢復(fù)PanID_A內(nèi)ZLL網(wǎng)關(guān)的工作。
2)重復(fù)觸聯(lián)問題及單次觸聯(lián)策略。圖1表明,觸聯(lián)加燈過程是這樣的:遙控器發(fā)出搜索請求,燈具響應(yīng)這個請求,且收到識別請求的燈具閃爍應(yīng)答,之后再應(yīng)答ZLL網(wǎng)絡(luò)加入指令。當(dāng)照明現(xiàn)場只有一盞ZLL燈具時,這個過程是很順暢的。但是,當(dāng)照明現(xiàn)場有多盞ZLL燈具時(譬如100盞),觸聯(lián)加燈過程會碰到一個棘手的“重復(fù)觸聯(lián)”問題,那就是:部分ZLL燈具會重復(fù)地被觸聯(lián),而其它許多燈具根本不能獲得觸聯(lián)添加的機(jī)會。
導(dǎo)致重復(fù)觸聯(lián)問題的原因是:在觸聯(lián)期間,當(dāng)多盞燈具發(fā)出搜索應(yīng)答時,遙控器是基于LQI(鏈接質(zhì)量指示)指標(biāo)來選擇被添加燈具的(譬如CC2530的ZLL協(xié)議棧),包含4個步驟:①遙控器請求搜索現(xiàn)場ZLL燈具;②現(xiàn)場多個ZLL燈具應(yīng)答;③應(yīng)答燈具和遙控器間的LQI指標(biāo)對比;④具有最強(qiáng)LQI的ZLL燈具收到識別請求并被添加。由于燈具和遙控器之間無線通信LQI數(shù)值大小不一,所以觸聯(lián)添加機(jī)會總是被具有最強(qiáng)LQI的燈具不停地?fù)屨?,?dǎo)致具有較弱或最弱LQI的燈具的觸聯(lián)添加過程困難。實(shí)驗結(jié)果:在一個較大照明現(xiàn)場,安裝了100盞ZLL燈具,燈具離地面4 m以上。站在地面上,用ZLL遙控器(RSSI=-90 dBm)執(zhí)行觸聯(lián)操作,執(zhí)行了300次以上,仍然有大量燈具添加不成功。
同一個ZLL網(wǎng)絡(luò)中的ZLL設(shè)備具有相同的網(wǎng)絡(luò)標(biāo)識符PanID,而尚沒有被添加到本網(wǎng)絡(luò)內(nèi)的設(shè)備具有不同的PanID。為了解決重復(fù)觸聯(lián)問題,利用網(wǎng)絡(luò)標(biāo)識符特征,本文提出“單次觸聯(lián)策略”,它的基本思想是這樣的:在保留上述4個步驟的基礎(chǔ)上,僅僅改進(jìn)第三個步驟,那就是:①遙控器請求搜索現(xiàn)場ZLL燈具;②現(xiàn)場多個ZLL燈具應(yīng)答; ③不屬于本網(wǎng)絡(luò)內(nèi)的應(yīng)答燈具(即具有不同PanID燈具)間的LQI指標(biāo)對比;④添加具有最強(qiáng)LQI的ZLL燈具。顯然,第三步驟在算法上的改進(jìn),不會影響ZLL設(shè)備間的互操作性;但帶來的好處是不言而喻的,它可以有效地避免已入網(wǎng)燈具被多次重復(fù)觸聯(lián)的可能。改進(jìn)后的實(shí)驗結(jié)果:重復(fù)上面的實(shí)驗,執(zhí)行了110次左右的觸聯(lián)操作,100盞燈具全部被添加入網(wǎng)。
前面已提到,用多個遙控器來操控照明現(xiàn)場最貼近辦公室或會場的應(yīng)用需要,所以利用ZLL遙控器的克隆技術(shù)以期獲得多個遙控器來控制同一個照明現(xiàn)場的功能就非常重要?;诖罅康膰L試實(shí)驗,我們歸納了ZLL遙控器成功克隆應(yīng)滿足的主要條件,如下列出:(a)NFN遙控器:保存了照明現(xiàn)場ZLL網(wǎng)絡(luò)數(shù)據(jù)的遙控器;(b)FN遙控器:處于出廠初始設(shè)置的待克隆遙控器;(c)ZLL燈具:至少有一盞ZLL燈具在工作(和NFN遙控器屬于同一個ZLL網(wǎng)絡(luò)),在克隆現(xiàn)場充當(dāng)NFN和FN遙控器之間網(wǎng)絡(luò)通信的父節(jié)點(diǎn);(d)遙控器蘇醒時間長度:為了遙控器電池的節(jié)電,處于休眠狀態(tài)的遙控器在點(diǎn)擊按鍵后被喚醒,持續(xù)一定蘇醒時間后,再次進(jìn)入休眠狀態(tài)。為了可靠克隆,NFN和FN遙控器的單次蘇醒時間需要足夠長(譬如10 s以上);(e)按鍵操作的同時性:在執(zhí)行克隆操作時,必須同時點(diǎn)擊NFN和FN遙控器上對應(yīng)于觸聯(lián)功能的按鍵,以避免FN遙控器將ZLL燈具“偷出”原網(wǎng)絡(luò)而發(fā)起新網(wǎng)絡(luò);(f)避免信道干擾:如果附近有ZLL網(wǎng)關(guān)在工作,則在在執(zhí)行克隆操作時,該ZLL網(wǎng)關(guān)盡量暫時斷電,以避免因信道干擾對克隆操作的影響。
圖2示意出一次成功的克隆過程中,利用射頻嗅探器和Ubiqua協(xié)議分析儀所抓取到的關(guān)鍵數(shù)據(jù)報文信息,限于篇幅,忽略MAC層、NWK層、APS層等的數(shù)據(jù)包,而僅列出應(yīng)用層的數(shù)據(jù)包。在報文中可以看出,克隆過程中的信息交互和觸聯(lián)操作很類似,關(guān)鍵是以下幾個步驟:①NFN遙控器A和FN遙控器B都發(fā)出搜索請求,遙控器A屬于PanID_K網(wǎng)絡(luò);②PanID_K網(wǎng)絡(luò)內(nèi)的ZLL燈具會對NFN和FN遙控器都作出搜索應(yīng)答;③FN遙控器對NFN遙控器也作出搜索應(yīng)答;④NFN遙控器對FN遙控器發(fā)出識別請求;⑤NFN遙控器邀請F(tuán)N遙控器B加入PanID_K網(wǎng)絡(luò);⑥遙控器B加入到PanID_K網(wǎng)絡(luò)(此時遙控器B不再是FN狀態(tài)了),并以PanID_K網(wǎng)絡(luò)內(nèi)的ZLL燈具作為自己的父節(jié)點(diǎn);⑦以父節(jié)點(diǎn)為中轉(zhuǎn)橋梁,A遙控器中的數(shù)據(jù)(PanID_K網(wǎng)絡(luò)端口信息、燈具分組信息、燈具詳細(xì)的設(shè)備信息)復(fù)制到B遙控器中。
圖2 ZLL遙控器克隆過程中通信應(yīng)用層報文分析Fig.2 Application layer message analysis for clone process of ZLL remotes
克隆時刻,必須保證至少有一盞本網(wǎng)絡(luò)內(nèi)的ZLL燈具在工作,因為遙控器之間克隆網(wǎng)絡(luò)數(shù)據(jù)時,必須要有ZLL燈具(路由設(shè)備)來充當(dāng)遙控器(終端設(shè)備)的父節(jié)點(diǎn),這是ZLL網(wǎng)絡(luò)網(wǎng)狀結(jié)構(gòu)中對遙控器入網(wǎng)的基本要求。如果沒有父節(jié)點(diǎn)的參與,則克隆過程執(zhí)行到步驟⑤就結(jié)束了,屬于失效的克隆。需要注意的是:在克隆時刻需要有本網(wǎng)絡(luò)內(nèi)ZLL燈具的參與,但并不是說本網(wǎng)絡(luò)工作中的ZLL燈具的數(shù)量越多越好。相反,在克隆時刻,如果本網(wǎng)絡(luò)內(nèi)工作中的燈具太多,由于信道數(shù)據(jù)擁塞,會嚴(yán)重影響克隆過程的可靠性。
上面的克隆條件中,已提到遙控器的“蘇醒時間”。在ZLL燈具較多的照明現(xiàn)場,遙控器的蘇醒時間越長,則遙控器克隆過程穩(wěn)定性越好,但遙控器的電池節(jié)電性就受到影響。為了兼顧克隆性能和節(jié)電性能,本文提出“動態(tài)蘇醒時間”策略:在克隆過程尚未結(jié)束而遙控器單次蘇醒時間快耗盡而即將進(jìn)入休眠狀態(tài)之前,自動再激活一個新的蘇醒周期,從而保證整個克隆過程的完成。
同一個ZLL網(wǎng)絡(luò)內(nèi),為了避免多個遙控器分別在觸聯(lián)添加新的ZLL燈具時的地址沖突問題,遙控器克隆遵循“地址空間半分法”的原則。2個因素即“地址空間半分法”和網(wǎng)絡(luò)內(nèi)燈具總數(shù)目,從理論上決定了遙控器最多可克隆的次數(shù),并且失效的克隆操作會占用理論克隆次數(shù)指標(biāo)。理論上的克隆次數(shù)足夠?qū)嶋H應(yīng)用需要,關(guān)鍵是要提高每次克隆操作的成功率,這樣用戶體驗才會好。嚴(yán)格遵循上面歸納的“克隆條件”,可以保證克隆成功率。
克隆操作實(shí)驗:在一個較大的ZLL燈控現(xiàn)場,用ZLL遙控器A添加并配置了150盞ZLL燈具,網(wǎng)絡(luò)數(shù)據(jù)保存在遙控器A中。然后準(zhǔn)備用遙控器A來克隆遙控器B,它們的蘇醒時間都是10 s,為了使克隆過程順暢,只讓其中的20盞燈具上電。從點(diǎn)擊觸聯(lián)按鍵開始到克隆過程完成,共耗時20 s多(即自動激活2個新的蘇醒周期)。
下面通過一個智能照明改造工程項目,系統(tǒng)地介紹利用ZLL遙控器來配置和控制照明現(xiàn)場的過程。照明現(xiàn)場部分燈具分布如圖3所示。該工程項目中,ZLL燈控系統(tǒng)由120盞ZLL-T8燈具、4個ZLL遙控器構(gòu)成。工程現(xiàn)場是一個商業(yè)場所,現(xiàn)場吊頂有4 m多高,為了方便觸聯(lián)操作,將ZLL設(shè)備觸聯(lián)階段RSSI設(shè)置在-80 dBm,這樣無需登梯也能輕松地觸聯(lián)添加ZLL燈具。
首先,照明設(shè)計人員會根據(jù)現(xiàn)場實(shí)際照度、燈具配光以及場景需要,提供一份詳細(xì)的場景設(shè)計文件:以X-Y平面坐標(biāo)標(biāo)示出的每盞燈,在每個場景下的開關(guān)狀態(tài)或者亮度大小。該照明工程中ZLL燈控系統(tǒng)設(shè)計的詳細(xì)過程如下:
(i)觸聯(lián)添加燈具:新安裝的120盞ZLL燈具上電,用遙控器A執(zhí)行觸聯(lián)操作,以發(fā)起ZLL網(wǎng)絡(luò)并添加燈具。由于采用了單次觸聯(lián)策略,所以燈具添加速度很快,平均每5 s就有一盞燈入網(wǎng)。15 min后,120盞燈都成功被添加入網(wǎng)。
(ii)定義和保存燈具的分組屬性:利用遙控器上的相關(guān)功能按鍵,依次選擇每盞燈,根據(jù)該燈在現(xiàn)場所處的空間位置,將它分派到指定邏輯分組之中。重復(fù)這個操作,完成120盞燈的分組屬性定義和保存。
(iii)預(yù)置場景和場景切換:照明現(xiàn)場使用頻度最高的應(yīng)用是全開/全關(guān)/多場景切換等3個操作。照明場景,通過設(shè)置現(xiàn)場各個分組內(nèi)燈具工作狀態(tài)的組合來得到。在完成第二步的分組屬性定義后,預(yù)置場景就比較簡單了。另外,在配置復(fù)雜場景時,無需一步到位,可以保存局部的配置(類似于寫文章不停地保存局部成果),等時間空余了再完成復(fù)雜場景的剩余部分配置。這也是遙控器使用中的人性化防呆考慮。
(iv)克隆遙控器:當(dāng)遙控器A完成了網(wǎng)絡(luò)發(fā)起、燈具添加、組/景設(shè)置等配置后,現(xiàn)在就可以執(zhí)行遙控器克隆的操作,以得到另外3個遙控器B、C和D。具體操作步驟是:①現(xiàn)場的120盞燈具中,讓少量燈具(譬如20盞)上電工作;②3個待克隆的遙控器B、C和D都恢復(fù)到出廠初始狀態(tài);③NFN遙控器A和FN遙控器B靠在一起,同時地點(diǎn)擊各自的觸聯(lián)按鍵,啟動克隆過程,該過程大概持續(xù)25 s。遙控器中采用了蜂鳴器,所以克隆過程中,每1 s有一聲蜂鳴聲,相當(dāng)于克隆過程的進(jìn)度提示??寺⊥瓿珊?,網(wǎng)絡(luò)數(shù)據(jù)(120盞燈具的設(shè)備信息、分組設(shè)置等)就復(fù)制到遙控器B中;④重復(fù)操作,以遙控器A或B為母體,再克隆遙控器C和D。然后,就可以單獨(dú)(或同時)用遙控器A、B、C和D便捷地控制現(xiàn)場的所有燈具。
在該照明現(xiàn)場,中間過道照明場景和整個現(xiàn)場柔和照明場景,在圖4和圖5中給出。
圖3 照明現(xiàn)場部分燈具照片F(xiàn)ig.3 Photo of the lighting scene
圖4 中間過道照明場景圖Fig.4 Mid-passageway lighting scene
圖5 現(xiàn)場柔和照明場景Fig.5 Soft lighting scene
基于ZLL遙控器操控的ZLL燈控系統(tǒng),安裝配置簡單、貼合用戶的照明習(xí)慣和應(yīng)用需要、具有廣泛的互操作性。采用本文提出的單次觸聯(lián)策略,ZLL燈具添加入網(wǎng)變得很順暢;采用本文歸納的遙控器克隆基本條件以及提出的動態(tài)蘇醒時間策略,ZLL遙控器克隆成功率及工程實(shí)用性得到極大提高。我們希望本文的研究能推動ZLL燈控系統(tǒng)在室內(nèi)照明控制中的廣泛應(yīng)用。