近期一個項目需要用到低功耗藍牙的開發(fā),由于之前沒有藍牙開發(fā)的經(jīng)驗,發(fā)現(xiàn)網(wǎng)上關(guān)于藍牙開發(fā)的資料不多,不是隨便描述一下就是已經(jīng)過時的,在此整理一篇低功耗藍牙的入門資料,能夠完成使用藍牙的接受和發(fā)送數(shù)據(jù)。
低功耗藍牙 (BLE,Bluetooth Low Energy的簡稱) 從Android 4.3 開始支持,如今越來越多外設(shè)都是使用低功耗藍牙來傳輸數(shù)據(jù)的,與經(jīng)典藍牙本質(zhì)上沒有太多的區(qū)別,有很多相似之處,工作流程都是:發(fā)現(xiàn)設(shè)備 --> 配對/綁定設(shè)備 --> 連接設(shè)備 --> 數(shù)據(jù)傳輸。但是,低功耗藍牙在安卓開發(fā)中的使用和經(jīng)典藍牙是完全不同的,如果按照之前很熟悉的經(jīng)典藍牙開發(fā)思維來做,說不定還會踩坑。。。
官方相關(guān)的開發(fā)指南:
經(jīng)典藍牙
低功耗藍牙
低功耗藍牙使用實例項目
基本概念
先來了解一些關(guān)于低功耗藍牙的基本概念:
Generic Attribute Profile (GATT)——全稱叫做通用屬性配置文件,GATT按照層級定義了三個概念,服務(wù)(Service)、特征(Characteristic)和描述(Descriptor)。一個 Service 包含若干個 Characteristic,一個 Characteristic 包含若干個 Descriptor。
Characteristic——可以理解為一個類,包含了一個 value 和零至多個對該 value 的描述。
Descriptor——對 Characteristic 的描述