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