新年新氣象!從今天起,Dr.Bee將少談些概念,多講點技術。智能家居技術、解決方案也是魔蜂的看家本領。
每一篇我們都嘗試就一個問題展開討論,希望對技術感興趣的朋友們可以固定每周一進來逛逛,并有所收獲。
在開始聊技術前,我們暫且做個假設——我們未來所使用的智能家居系統(tǒng)是由很多傳感器、開關裝置和中央監(jiān)控系統(tǒng)組成的,這些器件互相之間協(xié)作完成對家居“智能化”的支持。
在現(xiàn)階段,我們所開發(fā)和使用的echo系統(tǒng)已經(jīng)加入了IFTTT的一些做法,但是應該說,我們還處在“家居自動化”發(fā)展階段。我們目前所努力做的一個重要方面,還是在不斷完善人機交互的控制與反饋以及build-up connection。當越來越多connected home系統(tǒng)能夠穩(wěn)定運行時,智能化的實現(xiàn)才會真正到來。
言歸正傳,今天我們就先來談一下connection的問題。
connection是一個比較偏通信方面的問題,不過這個問題在產(chǎn)品開發(fā)和謀劃未來市場時都應該被考慮到。目前用于家居系統(tǒng)的通信協(xié)議很多,ZigBee、Z-Wave、WiFi、Bluetooth、6LoWPAN,當然也有很多其他自有協(xié)議。毋庸置疑,這些協(xié)議都有其各自的生存空間和適合其的應用場景。相關詳盡的介紹或針對這些技術進行比較的文章,網(wǎng)上比比皆是,在這里我們就不一一贅述了。按照目前的發(fā)展,Dr.Bee認為,ZigBee技術會在一段時間內(nèi)占據(jù)比較大的優(yōu)勢,并在家居自動化領域得到較廣泛的應用。
ZigBee的低功耗和支持多節(jié)點等性質使其成為目前傳感器網(wǎng)絡中的佼佼者,雖然它所支持的數(shù)據(jù)率不高,傳輸距離上也有限,但是被用作以數(shù)據(jù)采集和監(jiān)控為目的的傳感器網(wǎng)絡已經(jīng)足夠了。當然使用ISM2.4G有利有弊,不過就目前發(fā)展看,人們暫時還沒有把它的“弊”放在首要考慮位置,同時ZigBee也支持gigahertz。
要形成一個ZigBee網(wǎng)絡,我們必須有一個Coordinator(協(xié)調器)。它的主要功能是形成一個網(wǎng)絡并且允許其他ZigBee節(jié)點加入網(wǎng)絡、分配網(wǎng)絡地址、調節(jié)地址沖突、協(xié)助其他加入設備進行cluster進配對等。在目前的家居系統(tǒng)中,這個協(xié)調器通常被放在Gateway(或者Universal Hub)中,這樣用戶或者Gateway的控制者可以遠程通過web api或者本地方式(使用按鈕)形成網(wǎng)絡、監(jiān)控網(wǎng)絡等。我們之前提到過德國電信Qivicon Hub就是這種形式,用戶可以通過登陸web應用形成家居系統(tǒng)并控制和使用系統(tǒng)內(nèi)的各種傳感設備、報警設備和開關設備等。
在形成網(wǎng)絡前,Coordinator通常會先掃描信道(2.4G channel11-26),目前為減少和WiFi之間的信道干擾,ZigBee推薦的家居自動化使用信道為(11,14,15,19,20,24,25)。在掃描時,Coordinator會記錄下被掃信道的噪聲情況并選擇掃描時噪聲最小的信道,并在上面形成網(wǎng)絡。
在網(wǎng)絡形成時,Coordinator會進行一系列的本地操作,比如確定PANID、Extended PANID等,其中很重要的是security設定,也就是我們通常所說的網(wǎng)絡密鑰。在ZigBee家居自動化協(xié)議中規(guī)定了固定密碼,這也就意味著所有經(jīng)過認證的產(chǎn)品都應該可以使用這一密碼加入一個ZigBee Home Automation(ZHA)網(wǎng)絡。這一密碼在1.0-1.2.1 協(xié)議中未曾變過。當然由于很多原因,一些未經(jīng)過認證的產(chǎn)品也通過某種渠道獲得這一密碼,那么其產(chǎn)品也可以加入到ZHA網(wǎng)絡中。
在網(wǎng)絡形成后,Coordinator通常需要打開網(wǎng)絡,在早期的ZigBee家居自動化中,Coordinator不可以永久性打開網(wǎng)絡,一般只可以開網(wǎng)60秒;而在修訂后的現(xiàn)行規(guī)范中,Coordinator在形成網(wǎng)絡后可以發(fā)送可加網(wǎng)命令廣播并打開網(wǎng)絡至少3分鐘。網(wǎng)絡打開后,用戶便可以嘗試把新的部件加入到網(wǎng)絡中了。
目前我們比較常見的ZigBee based傳感器在加網(wǎng)時也是通過發(fā)送beacon request對信道進行掃描,收集beacon,比較link cost,然后嘗試加入link cost在接受范圍內(nèi)的網(wǎng)絡(PAN)。這里就會出現(xiàn)一個問題:如果在一棟大廈里,剛好兩個Coordinator同時開啟了允許入網(wǎng)模式,如何能確保要加入的傳感器能夠準確加入自己的網(wǎng)絡?
在這個問題上,很多傳感器的設計者會選擇加入收到beacon能量比較強的的網(wǎng)絡,但如果一家用的是強功率天線,另外一家用的是一般天線,那豈不是兩個傳感器都會加入強功率天線的網(wǎng)絡?
Dr.Bee曾經(jīng)考慮過ZigBee Light Link的做法,感覺touch link雖好,但實際上應用場景也有限,不適于較大規(guī)模的組網(wǎng),更何況,如果考慮sleep end device 和child node的管理問題(之后我們會討論這個問題)情況會更復雜。
目前Dr.Bee認為,我們能做的還是在Coordinator端下功夫,當然使用非公共密鑰會是一種解決方案,但是未必最佳,因為會影響設備的通用性,目前協(xié)議HA1.3版本中有能看到使用install code的想法,但是終究這會不會是解決方案,尚是未知數(shù),因為如果引入install code的使用,ZHA有助于提高安全性和加網(wǎng)時的異網(wǎng)識別率,但是這將改變一直以來,ZHA簡單的密鑰交換方式。如果想保證向后兼容,實施難度暫且不談,成本肯定會提高,不利于ZHA發(fā)展,當然,目前再說ZHA有點落伍,ZigBee3.0才是其真名。
不考慮密鑰使用,那么只能在Coordinator段的應用層加入一定的判定機制,通過Coordinator本地屬性和加網(wǎng)設備屬性判定是否可以允許加入設備繼續(xù)停留在網(wǎng)上,否則應該使用網(wǎng)絡leave request強行驅逐加入設備。至于哪些屬性我們可以用來比較,Dr.Bee曾參與設計過幾種適合不同系統(tǒng)的機制,這些機制根據(jù)系統(tǒng)安全級別、網(wǎng)絡中節(jié)點構成、各節(jié)點間通信頻繁程度會略有不同,但是宗旨都是:使Coordinator能夠起到網(wǎng)絡管理員作用,時時監(jiān)管網(wǎng)絡。
(審核編輯: 智匯張瑜)
分享