国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

藍牙低功耗(BLE)

2019-11-09 15:34:48
字體:
來源:轉載
供稿:網友

一、簡介

藍牙低功耗(BLE)是在Android在4.3(API 18)中引入的。與經典藍牙相比具有低延遲、低功耗、低吞吐量等優點。藍牙通信之間遵循主從關系


二、概念:

這里寫圖片描述

GATT(Generic Attribute PRofile):GATT配置文件作為通用規范,用于在ble鏈路上發送和接收數據塊。配置文件是設備如何在特定的應用程序中工作的規格說明。一個設備可以實現多個配置文件

ATT(Attribute Protocol):每個屬性通過一個唯一的統一標識符(UUID)來實現,每個String類型的UUID使用128 bitb標準格式。

Service:是Characteristic的集合,每個Service代表從機的一種能力。

Characteristic:一個Characteristic包括一個單一的變量和N個用來描述Characteristic變量的Descriptor。

Descriptor:用來描述Characteristic變量的屬性。

注: Profile可以理解成一種規范,存在于從機中,一個低功耗藍牙可以包括多個Profile。 通過UUID可以直接找到對應的Service; 通過UUID可以直接找到對應的Characteristic; 通過UUID可以直接找到對應的Descripter;


三、踩過的坑

1. 發送長度問題

問題: 藍牙低功耗單次發送的數據量大于 20 字節, Android 只能接收前20個字節的數據,后面的數據將會丟失 。

解決方案:分包發送 分包發送時不要在當前線程做阻塞處理。并且一定要在上次發送數據成功寫入(onCharacteristicWrite()回調執行)之后再去進行第二次寫操作,否則第二次寫操作將會失敗。

2. 設備連接不上

問題:有時設備無法連接藍牙? 解決方案: 1) 主端一次性可同時連接6-7個藍牙設備進行通信,因此可能是中心設備連接的設備數過多。 2) GATT連接是獨占的,一次只能被一個中心設備連接,一旦被連接,該外設會停止廣播,因此周圍設備是否已經被其他中心設備所連接。

3. 藍牙回調

問題: Android4.4的藍牙回調不在主線程。 解決方案:更新界面時,需切換到主線程。

4. 權限問題

Android M中必須擁有定位權限才能掃描BLE設備。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和田市| 泗阳县| 湖州市| 定陶县| 汤阴县| 桓台县| 隆尧县| 江西省| 邵阳市| 潜江市| 屯留县| 常州市| 新河县| 都匀市| 泗水县| 虎林市| 西吉县| 古蔺县| 太原市| 儋州市| 宜川县| 陆河县| 柳林县| 乌鲁木齐市| 宝山区| 芦溪县| 余姚市| 宁夏| 武陟县| 湾仔区| 水富县| 海原县| 佛坪县| 武乡县| 汤阴县| 武穴市| 蓝田县| 英山县| 渑池县| 渑池县| 赤峰市|