BLE 廣播格式定義

@(嵌入式)[藍(lán)牙]

低功耗藍(lán)牙兩類報文 : 廣播報文 和 數(shù)據(jù)報文厦取。
本文討論廣播報文數(shù)據(jù)段,不包括完整報文其他部分医增,比如前導(dǎo),接入地址等

藍(lán)牙設(shè)備通過廣播表明自己的存在老虫,等待被連接叶骨, 就好象一個人站在接口大喊“我要脫單,我要脫單祈匙,快來牽手...”忽刽。
BLE 考慮功耗, 使用了3個廣播信道夺欲,順序廣播跪帝。

兩個藍(lán)牙設(shè)備想要建立連接, 第一步是 從機(server) 向外廣播些阅, 主機(client) 搜索到后發(fā)起請求伞剑。 從機廣播中包含設(shè)備的相關(guān)信息,比如設(shè)備名稱市埋,設(shè)備具有的服務(wù)uuid 等黎泣。

廣播包類型

  • 廣播包 (Advertising Data)
  • 響應(yīng)包 (Scan Response)
    主機主動掃描的情況下, 發(fā)送掃描請求給從機缤谎, 從機返回掃描響應(yīng)數(shù)據(jù)抒倚。

廣播數(shù)據(jù)包格式

7f223bf9-4d85-4e25-917d-222fb063b540.png

每個包都是 31 字節(jié),數(shù)據(jù)包中分為有效數(shù)據(jù)(significant)和無效數(shù)據(jù)(non-significant)兩部分弓千。

  • 有效數(shù)據(jù)部分
    包含若干個廣播數(shù)據(jù)單元衡便,稱為 AD Structure 。如圖所示洋访,AD Structure 的組成是:

    • 長度 Len 镣陕,表示這個 AD Structure 的長度(除去 len本身 1)
    • 類型 AD Type
      標(biāo)記這段廣播數(shù)據(jù)代表什么, 比如設(shè)備名姻政, uuid 等呆抑。
    • 數(shù)據(jù) AD data
  • 無效數(shù)據(jù)部分
    廣播包的長度必須是 31 個 byte,如果有效數(shù)據(jù)部分不到 31 自己汁展,剩下的就用 0 補全鹊碍。這部分的數(shù)據(jù)是無效的。

Flags

對于低功耗藍(lán)牙設(shè)備食绿, 廣播中需要包括的一個 Structure侈咕, 包含一個byte 的標(biāo)記, 標(biāo)記設(shè)備
Flags used over the LE physical channel are:

  • Limited Discoverable Mode
  • General Discoverable Mode
  • BR/EDR Not Supported
  • Simultaneous LE and BR/EDR to Same Device Capable (Controller)
  • Simultaneous LE and BR/EDR to Same Device Capable (Host)

廣播設(shè)備的服務(wù)uuid

假如藍(lán)牙設(shè)備有心率等profile器紧, 可以在廣播中添加那對應(yīng)的服務(wù)uuid 耀销,這樣其他設(shè)備可以通過廣播直接了解設(shè)備具備的功能。
GAP 和 GATT 服務(wù)的 UUID 不應(yīng)該出現(xiàn)在廣播中铲汪, 這對于每個設(shè)備都是具有的熊尉。
廣播中包含服務(wù)uuid 包括六種類型, 對應(yīng)不同程度 uuid 和列表完整性(complete 和 incomplete)

  • 16-bit Bluetooth Service UUIDs
  • 32-bit Bluetooth Service UUIDs
  • Global 128-bit Service UUIDs

complete 和 incomplete 的區(qū)別

比如罐柳, 我設(shè)備有兩個服務(wù)對應(yīng)的 16 bit uuid 分別是 0x1122 和 0x 2233。

  • 如果我只想廣播其中一個
value note
0x03 len
0x02 Incomplete List of 16-bit Service Class UUIDs
0x22 uuid_L
0x11 uuid_H
  • 如果我兩個都廣播
value note
0x05 len
0x03 Complete List of 16-bit Service Class UUIDs
0x22 uuid1_L
0x11 uuid1_H
0x22 uuid2_L
0x33 uuid2_H

廣播中的廠商信息

這個一段的廣播標(biāo)記時 0XFF狰住, 對應(yīng)用于標(biāo)記設(shè)備的生產(chǎn)商和其他信息张吉。
數(shù)據(jù)前兩個字節(jié)時廠商ID, 其他自定義催植。

具體其他廣播數(shù)據(jù)段類型詳見 參考肮蛹。

官方提供例子

Value Notes
0x02 Length of this Data
0x01 Flags
0x06 廣播標(biāo)記頭
0x06 Length of this Data
0x09 Complete Local Name
0x50 'P'
0x68 'h'
0x6F 'o'
0x6E 'n'
0x65 'e'
0x05 Length of this Data
0x03 Complete list of 16-bit Service UUIDs, 列出所有服務(wù)uuid 查邢,否則使用imcomplete
0x15 PANU service class UUID
0x11
0x1F Hands-free Audio Gateway service class UUID
0x11
0x01 Length of this data
0x05 Complete list of 32-bit Service UUIDs
0x01 Length of this data
0x07 Complete list of 128-bit Service UUIDs
0x00 End of Data (Not transmitted over the air)

參考

Bluetooth SIG - 增補文檔
Bluetooth SIG - 廣播類型定義

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蔗崎,一起剝皮案震驚了整個濱河市酵幕,隨后出現(xiàn)的幾起案子扰藕,更是在濱河造成了極大的恐慌,老刑警劉巖芳撒,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件邓深,死亡現(xiàn)場離奇詭異,居然都是意外死亡笔刹,警方通過查閱死者的電腦和手機芥备,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來舌菜,“玉大人萌壳,你說我怎么就攤上這事∪赵拢” “怎么了袱瓮?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長爱咬。 經(jīng)常有香客問我尺借,道長,這世上最難降的妖魔是什么精拟? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任燎斩,我火速辦了婚禮,結(jié)果婚禮上蜂绎,老公的妹妹穿的比我還像新娘栅表。我一直安慰自己,他們只是感情好师枣,可當(dāng)我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布怪瓶。 她就那樣靜靜地躺著,像睡著了一般坛吁。 火紅的嫁衣襯著肌膚如雪劳殖。 梳的紋絲不亂的頭發(fā)上铐尚,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天,我揣著相機與錄音哆姻,去河邊找鬼宣增。 笑死,一個胖子當(dāng)著我的面吹牛矛缨,可吹牛的內(nèi)容都是我干的爹脾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼箕昭,長吁一口氣:“原來是場噩夢啊……” “哼灵妨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起落竹,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤泌霍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后述召,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體朱转,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年积暖,在試婚紗的時候發(fā)現(xiàn)自己被綠了藤为。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡夺刑,死狀恐怖缅疟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情遍愿,我是刑警寧澤存淫,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站错览,受9級特大地震影響纫雁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜倾哺,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一轧邪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧羞海,春花似錦忌愚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春简十,著一層夾襖步出監(jiān)牢的瞬間檬某,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工螟蝙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留恢恼,地道東北人。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓胰默,卻偏偏與公主長得像场斑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子牵署,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容