在之前的一篇文章“ZigBee無線自組網(wǎng)技術(shù)為什么沒有取得預(yù)期的成功呢”中,我們提到了ZigBee無線自組網(wǎng)技術(shù)存在一定的使用局限性,并沒有取得預(yù)期的成功。由于其獲得了幾乎所有的國際半導(dǎo)體巨頭的鼎力支持,其鋪天蓋地的廣告宣傳則教育了市場和用戶,讓人們充分的認識到了自組網(wǎng)技術(shù)的巨大的潛力,投入到自組網(wǎng)技術(shù)的研發(fā)的企業(yè)也越來越多,但是有一個基本的問題需要搞明白,不是ZigBee無線自組網(wǎng)的技術(shù)實現(xiàn)(源代碼設(shè)計)本身出現(xiàn)了什么問題,而是ZigBee無線自組網(wǎng)所規(guī)劃的技術(shù)范圍不夠太,導(dǎo)致有很多的應(yīng)用無法收錄。換句話說,如果你沿著ZigBee無線自組網(wǎng)的技術(shù)規(guī)范去設(shè)計源代碼,設(shè)計出來的網(wǎng)絡(luò)的性能可能還不如現(xiàn)有的產(chǎn)品的性能呢。
這么說來,我們需要重新審視一下無線自組網(wǎng)技術(shù)的應(yīng)用邊界么?是的,我的確這么認為,至少在亞太地區(qū)的某些發(fā)展中國家是如此的。
在所有的無線應(yīng)用中,有幾個非常關(guān)鍵的因素需要引起特別的關(guān)注
第一、無線通訊的距離 這個問題在絕大多數(shù)情況下是由于硬件芯片所決定的,和組網(wǎng)協(xié)議本身關(guān)系不大,試想一個通過多跳構(gòu)建的網(wǎng)絡(luò)覆蓋半徑也只有區(qū)區(qū)百十來米,實在是讓人難以接受的。
第二、無線通訊的可靠性 這個問題往往比第一個問題更具有迷惑性,更容易讓人產(chǎn)生被坑被騙的感覺,為什么這么說呢。因為通訊距離很容易測出來,只需要一收一發(fā)兩個節(jié)點,幾分鐘之內(nèi)就可以測試出來該系統(tǒng)的通訊能力了,但是可靠性的測試則要復(fù)雜得多,經(jīng)常出現(xiàn)下面的情況:
l 三五個節(jié)點做成的demo系統(tǒng)非常可靠,批量組網(wǎng)的幾十個,數(shù)百個節(jié)點就不穩(wěn)定了
l 幾十個節(jié)點在通訊量不大的時候還比較穩(wěn)定,但是通訊頻繁收發(fā)的時候就不穩(wěn)定了
l 網(wǎng)絡(luò)短時間運行還算穩(wěn)定,長時間運行就容易崩潰而無法恢復(fù),形成僵尸網(wǎng)絡(luò)
所以可靠傳輸是無線的最基本的出發(fā)點。如果一個系統(tǒng)有時候可以傳輸數(shù)據(jù),有時候又不太靈光,那么這款產(chǎn)品就不可能獲得很好的推廣。為什么這么講呢?因為大家誰也不知道你什么時候OK,什么時候又突然就掛掉了。不過在一種情況下大家是可以接收的,那就是你可以明確的指出來,什么情況下我是OK的,什么情況下我是靠不住的。大家使用歐美的產(chǎn)品經(jīng)常有一個印象,某個地方的設(shè)計很難看,很難用,但是你只要按照他的步驟去搞,雖然很別扭,但是得到的結(jié)果竟然一致性很好,要么總是對的,要么總是錯的。
無線產(chǎn)品的通訊可靠性有的時候和距離是有關(guān)系的,比如通訊距離很遠的時候,信號本身就發(fā)飄很不穩(wěn)定,這種情況下的網(wǎng)絡(luò)不穩(wěn)定人們通常是可以接受的,好比在高速行駛的列車上或者很深的地下室里打電話容易掉線,但很少有人去對電信運行商破口大罵,這就好比人多交通擁堵一樣,大家可以忍受慢慢騰騰往前挪,但是無法忍受跑的飛快卻出了車禍。
在通訊可靠性之外,人們不難發(fā)現(xiàn),無線組網(wǎng)技術(shù)其實有4 X 3 = 12個維度,而某些通訊期數(shù)僅僅支持其中的少數(shù)幾個維度,具體如下:
1. 無線傳感網(wǎng)和無線傳輸網(wǎng)的差別
無線傳感網(wǎng)基本上是上行為主的網(wǎng)絡(luò),數(shù)據(jù)只有垂直向上的流動,節(jié)點發(fā)送密度很低,數(shù)據(jù)類型單一,數(shù)據(jù)報文較小,可靠性要求較低,丟了一個數(shù)據(jù)多發(fā)送幾次,只要一次有效就夠了。但是無線傳輸網(wǎng)則不一樣,通訊非常的頻繁,報文多種多樣(語音,數(shù)據(jù),GPS,命令,診斷等),數(shù)據(jù)有在網(wǎng)絡(luò)內(nèi)部有橫向流動,有的時候有組播,單播甚至全網(wǎng)廣播,數(shù)據(jù)可靠性要求很高,不能有錯數(shù)據(jù),重數(shù)據(jù),或者漏數(shù)據(jù),報文長度變化不定,有的時候幾十個字節(jié),有的時候幾百個字節(jié)甚至上千個字節(jié),有的時候則是持續(xù)不斷的數(shù)據(jù)流。比方說一款儀表,平時一天上報一次數(shù)據(jù)也就是幾十個字節(jié),但是到了一個月的時候需要做匯總,上報的數(shù)據(jù)就達到好幾K字節(jié)。這就是介于無線傳感網(wǎng)和無線傳輸網(wǎng)之間的一種混合模型了。
2.
無線局域網(wǎng)和無線廣域網(wǎng)的差別
通常而言,無線廣域網(wǎng)指的就是節(jié)點數(shù)據(jù)比較多,超過了255個節(jié)點的網(wǎng)絡(luò),無線局域網(wǎng)就是255個節(jié)點以下的網(wǎng)絡(luò),當然這是一種比較寬泛的定義,具體到實際的應(yīng)用中比較好理解。無線廣域網(wǎng)比較典型的應(yīng)用就是無線超表,雖然實際中的節(jié)點數(shù)量可能達不到255個,但是至少從模型上要考慮到1024個節(jié)點的技術(shù)架構(gòu)了;而無線點菜機則是無線局域網(wǎng)的典型應(yīng)用之一。這兩者之間到底有什么差異和共性呢?通常人們的理解是無線廣域網(wǎng)因為節(jié)點數(shù)量多,數(shù)據(jù)傳輸可以慢一點,效率可以低一點,哪怕你一天一次確保成功了也是可以接受的,但是無線局域網(wǎng)則要求你非常的快速,一秒鐘怎么也得支持10個設(shè)備通訊一次,這就是非常明顯的效率上的差異。當然如果你能將二者統(tǒng)一起來則更好了。
3. 靜態(tài)網(wǎng)和動態(tài)網(wǎng)的差別
很明顯,靜態(tài)網(wǎng)絡(luò)就是網(wǎng)絡(luò)內(nèi)部的所有的節(jié)點都是靜止不動的,無線抄表就是這種應(yīng)用;動態(tài)網(wǎng)絡(luò)就是網(wǎng)絡(luò)內(nèi)的所有的節(jié)點都在動態(tài)變化之中,車聯(lián)網(wǎng)(車載的電臺聯(lián)網(wǎng))就是屬于這種網(wǎng)絡(luò)。另外還有一種就是屬于半移動的網(wǎng)絡(luò),顧名思義,半移動就是基站和中繼不動,從站在移動,點菜機和我們的手機都是屬于這種網(wǎng)絡(luò)。
4. 常電網(wǎng)絡(luò)和休眠網(wǎng)絡(luò)的差別
在無線的應(yīng)用中,設(shè)備電力供應(yīng)充足,有220V的市電或者充足的大電池供應(yīng)的網(wǎng)絡(luò)都可以稱之為常電網(wǎng)絡(luò),這樣的網(wǎng)絡(luò)不用考慮休眠和節(jié)能的問題。主動喚醒的網(wǎng)絡(luò)通常是電池供應(yīng)的網(wǎng)絡(luò),在GPIO或者定時器的觸發(fā)下醒來并進行數(shù)據(jù)通訊;被動喚醒的網(wǎng)絡(luò)通常是電池或者受限制的市電(比如智能家居的單火線面板)供電。如果主站在需要和某個休眠中的節(jié)點進行通訊的時候,通常僅僅需要通過無線電磁波喚醒該節(jié)點即可,其余節(jié)點可以保持在睡眠狀態(tài)而不用白白浪費能量醒來或者造成其他不良的影響。
從上面的分析可以看出,無線自組網(wǎng)從應(yīng)用的形態(tài)上來講,至少有四個大類,每一個大類中至少有三個分支,也就是說至少有12種網(wǎng)絡(luò)形態(tài)。目前市面上大多數(shù)的無線自組網(wǎng)協(xié)議,即便是大名鼎鼎的ZigBee無線自組網(wǎng)也僅僅只支持了其中的少數(shù)幾個分支,還有大量的特性沒有標準化到協(xié)議棧中來,也難怪用戶用起來總是不太稱手,但是話又說回來,如果將上述特性統(tǒng)統(tǒng)都支持起來,這個協(xié)議棧該有多么龐大呢?現(xiàn)有的ZigBee無線自組網(wǎng)協(xié)議棧已經(jīng)非常的龐大臃腫,廣受用戶詬病了,再進一步擴充下去的得需要多大Flash和SRAM的單片呀,成本又怎么控制呢?
想當初ZigBee無線自組網(wǎng)剛剛誕生的時候,它認為自己發(fā)現(xiàn)了一個被Wi-Fi和藍牙“啃”剩下的潛力無比巨大市場而興奮不已,沒想到若干年過去了,人們才發(fā)現(xiàn)竟然存在一個被ZigBee無線自組網(wǎng)“啃”剩下的更大的市場在等著大家,不過這一次你確信你是真的興奮不已么?