您好,登錄后才能下訂單哦!
本篇文章為大家展示了藍牙GAP的接入規范是怎樣的,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
BLE協議棧的GAP層負責處理設備的接入方式和過程,包括設備發現,鏈路建立,鏈路終止,啟動安全功能,設備配置。
GAP層通常扮演以下四種角色中的一種:
廣播者 | 廣告發送者,不是可連接的設備 |
觀察者 | 掃描廣告,不能夠啟動連接 |
外圍設備 | 廣告發送者,是可連接的設備,在單一鏈路層連接時作為一個從機 |
中央設備 | 掃描廣告啟動連接,在單一或者多鏈路層連接時作為主機,支持三個同時連接 |
連接前,外圍設備需要先廣播,向中央設備通告自己的存在,主要有這幾個參數:
廣播間隔 | 單位0.625ms,廣播快,容易被中央設備發現,慢則省電. |
廣播持續時間 | 為了省電,可以廣播一段時間之后 |
在一個典型的藍牙系統中,外圍設備發送具體的廣告數據讓任何中央設備知道他是一個可連接的設備。廣告內容包含設備地址,還可以包含一些額外的額數據,比如設備名稱。中央設備接收到廣告后發送一個搜索請求給外圍設備,外圍設備答復一個搜索答復。這就是設備發現的過程,這樣中央設備就知道外圍設備是一個可連接的設備。中央設備可以發送一個建立連接的請求給外圍設備,一個連接情況包含一些連接參數:
連接間隔 | 在一個BLE連接中跳頻機制需要被使用,這樣兩個設備之間可以在一個特定的通道上進行數據收發,在一個特定的時間之后會跳到一個新的通道上,LL層負責通道切換。這個遇見設備收發數據被稱作是連接事件。盡管沒有應用程序數據需要收發,兩個設備之間仍然會交換鏈路層數據來保持連接。連接間隔是兩個連接事件之間的時間,使用一個單元值為1.25ms的步進。連接間隔從最小值6(7.5ms)到最大值3200(4.0s)。 不同的應用也許需要不同的連接間隔,一個長時間的連接間隔將會節約更多的能量,因為設備可以在兩個連接事件之間睡眠更長的時間。但是他會導致數據發送不及時,如果有數據要發送那么他只能夠在下一次連接事件到來時才能被發送。 |
從機潛伏周期 | 這個參數描述了從機跳過連接事件的次數。這使外圍設備具有一定的靈活性,如果它不具有任何數據傳送,它可以選擇跳過連接事件,并保持睡眠,從而提供了一些積蓄力量。這一決定取決于外圍設備。 |
監督超時 | 這是兩個成功的連接事件之間間隔的最大值。如果超過這個時間還未出現成功的連接事件,那么設備將會考慮失去連接,返回一個未連接狀態。這個參數值使用10ms的步進。監督超時時間從最小10(100ms)到最大3200(32.0s)。同時超時時間必須大于有效連接事件。 有效連接事件時間 = 連接間隔 X (1 + 從機延遲值) |
短連接間隔 | 高功耗,高數據吞吐量,發送等待時間短 |
長連接間隔 | 低功耗,低數據吞吐量,發送等待時間長 |
低或者0潛伏值 | 從機在沒有數據發送的情況下高功耗,從機可以快速的收到主機的數據 |
高潛伏值 | 從機在沒有數據發送的情況下可以低功耗;從機無法及時收到主機的數據,但主機能及時收到從機的數據 |
在某些情況下,中央設備請求與外圍設備建立連接包含連接參數對外圍設備而言是不利的。在其他情況下,外圍設備可以在連接過程中改變連接參數這個取決于外圍設備的應用程序。外圍設備可以請求中央設備改變連接參數通過設置連接參數更新請求。這個請求是被協議棧的L2CAP處理的。
這個請求包含四個參數:最小連接間隔、最大連接間隔、從機延遲、監督超時時間。這些值代表了外圍設備針對連接的期望參數,連接間隔是以范圍的形式提供的。當中央設備接收到這個請求,他有權利決定是接受還是拒絕這些參數。
GAP通常還會負責啟動BLE連接的安全功能。只有對通過身份驗證的連接而言某些數據是可讀或可寫的。一旦形成一個連接,兩個設備可以通過一個過程被稱為配對。進行配對時,密鑰建立加密和認證的鏈接。在一個典型的案例,外圍設備需要中央設備提供密鑰以完成配對過程。這可能是一個固定值,如“000000”,或可能是一個隨機生成的值被提供給用戶。中央設備發送正確的密鑰后,兩臺設備交換安全密鑰加密和驗證的鏈接。
在許多情況下,相同的中央設備和外圍設備將會經常建立連接和斷開連接。BLE具有一個安全功能允許兩個設備在配對的時候給對方一個長久的安全密鑰。此功能稱為綁定,使得兩個重連設備能夠迅速重新確立加密和認證而不需要經過充分的配對過程,只要它們存儲長期的密鑰信息。
上述內容就是藍牙GAP的接入規范是怎樣的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。