杰理TWS_DONGLE_1T2_SDK介绍

本篇文档简单介绍杰理蓝牙耳机 + DONGLE SDK开发包,包含其使用方法及开发时需要注意的一些事项,为用户开展二次开发提供参考。

TWS_DONGLE SDK介绍

TWS_DONGLE_SDK:适用的产品形态有:耳机可以同时支持连接一台DONGLE和一台蓝牙设备。耳机与DONGLE连接音频传输的方式为私有音频协议方式传输,可以做到更低延迟。可以实现手机设备与DONGLE共同连接一台耳机,实现两台设备之间音频无缝切换的效果。
耳机端支持:AC700N系列、AC701N系列、AC708N系列。支持TWS或头戴式耳机形态。
DONGLE端支持:JL697M系列、AC897N系列、AC701N系列等。
耳机与DONGLE连接是采用标准EDR连接方式,支持低延迟高音质上下行传输。
杰理耳机DONGLE连接方式

TWS_DONGLE SDK使用方法

  1. 安装杰理可视化工具安装包,并选择下载使用TWS耳机_DONGLE的SDK版本。
    新建耳机dongle项目

  2. 打开可视化SDK工程,耳机可以开发成TWS耳机或头戴式立体声耳机,耳机开发可以通过可视化工具进行配置和编译。如下图所示,耳机一些常用的配置项可在可视化工具中配置,编译也可以通过可视化工具配置key文件。
    杰理DONGLE工程界面

  3. 通过可视化工具进行了板级配置、用户UI相关配置、音频配置、蓝牙通话等相关配置。配置完成之后,也可以通过可视化工具进行下载。耳机源代码在xxx_project\SDK路径目录下,SDK中也包含cbp文件,所以也可以支持使用codeblock打开cbp工程进行编译下载和开发。
    SDK耳机源码

  4. dongle的源代码在xxx_project\SDK\xxx_DONGLE_SDK路径,如下图,可根据项目需求选择使用JL697M_DONGLE_SDK或JL701M_DONGLE_SDK,DONGLE的SDK目前还是只支持在codeblock工程中编译下载或直接使用make脚本编译下载。
    SDK dongle源码

  5. dongle和耳机配对连接
    dongle和耳机直接的配对连接,SDK默认是根据耳机和dongle配置工具设置的蓝牙名进行匹配连接,具体实现可以参考耳机和dongle的源代码,也可以自行修改通过地址绑定设备进行一对一连接,通过地址+名字计算出indicate。
    耳机端代码:
    耳机端indicate代码
    dongle端代码:
    dongle端indicate

  6. dongle和耳机配对连接开启相关状态控制
    dongle和耳机连接是通过蓝牙EDR的page/page_scan进行快速连接。快关接口 lmp_hci_write_quick_scan_enable(1)。如果开启了日志打印debug,便可以在log日志中看到耳机端开启q_page_scan在运行时会有打印“q”, dongle端开启q_page在运行时会打印“C”,如下图,dongle在快速回连进行page时一直在打印字符“C”
    dongle在page打印
    耳机端工程默认是tws+dongle,如果要做头戴式+dongle,取消TWS相关配对连接流程即可,如下图宏定义配置。
    取消TWS流程

  7. dongle和手机蓝牙之间的音频切换
    dongle和手机蓝牙同时连接上蓝牙耳机,dongle和手机蓝牙之间的A2DP播放以及手机蓝牙通话和dongle mic开启有些地方会存在音频切换的逻辑。参考可视化工具中的“情景配置”->“蓝牙_dongle”选项下的配置。
    dongle蓝牙情景配置
    SDK默认会配置以下场景:

  • 手机蓝牙通话抢占dongle的A2DP策略。
  • 手机蓝牙和dongle播放音乐抢占策略(不断开a2dp以能量检测抢占的方式;断开a2dp抢占方式,二选一)
  • dongle在通话时,耳机和手机a2dp策略(断开手机a2dp)
    dongle音频切换策略
    以上情景配置对应代码关系参考:apps/earphone/scene/bt_ability.c文件
  1. dongle产测说明
    dongle插入电脑,点击SDK目录下的dut_cmd.exe,dongle进入测试模式;用蓝牙测试仪连接dongle蓝牙进行测试。
    dongle产测
Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐