iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 3
0

GAP

下圖是藍芽軟體的架構圖:

從上圖來看,藍牙架構分為三個部分,分別是

  • 最接近使用者的應用(Apps)層
  • 接著是主機(Host)層
  • 最後是靠近硬體的控制器(Controller)層

GAP層是主機(Host)的最上層,他定義了:

  • 在待機(Standby)狀態和連接狀態下,BLE裝置間維持運作的行為
  • 四種角色
GAP 角色 描述
BROADCASTER 只會發送廣播事件的裝置。
OBSERVER 只會接收廣播事件的裝置。
PERIPHERAL 可以接受建立連線請求的裝置。
CENTRAL 可以發起建立連線請求的裝置。

GAP會有這幾種狀態

GAP 狀態 描述
Standby 重啟後的初始狀態。
Advertiser 發出可被連線的廣播封包的裝置,其中廣播封包包含裝置的MAC位址也可以有其他額外的資料,像是裝置名稱等。
Scanner 當接收到廣播封包,掃描裝置會(Scanner)發送掃描請求(Scan Request)給廣播裝置(Advertiser),接著廣播者回應掃描回應(Scan Response),此過程稱為探索裝置(Device DIscovery)。掃描裝置可透過此過程得知廣播裝置並且可以和該裝置建立連線。
Initiator 發起連線時必須指定要連接的設備位址,當接收到符合預期的廣播封包時,會開始發送帶有連接參數(Connection Parameters)的連線請求。
Slave/Master 發起連線請求的稱作主機(Master),接收連線請求的裝置則稱為從機(Slave)。

最後文件中有提到,TI 已經把藍芽協議的處理包在協議棧中,我們只要透過一些他們提供的API 先進行初始化,接著就能開始控制連線或廣播等程序,而且同一個裝置同時也可支援多種GAP角色。

參考文章:


上一篇
[Day 02] Bluetooth 5 概觀
下一篇
[Day 04] 藍牙廣播(Advertising) (1/2)
系列文
玩玩 BLE27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言