藍牙學習筆記三(Android Debug)

android 端能夠經過兩種方式去Debug:

 

1、在手機的設置功能裏,開發者模式 Enable,以下圖:
 
而後在手機的根目錄下有一個名相似叫:btsnoop_hci.log 的日誌.
經過工具 Wireshark 查看日誌:
host對應的是主機, controller對應的是控制器。
 
Android端查看藍牙日誌:
日誌數據的分析:
 
 
2、經過Packet Sniffer 工具抓包分析:
須要購買一個抓包神器,低功耗BLE CC2540 USB Dongle,經過它來抓包.
 
抓包後的數據:
對應標識的解釋以下:
Field #
Source
Explanation
Core spec chapter
1
Sniffer
Packet number as logged by the sniffer
 
2
Capture device
Time in microseconds since last packet was received and absolute time
 
3
Capture device
Radio channel data was captured on
6.B.1.4.1
4
Air
Bluetooth spec specified address for advertising and scan response
6.B.2.1.2
5
Air
Type of advertisement packet
6.B.2.3
6
Air
Header
6.B.2.3
7
Air
Advertiser IEEE address
6.B.2.3
8
Air
Advertisement data. In this example it's capabilities and three UUIDs the device provides.
6.B.2.3 / 3.C.11 / 3.C.18.1
9
Air
Precalculated CRC checksum
6.B.2.1.4
10
Capture device
Received signal strength indicator.
 
11
Capture device
Field Control Sequence. If OK, the checksum is correct
 
The advertisement fields are further explained in 6.B.2.3 on page 2202 of the BT core spec.
 
5 是廣播報文的類型,共7種:
一、ADV_IND——通用廣播指示
二、ADV_DIRECT_IND—— 定向鏈接指示
三、ADV_NONCONN_IND—— 不可鏈接指示
四、ADV_SCAN_IND——可掃描指示
五、SCAN_REQ——主動掃描請求
六、SCAN_RSP——主動掃描響應
七、COMNNECT_REQ——鏈接請求
 
廣播報文,接入地址爲固定值:0x8E89BED6
 
報文結構:
 8               32                    8             8         0~296                  24                  比特
前導
接入地址
報頭
長度
數據
循環冗餘校驗
 
 
 
 
 
廣播報文的長度域:6~37
數據報文的長度域:0~31
這二者的區別在於:廣播報文須要加上 6個字節的廣播地址
 
發起鏈接的抓包狀況:
 
藍牙規範 Bluetooth 4.0 Core Specification [2] Volume 6, Part B, chapters 2.1, 2.3 and 2.4.
TI 官網有關於sniffer 抓包分析的資料
 
 
debug總結:
相關文章
相關標籤/搜索