esp樂鑫官網低功耗藍牙芯片bluetooth藍牙連接過程,藍牙先需要通過廣播或掃描發現周圍設備,其次創建連接,組建網絡傳輸數據。
1.從機端廣播
在大部分情況下,外圍設備(Peripheral,從機)通過廣播自己來讓中心設備(Central,主機)發現自己,并建立GATT蓮在而進行更多的消息交換。也有些情況是不需要連接的需要外圍設備(外設》廣播自己的信息即可,用這種方式的主要目的是讓外設把自己的消息發送給多個中心設備。從機(外設)要被主機連接,那么它就必須先被主機發現。這個時候,esp樂鑫官網低功耗藍牙芯片bluetooth從機把自身消息以廣播形式發送給多個中心設備。例如,從機需要先進行廣播,不斷發送廣播包,t為廣播間隔。每發送一次廣播包,我們稱其為一次廣播事件 (Advertising Event),因此t也稱為廣播事件間隔。廣播事件是一陣一陣的,每次廣播事件都會持續一段時間,藍牙芯片只有在廣播事件期間打開射頻模塊發送廣播包,這時的功耗比較高;其余時間藍牙芯片都處于空閑待機狀態,平均功耗非常低。當廣播事件時,每一個事件包含3 個廣播包,分別在 37、38、39 這三個信道上同時廣播相同的消息。
2.主機端掃描
掃描是一個在一定范圍內用來尋址其他低功耗藍牙設備廣播的過程,掃描者在掃描過程中會使用廣播信道。與廣播過程不同的是,掃描過程沒有嚴格的時間定義和信道規則,掃描過程應該按照主機設定的掃描定時參數進行。
(1)被動掃描。在被動掃描中,掃描者僅僅監聽廣播包,而不向廣播者發送任何數據。一旦設置好掃描參數,主機就可以在協議棧中發送命令啟動掃描。在掃描過程中,如果控制器接收到符合過濾策略或其他規則的廣播包,則向主機發送一個報告事件。報告事件除了包括廣播者的設備地址,還包括廣播包中的數據,以及接收廣播包時的信號接收強度。開發者可以利用信號接收強度以及廣播包中的發射功率,共同確定信號的路徑損失,從而給出大致的范圍,該方面的典型應用就是防丟器和藍牙定位。
(2)主動掃描。在主動掃描中,esp樂鑫官網低功耗藍牙芯片bluetooth主機不僅可以捕獲到從機發送的廣播包,還可以捕獲掃描響應包,并區分廣播包和掃描響應包??刂破魇盏綊呙钄祿髮⑾蛑鳈C發送一個報告事件,該報告事件包括了鏈路層數據包的廣播類型,因此主機能夠判斷從機是否可以連接或掃描,并區分廣播包和掃描響應包。
3.主機端連接
(1)外設開始廣播,發送完一個廣播包后的T_IFS內 (Iter Frame Space,同一信道上連續傳輸包之間的時間間隔),開啟射頻窗口接收來自中心設備的數據包。
(2)中心沒備掃播到廣播,在接收此廣播的 T_FS 后如果開自了中心設備的掃播回復,則中心設備將向外設發送回復。
(3)外設收到中心設備的回復后,做好接收準備并返回 ACK 包。
(4)如果ACK 包未被中心設備接收到,則中心設備將一直發送回復直到超時為止,此期間內只要外設返回過一次 ACK 包就算連接成功。
(5)開始建立通信,esp樂鑫官網低功耗藍牙芯片bluetooth后續中心設備將以接收到外設廣播的時間為原點,以連接間隔(ConNection Interval)為周期向外設發送數據包,數據包具有兩個作用: 同步兩個設備的時鐘和建立模式的通信,其過程如下:
1)外設每收到中心設備發送的一個數據包,就會重新設置自己的時序原點,以便與中心設備同步 (Service 向 Client 同步)。
2)低功耗藍牙通信在建立成功后變為主從模式,中心設備變為主機,外設變為從機,esp樂鑫官網低功耗藍牙芯片bluetooth從機能在主機向它發送了一個數據包后才能在規定的時間內把自己的數據回傳給主機。
3)連接建立成功。
4)外設自動停止廣播,其他設備無法再查找到該外設。
5)在中心設備發送數據包的間隔內,外設可以發送多個廣播包。
在需要斷開連接時,只需要中心設備停止連接(停止發送數據包)即可。中心設備可以將外設的MAC 地址寫入 Flash或 SRAM 等存儲器件,保持監聽此 MAC 地址,當再次收到外送的廣播包時就可以建立通信。esp樂鑫官網低功耗藍牙芯片bluetooth從機為了省電,當一段時間內沒有數據要發送時,可以不再發送廣播包,雙方就會因為連接超時(Connection Timeout)而斷開,這時需要中心設備啟動監聽,這樣當從機需要發送數據時,就可以再次進行連接。