藍牙嗅探功能設計探討
BLE(Bluetooth Low Energy)即低功耗藍牙技術,建立藍牙通訊,需要擁有“藍牙主機”和“藍牙從機”,一般情況下,藍牙從機以固定時間間隔,使用廣播包的形式發送數據,廣播包中可包含的參數有物理地址、功率、波特率等等。藍牙主機掃描發現從機設備廣播后發起藍牙連接,廣播設備隨即停止廣播,并接收連接請求。藍牙主機通常情況下,掃描周邊廣播設備,并主動向廣播設備發起藍牙連接。連接建立后,藍牙主機、從機設備就可以進行數據收發。
通常藍牙設備實現數據交換都是建立在藍牙連接的狀況下,因為藍牙連接成功后,通訊過程是雙向的,即主機可以發送數據到從機,從機可同時發送數據到主機,實現了全雙工的通訊,且藍牙底層能保障數據的有效性和穩定性。但是由于藍牙連接過程比較復雜、連接時間相對較長,導致系統功耗偏高。尤其是在藍牙標簽等低功耗穿戴設備應用中,功耗影響極其重要,而通常情況下標簽通訊只需要實現單向傳輸,即標簽周期發送數據到藍牙主機,主機不用回復數據,且數據傳輸量極小,通常10個字節以內。
所以類似藍牙標簽一類的應用場景中,通常系統功耗要求低,數據通訊量小的特點,不適合采用藍牙連接的方式通訊。而藍牙從機的廣播機制采用了周期廣播發送機制,整機功耗可以控制在很低的范圍(1秒廣播一次,平均功耗約30uA),且廣播信息支持最多攜帶16字節用戶數據。作為接收端的主機設備則需要動態抓取“廣播數據包”,即廣播“嗅探”模式,該模式下主機僅僅實現廣播數據監聽,并提取其中的有效用戶數據,包括MAC地址、信號強度RSSI、用戶自定義數據字段等。
信馳達科技的RF-BM-4044B2產品支持藍牙主從模式,利用主從一體特性,可實現多級拓撲網絡結構,從機模式既可接收數據,也可隨后發送數據,平均功耗可控制在+10uA左右。主機模式下支持廣播抓包,可通過串口打印輸出廣播MAC地址和RSSI,非常適合低功耗數據采集場景。