摘要:本文主要歸納總結藍牙模塊的不同工作模式,通過藍牙模塊不同的工作模式瞭解其扮演不同角色時工作的一個基本原理,為更深入的研究藍牙模塊底層的工作機制和技術方案進行鋪墊。 1、主設備工作模式 主設備是能夠搜索別人並主動建立連接的一方,從掃描狀態轉化而來的。其可以和一個或多個從設備進行連接通信,它會 ...
摘要:本文主要歸納總結藍牙模塊的不同工作模式,通過藍牙模塊不同的工作模式瞭解其扮演不同角色時工作的一個基本原理,為更深入的研究藍牙模塊底層的工作機制和技術方案進行鋪墊。
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技術將成為物聯網短距離規模組網的最優方案。
總結
可以看出,不同類型的藍牙模塊根據使用場景的不同,可以有不同的工作模式,並不僅僅是簡單的點對點通信,隨著藍牙協議標準的升級,藍牙技術也跟著不斷提高,工作模式的不同使得藍牙模塊可以扮演不同的角色,適配不同的技術應用,發揮其所需要的功能,最後通過一張思維導圖來對本文進行概述性總結。
更多技術內容和書籍資料獲取敬請關註微信公眾號“明解嵌入式”
本文來自博客園,作者:Sharemaker,轉載請註明原文鏈接:https://www.cnblogs.com/Sharemaker/p/16946041.html