一文搞懂藍芽模組各種工作模式

Sharemaker發表於2022-12-08
​  摘要:本文主要歸納總結藍芽模組的不同工作模式,透過藍芽模組不同的工作模式瞭解其扮演不同角色時工作的一個基本原理,為更深入的研究藍芽模組底層的工作機制和技術方案進行鋪墊。

1、主裝置工作模式

        主裝置是能夠搜尋別人並主動建立連線的一方,從掃描狀態轉化而來的。其可以和一個或多個從裝置進行連線通訊,它會定期的掃描周圍的廣播狀態裝置傳送的廣播資訊,可以對周圍裝置進行搜尋並選擇所需要連線的從裝置進行配對連線,建立通訊鏈路成功後,主從雙方就可以傳送接收資料。例如智慧手機,資料傳輸中做主機的藍芽模組。

        一個藍芽裝置以主模式發起連線時,需要知道從裝置的mac地址,配對密碼等資訊,配對完成後,可直接連線。同時主裝置可以設定預設連線從裝置的mac地址,這樣主裝置模組上電會自動搜尋該mac地址的從裝置並且進行連線。並且支援白名單功能,使用者只需要把需要連線的裝置的mac寫入白名單中,模組搜尋到符合白名單的裝置時就進行連線。主從透傳協議相同時,使用者不需要關注串列埠資料與無線資料包之間的資料轉換過程,只需透過簡單的引數設定,即可實現主裝置串列埠與從裝置串列埠之間的資料透傳。

        為保證連線的穩定性,預防斷電、訊號等異常問題導致模組之間斷開連線,可以開啟斷線重連功能,當異常干擾問題消失,模組工作環境恢復正常,主裝置會自動搜尋剛剛斷連的從裝置,儘可能減少資料的丟失,提高系統穩定性。


2、從裝置工作模式

        從裝置模式是從廣播者模式轉化而來的,未被連線的從裝置首先進入廣播狀態,等待被主機搜尋,當主機掃描到從裝置建立連線後,就可以和主機裝置進行資料的收發,其不能主動的建立連線,只能等別人來連線自己。和廣播模式有區別的地方在於,從裝置模式的藍芽模組是可以被連線的,定期的和主機進行連線和資料傳輸,在資料傳輸過程中作從機。例如藍芽手錶手環,藍芽滑鼠等工作在從裝置模式。

        一對一應用中從裝置可以設為兩種型別,一是靜默狀態,即只能與指定的主裝置通訊,不被別的藍芽裝置查詢;二是開發狀態,既可被指定主裝置查詢,也可以被別的藍芽裝置查詢後建立連線。

        從裝置模式下,使用者可以根據協議自己開發APP。此模式下包含一個串列埠收發的Service,使用者可以透過UUID找到它,裡面有兩個通道,分別是讀和寫。使用者可以操作這兩個通道進行資料的傳輸。如果使用者使用的主裝置和從裝置是同一個廠家生成的藍芽模組,那麼主裝置和從裝置相連線可以無需關注裡面的協議,藍芽裝置在出廠前預先設定了兩個藍芽裝置之間的配對資訊,兩端裝置接通電源後自動構建鏈路,不需要外圍電路的介入,兩個裝置的串列埠直接就可以進行資料的透明傳輸,為使用者建立一個簡單的無線傳輸通道。

        透過上述對藍芽模組主裝置模式和從裝置模式的分別闡述,可以將基本的主從建立連線的過程總結如下:藍芽主裝置發起連線,首先是查詢,找出周圍處於可被查詢的藍芽裝置。主裝置找到從裝置後,與從裝置進行配對,此時需要輸入從裝置的PIN碼,也有裝置不需要輸入PIN碼。

        配對完成後,從端藍芽裝置會記錄主端裝置的信任資訊,此時主裝置即可向從裝置發起連線,已配對的裝置在下次連線時不再需要重新配對。已配對的裝置,作為從端藍芽裝置也可以發起建立鏈路的請求,但作資料通訊的藍芽模組一般不啟動呼叫。一旦建立了連結,主機和從機之間就可以進行雙向的資料或語音通訊。在通訊狀態下,主裝置和從裝置都可以發起斷鏈,即斷開藍芽鏈路。

3、主從一體工作模式

        主從一體工作模式是指藍芽模組可以同時作為主裝置和從裝置。其可以在兩個角色間切換,工作在從模式時,等待其它主裝置來連線,需要時,轉換為主模式,向其它裝置發起連線呼叫。主從一體提供了擴充套件藍芽模組的能力,在藍芽4.1協議規範後,新增了“鏈路層拓撲”的功能,就可以允許藍芽模組同時作為主裝置和從裝置,在任何角色組合中操作。例如藍芽HUB終端。

        當具備主從一體的藍芽模組工作時,該藍芽模組可以作為主裝置蒐集其它外圍從節點裝置的資訊,同時作為一個從裝置將蒐集到資訊上報給主控終端如手機。這樣的好處就是外圍的從節點裝置資訊可以不侷限在本地儲存,透過主從一體的藍芽模組發揮中繼器的作用,蒐集後上傳給雲端或集中控制器儲存或顯示。

        主從一體額外增加了藍芽模組的功能,成本最佳化和易用性。 如果藍芽模組以前在封閉系統中作為主裝置工作,那現在還可以同時作為從機連線到智慧手機,從而實現新的連線維度。在主從一體工作模式下,一個藍芽模組就可以扮演兩種角色,從而可以最佳化系統架構。

4、廣播者工作模式

        藍芽廣播是藍芽4.0以上裝置必須支援的功能。它不涉及到更上層的連線層和協議層。因此,利用藍芽廣播的資料包來傳遞的資訊,在藍芽裝置上具有更好的實時性和相容性。在廣播模式下,藍芽模組定期持續的向周圍傳送一定長度廣播的資料包,該資料可以被掃描者搜尋到,模組可以在低功耗的模式下持續的進行廣播,應用於極低功耗,小資料量,單向傳輸的應用場合。藍芽廣播通道的重要功能就是是用於發現裝置,發起連線和發放資料。

        廣播模式主要有兩種使用場景:(1)單一方向的、無連線的資料通訊,資料傳送者在廣播通道上廣播資料,資料接收者掃描、接收資料;廣播者”將用作伺服器。其目的是定期將資料傳輸到裝置,但不支援任何連線。如信標、廣告牌、室內定位、物料跟蹤等。(2)面向連線的建立,如藍芽從裝置廣播訊息後由主裝置搜尋到後進行連線,廣播者和從裝置模式的唯一區別是不能被主機連線,只能廣播資料。

        藍芽的廣播一般是向外廣播自己的mac地址、名稱以及支援的特性,廣播主要是用於被其它的裝置發現,而不是進行資料傳送的。廣播包長度是固定的位元組,雖然可以有廠商自定義的資料,但是資料也是有限的。

        廣播資料包有兩種:廣播包(Advertising Data)和響應包(Scan Response),其中廣播包是每個裝置必須廣播的,而響應包是可選的,每個包長度都是固定位元組N,資料包的長度N隨著藍芽協議的標準提高而擴容,例如藍芽5.0的資料包從藍芽4.2的31位元組升級成為255位元組,資料包中分為有效資料和無效資料兩部分。每個廣播包的長度必須是N個位元組,如果不到N個位元組 ,則剩下的全用0填充補全,這部分的資料是無效的。

5、觀察者工作模式

         觀察者模式,該模式下模組為非連線,相對廣播者模式的一對多傳送廣播,觀察者可以一對多接收資料。在該模式中,裝置可以僅監聽和讀取空中的廣播資料。和主機唯一的區別是不能發起連線,只能持續掃描從機。

        觀察者工作模式可應用於資料採集集中器的應用場合,如感測器集中器採集等功能;另一個典型的例子是藍芽閘道器,藍芽模組處於觀察者模式,無廣播,它可以掃描周圍的廣播裝置,但不能要求與廣播裝置連線。

6、iBeacon工作模式   

        iBeacon 是蘋果公司2013年9月推出的一項室內低耗能藍芽技術。其工作方式是:iBeacon是一個低功耗的藍芽信標,使用的是BLE技術,工作在廣播模式,利用的是BLE中名為“通告幀”(Advertising)的廣播幀。通告幀是定期傳送的幀,只要是支援BLE的裝置就可以接收到。廣播的發射功率可以調整,不停的廣播藍芽裝置的mac地址、UUID等固定位元組的字串等資訊,接收到該字串應用軟體會根據該字串採取一些措施。

        iBeacon是基於2010年釋出的藍芽4.0技術規範的基礎上發展而來的微定位技術。它是建立在低功耗藍芽協議基礎上的一種廣播協議,同時它也是擁有這個協議的一款低功耗藍芽裝置(從機),但是它不能和任何低功耗藍芽主機進行連線,通常是放在室內的某個固定位置,藉此向周圍進行連續性廣播,所有廣播資料在特定規則下進行排列。

        與WIFI定位相比,iBeacon定位具有低成本和高安全性,其應用場景多種多樣。常見的應用是精確營銷,比如博物館、展廳的資訊推送或者購物中心服務商向顧客傳送折扣卷及進店積分等。如果把它放在室內固定的位置,可以作為一個定位器,手機開啟藍芽連線之後透過APP就可以獲取其位置,同時會推送一些設定好的資訊到我們手機上。

        微信搖一搖也加入了iBeacon功能,例如住酒店,使用者在酒店大堂搖一搖,就可以獲取房間資訊。很簡單,你的手機加入裝了一個支援iBeacon的APP或者你用微信搖一搖周邊,剛好你又在這個iBeacon裝置旁邊,手機就會收到一段藍芽訊號,然後手機帶著這個訊號,去伺服器問,這個訊號是啥意思,伺服器看到這個訊號,又看到是你的手機帶著這個訊號過來的,那就給你發資訊。

        藍芽iBeacon是一種非常新穎的互動方式,它是一種低功耗協議,也是一種低功耗藍芽裝置。在智慧領域有非常廣泛的前景

7、Mesh組網工作模式

        藍芽Mesh組網技術在2017年得到SIG批准,這是一種獨立的網路技術,相容4及5系列藍芽協議。它把藍芽裝置作為訊號中繼站,利用低功耗藍芽廣播的方式進行資訊收發,藍芽Mesh技術擴充了藍芽的通訊關係,打破了以往藍芽裝置只能夠主從一對一、廣播一對多通訊的限制,使網路內的藍芽裝置可以實現“多對多”的裝置通訊,這將大大增加藍芽的通訊距離和應用場景,填補了藍芽在大規模組網,大面積覆蓋應用領域的空白。

        Mesh網路也稱為"多跳網路",或者“網狀網路”。Mesh網路的每一個節點都可以作為AP和路由器,通訊時,當某個節點損壞或者堵塞時,可以自動繞過該節點,重新選擇路徑達到目的地,可以讓網路更高效可靠。

        工作在Mesh組網模式的BLE藍芽模組可以簡單的將多個模組加入到網路中來,一個加入到藍芽Mesh網路中的裝置稱為節點利用星型網路和中繼技術,每個網路可以連線理論最大65536個節點,每個節點都可以傳送、接收、轉發訊息。訊息可以在Mesh網路中被轉發從而到達更遠的距離。網路和網路還可以互連,最終可將無數藍芽模組透過手機、平板電腦或 PC 進行互聯或直接操控。並且不需要閘道器,即使某一個裝置出現故障也會跳過並選擇最近的裝置進行傳輸。整個聯網過程只需要裝置上電並設定通訊密碼就可以自動組網,真正實現簡單互聯。

        由於目前幾乎所有的智慧手機都具備藍芽功能,所以可以使用手機對藍芽Mesh裝置進行直接控制。藍芽Mesh是一種可以像ZigBee一樣實現大規模組網,同時又不必依賴閘道器,可以使用手機進行直接控制的方案。

        總而言之,藍芽Mesh組網有著廣闊的發展前景,這種技術可組節點成百上千,無需閘道器可以直接與智慧終端通訊,滿足物聯網的連線需求,這是任何其它短距離無線技術都不具備的條件,在智慧家居、智慧建築等眾多領域具有應用優勢,藍芽Mesh技術將成為物聯網短距離規模組網的最優方案。

總結

        可以看出,不同型別的藍芽模組根據使用場景的不同,可以有不同的工作模式,並不僅僅是簡單的點對點通訊,隨著藍芽協議標準的升級,藍芽技術也跟著不斷提高,工作模式的不同使得藍芽模組可以扮演不同的角色,適配不同的技術應用,發揮其所需要的功能,最後透過一張思維導圖來對本文進行概述性總結。


更多技術內容和書籍資料獲取敬請關注微信公眾號“明解嵌入式”

相關文章