今年CES展隨處可見CES is blue and thanks to you,生日快樂,藍牙。
新年伊始,在此祝大家新年快樂。
業(yè)精于勤荒于嬉,行成于思毀于隨...。把這句話分享給大家和自己,18年擼起袖子加油干,幸福都是奮斗出來的。
-------------------------------------------------------------------------------------------------------
前面談完了藍牙5大數(shù)據(jù)傳輸,遠距離傳輸,還剩最后也是很重要的一個特性,藍牙5大廣播包數(shù)據(jù)。
首先我們來科普一下何為藍牙的廣播包,以及它的用途。
藍牙廣播
藍牙從機設備正常工作時會以一定頻率發(fā)送廣播包,告知周圍設備可以來連接自己(connectable),或者單純發(fā)送廣播數(shù)據(jù)(non-connectable)給到周圍主設備。從機廣播中可能包含設備的相關信息,設備名稱,設備具有的服務uuid 等,SIG有明確規(guī)定。
廣播包類型
廣播包可以拆分為兩種,一種是從機設備的廣播的數(shù)據(jù),一種是主機設備掃描到從機的廣播包后響應返回給沖擊設備的數(shù)據(jù)。
廣播包 (Advertising Data):設備端主動發(fā)送的周期數(shù)據(jù)。
響應包 (Scan Response):主機主動掃描的情況下, 發(fā)送掃描請求給從機, 從機返回掃描響應數(shù)據(jù)。
廣播數(shù)據(jù)包格
有效數(shù)據(jù)(significant)和無效數(shù)據(jù)(non-significant)兩部分。
有效數(shù)據(jù)部分包含若干個廣播數(shù)據(jù)單元,稱為 AD Structure 。如圖所示,AD Structure 的組成是:
長度 Len ,表示這個 AD Structure 的長度(除去 len本身 1)
類型 AD Type
標記這段廣播數(shù)據(jù)代表什么, 比如設備名, uuid 等。
數(shù)據(jù) AD data
無效數(shù)據(jù)部分廣播包的長度必須是 31 個 byte,如果有效數(shù)據(jù)部分不到 31 自己,剩下的就用 0 補全。這部分的數(shù)據(jù)是無效的。
我們以一個例子說明廣播包和他的作用:
下圖為CC2540 BLE抓包工具抓包的截圖,右邊AdvData內的數(shù)據(jù)即為廣播數(shù)據(jù),該廣播數(shù)據(jù)由工程師自己設計,最大支持的字節(jié)為31個直接,兩橫條之間Time的差值即為廣播間隔。
通常情況,廣播包的作用如下:
作為可連接設備時,廣播包內帶有產(chǎn)品信息,比如品牌logo,MAC地址等.
作為beacon設備時,可能攜帶傳感器數(shù)據(jù)上報給集中器,可以攜帶beacon編號信息,MAC地址,特殊編碼數(shù)據(jù)。
作為可連接設備的廣播,藍牙4.2和藍牙5.0并無太多差異。
但對應Beacon應用來說,廣播數(shù)據(jù)和可傳輸?shù)臄?shù)據(jù)長度就顯得尤為重要。beacon廣播結合Scan端集中器(Broadcaster and Observer)可以用于智能家具節(jié)點數(shù)據(jù)上報,工廠自動化設備數(shù)據(jù)上傳,人員管控,冷鏈物流監(jiān)控,特殊區(qū)域布防等多種應用場景;beacon廣播結合地圖亦可以作為室內導航定位的輔助工具,為室內定位提供良好的解決方案(目前已經(jīng)相繼出現(xiàn)好幾家機場,醫(yī)院,商城實現(xiàn)手機室內導航,其原理即依靠大量布置beacon點和手機地圖匹配,利用手機掃描周圍beacon廣播信息,實現(xiàn)定位與導航,但定位精度存在偏差,不如UWB精度高)。
BLE的低功耗紐扣電池供電特性,小體積,可以和手機互聯(lián)互通,使得beacon在上述應用呈爆發(fā)式增長。但其中會存在一個棘手的問題,31字節(jié)的廣播包太短,每次廣播能攜帶的有效數(shù)據(jù)太少,另外廣播通道太少,只有37,38,39三個通道廣播,可能存在多設備上報數(shù)據(jù)信道的干擾問題。
藍牙5擴展了廣播數(shù)據(jù)的有效載荷,提升了廣播通道數(shù),為上述應用和新的應用提供了更多技術儲備。下面我們就來看看藍牙5的8x 大廣播包。
藍牙5特性三 【8X 大廣播包】
藍牙4.x協(xié)議規(guī)定藍牙廣播數(shù)據(jù)包每包數(shù)據(jù)最大只支持31字節(jié)數(shù)據(jù)傳輸,廣播信道限制在37,38,39三個信道。在原有的用于傳輸廣播數(shù)據(jù)的PDU(ADV_IND、ADV_DIRECT_IND、ADV_NONCONN_IND以及ADV_SCAN_IND,稱作legacy PDUs)的基礎上,藍牙5增加了擴展的PDU(ADV_EXT_IND、AUX_ADV_IND、AUX_SYNC_IND以及AUX_CHAIN_IND,稱作extended advertising PDUs),同時也允許藍牙在除開37,38,39三個通道之外的其他37個信道上發(fā)送長度介于0-255字節(jié)的數(shù)據(jù)。
藍牙5.0把廣播信道抽象為兩類,一種叫主廣播信道(primary advertisement channels),另一種叫次廣播信道,或者第二廣播信道(Secondary Advertising Packets)。
主廣播信道只工作在37,38,39三個信道,最大廣播字節(jié)為31字節(jié),廣播的數(shù)據(jù)類型增加了一個ADV_EXT_IND指令,ADV_EXT_IND指令即為告知監(jiān)聽設備,我要廣播大數(shù)據(jù)包廣播了。
ADV_EXT_IND指令包含要在第二類次廣播信道上發(fā)送的內容,第二廣播信道發(fā)送廣播數(shù)據(jù)的信道,物理PHY層,1M PHY,Coded PHY,2M PHY 等。
其示意如下圖所示,首先在主廣播信道廣播ADV_EXT_IND信息,然后利用次廣播信道(0-36 channel)廣播255byte 數(shù)據(jù)。
如果我們有大于255字節(jié)的數(shù)據(jù)需要發(fā)送,藍牙5.0廣播協(xié)議棧中已經(jīng)定義了AUX_CHAIN_IND,用于在第二廣播信道上連續(xù)傳輸255字節(jié)數(shù)據(jù),這樣我們可以利用它發(fā)送超過255字節(jié)的大數(shù)據(jù)包數(shù)據(jù)。
第二廣播信道(Secondary Advertising Packets)中的 AUX_ADV_IND、以及AUX_CHAIN_IND已經(jīng)介紹,下面再看看AUX_SYNC_IND指令。
AUX_SYNC_IND指令用于大廣播包數(shù)據(jù)的周期發(fā)送,廣播者可隨時修改其廣播數(shù)據(jù),但其他監(jiān)聽者依然可以監(jiān)聽到其周期性的廣播內容,AUX_SYNC_IND指令包含廣播間隔,調頻序列,廣播數(shù)據(jù),廣播者MAC地址等信息。
結論:
藍牙4.2的廣播數(shù)據(jù)31字節(jié),藍牙5.0的廣播數(shù)據(jù)255字節(jié),提升了8倍之多,由于使用了更多的廣播信道,多個設備上報數(shù)據(jù)的抗信道干擾能力得到提升,另外由于多信道的使用,可以同步廣播多種不同制式的信息,比如同時廣播ibeacon和eddstone。結合藍牙5 long range mode遠距離傳輸模式,藍牙的遠距離beacon可以用在冷鏈物流,gps追蹤器,工業(yè)自動化等在之前距離和數(shù)據(jù)吞吐量受限的場合,藍牙5.0給我們更多創(chuàng)新的可能。
-
大數(shù)據(jù)
+關注
關注
64文章
8908瀏覽量
137730 -
Beacon技術
+關注
關注
0文章
6瀏覽量
6275
發(fā)布評論請先 登錄
相關推薦
評論