本文的設計的問題:
-
理解BLE Tx和Rx的方式
1. 廣播階段BLE設備的交互流程
還是以Heart Rate Sensor和手機間的交互為例,如下所所示:

2. 廣播階段的Tx和Rx交互方式

藍色線表示Adv Interval,綠色表示Adv Event。
Heart Rate Sensor以Adv interval為間隔周期性的發送廣播數據:
Adv interval = sleep + adv event
因此,只有在Adv Event期間才會有數據發送,其余時間都是sleep時間,
當手機收到廣播時,會發送掃描請求,Heart Rate Sensor在收到掃描請求后會回應掃描回應數據,手機進而可以通過掃描回應獲取更多的關於設備的信息,進而,設備可以發起連接,
可以看到,在sleep期間,是不發送數據,有沒有數據交互,只有event時間內完成數據發送或者接收。
Adv Interval和Adv Event的基本概念將在下章介紹。
對應的PDU抓包數據如下(下章將詳細展開):


3. 連接-數據交互-連接斷開的流程

一旦建立連接以后,手機和Heart rate sensor將會切換到數據通道上通信,兩個設備會在相等的連接間隔之間交換數據,兩者之間采用server和client模式,手機可以從Heart rate sensor讀取或者寫數據,Heart rate sensor有數據更新時可以通知給手機,不需要通信時,雙方斷開連接。
4. 數據通道上的Tx,Rx傳輸方式

建立連接后,並且以connection interval的間隔來交互數據,雙方的數據都在connection event的時間內交互,當應用層數據多時,connection event就長些,即使沒有應用層數據,鏈路層也會以connection interval間隔來交換空包。
抓包如下:



將在后面章節對該流程進行解析。
更多更新關注微信公眾號:

