藍芽發展至今經歷了各個版本的更新。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協議的關係?顧名思義,人類之間需要一種語言才能溝通,機器之間,電子之間也有乙個標準,也就是作為通訊標準,也就是通訊協議。協議 定義了一系列通訊標準,通訊雙方都按照這一標準,進行資料通訊。協議棧 協議的具體實現形式,實現的函式庫,韌體庫。把個個協議集合到了...