低功耗藍芽開發(BLE)

2022-03-23 04:17:42 字數 2003 閱讀 9964

藍芽:藍芽是乙個標準的無線通訊協議,他是通過無線電介質傳輸資料的

無線電:是指在自由空間(包括空氣和真空)傳播的電磁波

電磁波:是由同向且相互垂直的電場與磁場在空間中衍生發射的**粒子波,根據頻率的由低到高依次可分為:無線電波,微波,紅外線,可見光,紫外線,x射線,y射線

電磁波傳遞資訊:首先把傳輸的聲音資料訊號轉換為電訊號,再把該電訊號寄載在比該訊號頻率高的多的高頻**訊號,最後用發射天線以無線電波的形式向周圍空間傳播。在接收端,接收到這種高頻**訊號,從中取出攜帶的聲音頻號。

利用頻率變換技術讓低頻訊號控制高頻**訊號的某一引數,是這些引數隨著低頻訊號而變化:稱為調製

高頻訊號:稱為載波

高頻訊號的頻率:稱為載頻或者射頻

含有資訊的低頻訊號:稱為調製訊號

把經過調製的訊號:稱為已調訊號

取出攜帶的低頻訊號:稱為解調

支援:android4.3(18)及以上

【術語】

1、profile

profile可以理解為一種規範,乙個標準的通訊協議,它存在於從機中。藍芽組織規定了一些標準的profile,例如 hid over gatt ,防丟器,心率計等。每個profile中會包含多個service,每個service代表從機的一種能力。

2、service

service可以理解為乙個服務,在ble從機中,通過有多個服務,例如電量資訊服務、系統資訊服務等,每個service中又包含多個characteristic特徵值。每個具體的characteristic特徵值才是ble通訊的主題。比如當前的電量是80%,所以會通過電量的characteristic特徵值存在從機的profile裡,這樣主機就可以通過這個characteristic來讀取80%這個資料

3、characteristic

characteristic特徵值,ble主從機的通訊均是通過characteristic來實現,可以理解為乙個標籤,通過這個標籤可以獲取或者寫入想要的內容。

4、descriptor

對應characteristic的描述,乙個characteristic可以新增多個descriptor

5、uuid

uuid,統一識別碼,我們剛才提到的service和characteristic和descriptor,都需要乙個唯一的uuid來標識

a、開啟藍芽

1、bluetoothadapter.enable() 

2、startactivityforresult()

相同:兩種方法都可開啟藍芽。

不同點: enable方法更加程式設計化,無對話確認框(但在開啟藍芽訪問許可權時被系統攔截),跳轉出乙個透明的activity並彈出是否開啟藍芽的確認對話方塊

b、關閉藍芽

bluetoothadapter.disable() 

c、掃碼周邊裝置

可通過兩種方式搜尋裝置:

1、主動搜尋**: bluetoothadapter.startlescan掃碼所有所有周邊裝置(含已經連線配對過的),通過lescancallback**獲取結果

2、裝置發現廣播:bluetoothadapter.startdiscovery,註冊broadcastreceiver監聽查詢到裝置的action(bluetoothdevice.action_found)

差異:① 如果同時使用則方式2優先順序高於方式1(發現裝置無**)        ②方式2收到廣播且重複資料(重複收到發現某個裝置)

③方式2會在指定時間內自動停止(會掃瞄到重複裝置很消耗電量) ④方式1需要主動呼叫bluetoothadapter.stoplescan

d.通訊:

2:掃瞄到的藍芽裝置物件,呼叫該物件的connectgatt方法可以連線到該裝置,並返回bluetoothgatt物件

1.bluetoothgatt物件為通訊物件,通過該物件可以寫特徵,讀特徵,寫描述等等

3.為通訊監聽物件當我們使用bluetoothgatt物件讀特徵之後,裝置會傳送資料到bluetoothgattcallback監聽物件上,我們從監聽方法中可以獲取裝置返回的資料。

藍芽低功耗BLE廣播

廣播 低功耗藍芽裝置通過廣播通道發現其他裝置,乙個裝置進行廣播,而另乙個裝置進行掃瞄。1.advertising interval 2.advertising type 3.own address type 4.direct address type 5.direct address 6.adver...

低功耗藍芽BLE之連線建立

應付比廣播更為複雜的資料傳輸,或者要在裝置之間實現可靠的資料交付,這些都要依賴於連線。連線使用資料通道在兩個裝置之間可靠地傳送資訊。它採取了自適應跳頻增強魯棒性,同時使用了非常低的占空比,盡可能地降低功率消耗。裝置建立連線的過程如下圖所示。簡言之,裝置首先廣播可連線廣播事件,其他裝置收到之後即可發起...

BLE 低功耗藍芽 中ATT協議簡介

ble屬性協議,它是處於l2cap協議層與gatt之間的一層屬性操作協議。att協議在ble協議框架 ble協議資料交換框架 對於gatt本身,可以簡單的理解為一種根據一定格式規範組織的資料表,例如 我們可以看到他主要由3部分組成 handle attribute type attribute va...