智能手表與 App 藍(lán)牙低功耗(BLE)實(shí)戰(zhàn)指南

DemoApplication — 智能手表與 App 藍(lán)牙低功耗(BLE)實(shí)戰(zhàn)指南

文檔主題

智能手表與手機(jī) App 之間的通信常采用藍(lán)牙低功耗(BLE)。相比經(jīng)典藍(lán)牙,BLE 更省電、適合周期性小數(shù)據(jù)同步(心率、步數(shù)、通知、固件升級進(jìn)度等),是穿戴設(shè)備的主流方案。大文件(如 MP3 音頻)若必須走 BLE,需按分包與斷點(diǎn)續(xù)傳設(shè)計(jì),見下文第四章第 6 節(jié)。

本倉庫當(dāng)前為 Jetpack Compose 示例工程(minSdk 24 / compileSdk 34),可作為在此基礎(chǔ)上接入 BLE 的起點(diǎn)。


一、BLE 在手表場景中的常見用法

能力 說明
GATT 客戶端 手機(jī) App 通常作為 Central(中心設(shè)備),手表作為 Peripheral(外設(shè)),App 連接后讀寫特征值(Characteristic)。
通知 / 指示 手表主動上報(bào)數(shù)據(jù):使用 NotifyIndicate(Indicate 帶應(yīng)用層確認(rèn))。
寫入指令 App 向手表下發(fā)控制或配置:對可寫特征執(zhí)行 Write / Write Without Response
MTU 與分包 數(shù)據(jù)量大時需協(xié)商 MTU,或在上層做分包與粘包協(xié)議。
配對與綁定 涉及敏感數(shù)據(jù)或防重放時,可能依賴系統(tǒng)配對;純明文廣播+連接則未必每次配對。

常見協(xié)議形態(tài):廠商自定義 GATT Service/Characteristic UUID,或基于 標(biāo)準(zhǔn)服務(wù)(如 Heart Rate、Battery 等)再擴(kuò)展私有特征。


二、開發(fā)環(huán)境與本項(xiàng)目運(yùn)行

  • Android Studio:建議 Hedgehog 及以上,自帶 JDK 與 Android SDK。
  • 設(shè)備:真機(jī)(推薦)用于 BLE;模擬器對藍(lán)牙支持有限。
  • 運(yùn)行:用 Android Studio 打開工程根目錄,同步 Gradle 后選擇設(shè)備,運(yùn)行 app 模塊。

當(dāng)前入口:MainActivity 使用 Compose;已實(shí)現(xiàn) BLE Demo(權(quán)限門閘、掃描列表、連接、服務(wù)枚舉、requestMtu、嘗試讀標(biāo)準(zhǔn)電量、WatchProtocol 本地分包演示),見 bleui/BleDemoScreen 包。


三、Android 端實(shí)戰(zhàn)步驟(推薦順序)

還有 79% 的精彩內(nèi)容
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
支付 ¥1.99 繼續(xù)閱讀

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容