跳到主要内容

Android BLE / Auth / Init SDK

当前状态

截至 2026-04-24,aitalk_app_new_mesh/apps/android-ui/settings.gradle.kts 当前只包含 :app:mesh-sdk:stt-sdkBLE 连接、BLE 认证、BLE 默认初始化、UART 认证/初始化 仍主要落在 :app 内。

本页和下面三页用于定义 Android 设备接入层的 SDK 边界,并明确“当前代码位置”和“目标拆分位置”,避免把尚未拆出的模块写成已上线事实。

文档入口

  • Android BLE Connection SDK
    • 只讲 XTalkBleClient
    • 覆盖 BLE 初始化、扫描、连接、断开、AT 通道、二进制收发
  • Android Device Auth SDK
    • 只讲认证语义
    • 覆盖 AT+CHALLENGE、签名校验、DID 读取、BLE/UART 认证边界
  • Android Device Init SDK
    • 只讲认证后的初始化
    • 覆盖 AT+ADDTL / AT+FREQ / AT+RATE / AT+BCNID / AT+WORKMODE,以及 UART 厂家配置

当前代码位置

BLE 连接与收发

  • apps/android-ui/app/src/main/java/com/xtalk/mesh/uimock/ble/XTalkBleClient.kt
  • apps/android-ui/app/src/main/java/com/xtalk/mesh/uimock/ble/XTalkBleConstants.kt
  • apps/android-ui/app/src/main/java/com/xtalk/mesh/uimock/ble/BleDeviceNames.kt

通用传输与 UART

  • apps/android-ui/app/src/main/java/com/xtalk/mesh/uimock/transport/AppTransport.kt
  • apps/android-ui/app/src/main/java/com/xtalk/mesh/uimock/uart/XTalkUartClient.kt

认证与初始化的当前实现

  • BLE 侧当前仍存在组合式入口:XTalkBleClient.authenticateAndInitializeDefaults(...)
  • UART 侧认证和后置 AT 初始化当前主要位于:
    • apps/android-ui/app/src/main/java/com/xtalk/mesh/uimock/XTalkMeshUiApp.kt

目标拆分位置

当前网站采用“按 SDK 边界写文档”的结构,目标拆分建议如下:

  • :ble-sdk
    • 只承接 XTalkBleClient
    • 不做认证编排,不做业务初始化
  • :device-auth-sdk
    • 只承接 BLE/UART 认证与 DID 读取
    • 不做频点/rate/BCN/WORKMODE 初始化
  • :device-init-sdk
    • 只承接认证后的 BLE 默认参数写入、UART 默认参数、UART 厂家配置

推荐职责边界

  • BLE SDK
    • 连接链路、GATT、AT passthrough、binary send/receive
  • Auth SDK
    • AT+CHALLENGE
    • challenge 响应解析 / 验签
    • AT+EFUSESN? / AT+SN? DID 读取
  • Init SDK
    • BLE 无线默认参数
    • UART 默认参数
    • UART 厂家硬件配置
  • Mesh SDK
    • Mesh 文本、语音、路由、ACK 等上层协议

当前仓库与目标 SDK 的对应关系

逻辑 SDK当前落点当前状态
BLE Connection SDK:appuimock/ble/*已有明确实现
Device Auth SDKXTalkBleClient.authenticateAndInitializeDefaults(...) + XTalkMeshUiApp.kt 中 UART 认证逻辑尚未抽出独立模块
Device Init SDKXTalkBleClient.authenticateAndInitializeDefaults(...) + AppTransport.kt + XTalkMeshUiApp.kt尚未抽出独立模块

推荐接入顺序

BLE

  1. XTalkBleClient.ensureInitialized()
  2. XTalkBleClient.connect(...)
  3. 认证 SDK
  4. 初始化 SDK
  5. XTalkBleClient.sendBinaryFrame(...)

UART

  1. XTalkUartClient.open(...)
  2. 认证 SDK
  3. 初始化 SDK
  4. 业务数据收发

说明

桌面稿里的 android_ble_sdk_integration.mdandroid_ble_sdk_integration.html 已在站点上合并为这一个文档页;站点内部统一使用 Docusaurus 文档页,不再额外保留重复 HTML 入口。