藍芽4 0BLE的使用與封裝

2021-07-30 05:21:27 字數 1858 閱讀 8539

藍芽發展至今經歷了各個版本的更新。1.1、1.2、2.0、2.1、3.0、4.0、4.1、4.2。

4.x開始的藍芽我們稱之為低功耗藍芽也就是藍芽ble,當然4.x版本的藍芽也是向下相容的。

低功耗藍芽較傳統藍芽,傳輸速度更快,覆蓋範圍更廣,安全性更高,延遲更短,耗電極低等等優點。

傳統藍芽與低功耗藍芽通訊方式也有所不同:

ble分為三部分:
1、service(服務)

2、characteristic(特徵)

3、descriptor(描述符)

這三部分都用uuid作為唯一識別符號。uuid為這種格式:0000ffe1-0000-1000-8000-00805f9b34fb。比如有3個service,那麼就有三個不同的uuid與service對應。這些uuid都寫在硬體裡,我們通過ble提供的api可以讀取到。

乙個ble終端可以包含多個service, 乙個service可以包含多個characteristic,乙個characteristic包含乙個value和多個descriptor,乙個descriptor包含乙個value。characteristic是比較重要的,是手機與ble終端交換資料的關鍵,讀取設定資料等操作都是操作characteristic的相關屬性。

android中的使用
1、註冊許可權

想宣告你的應用程式只能在支援ble的裝置上執行,可以將下面宣告包含進你的應用程式manifest檔案中:

2、檢查裝置是否支援ble

getpackagemanager().hassystemfeature(packagemanager.feature_bluetooth_le);

3、獲取ble的介面卡

bluetoothmanager bluetoothmanager = (bluetoothmanager) getsystemservice(context.bluetooth_service);

bluetoothadapter mbluetoothadapter =

bluetoothmanager.getadapter();

如果獲取的mbluetoothadapter為null則說明該裝置不支援藍芽功能

4、啟動藍芽的方式有兩種

1、使用對話方塊的方式:

if (mbluetoothadapter == null || !mbluetoothadapter.isenabled())

在onactivityresult的方法中根據相應的需求碼獲取到的可以得到對應的結果碼

resultcode == activity.request_enable_bt

藍芽已經開啟,!=藍芽未開啟

2、直接啟用:

mbluetoothadapter.enable();

3、關閉藍芽

mbluetoothadapter.disable();

4、搜尋藍芽裝置:

//裝置集合

private arraylis***evices = new arraylist<>();

//資料記錄的集合

private arraylistmrecords= new arraylist<>();

//訊號強度的集合

private arraylistmrssis= new arraylist<>();

mbluetoothadapter.startlescan(mdevicefoundcallback);

private bluetoothadapter.lescancallback mdevicefoundcallback = new bluetoothadapter.lescancallback()

});}

};

iOS藍芽4 0 BLE 開發

本文將一步一步講解如何使用corebluetooth框架來與各種可穿戴裝置進行通訊,使用 小公尺手環 來進行基本的測試。macbook pro mac os x 10.10 xcode 6.3.2 iphone 5s v8.1 小公尺手環 從上面這幅圖可以看到,我們的ios裝置是central,用來...

藍芽4 0(BLE)電子煙方案

電子香菸得到了越來越多的消費者的青睞。它不僅僅能讓吸菸者的健康不受到危害,而且還能讓他們的吸菸行為不受地點的限制。但是似乎有人認為 這些電子香菸的功能還 應該更強大點 近日,一種更加智慧型化的電子香菸問世,它就是smokio 據悉,這種電子香菸使用藍芽 針對這一產品市場,信馳達開發出藍芽4.0 電子...

藍芽4 0BLE協議棧介紹

問題 什麼是ble協議棧?ble協議棧與ble協議的關係?顧名思義,人類之間需要一種語言才能溝通,機器之間,電子之間也有乙個標準,也就是作為通訊標準,也就是通訊協議。協議 定義了一系列通訊標準,通訊雙方都按照這一標準,進行資料通訊。協議棧 協議的具體實現形式,實現的函式庫,韌體庫。把個個協議集合到了...