BLE 对讲示例

源码路径:example/ble/talkback

支持的平台

  • sf32lb52-lcd_n16r8

  • sf32lb52-lchspi-ulp

  • sf32lb52-nano_n16r16

概述

  1. 本例程演示了本平台如何实现基于BLE的语音对讲功能。

  2. 该示例利用BLE 5.0的周期性广播(Periodic Advertising)和周期性广播同步(Periodic Advertising Sync)特性,实现了低功耗、低延迟的无线对讲功能。

  3. 支持多设备组网,最多可同时连接3个设备进行对讲。

  4. 使用Opus音频编解码技术,保证高质量的语音传输。

例程的使用

  1. 本例程开机后会自动开启扫描,寻找周围的对讲设备,并建立连接。

  2. 同时也会开启广播,使其他设备能够发现本设备。

  3. 按下开发板上的PTT(Push-To-Talk) 按键 (KEY1-对应开发版片上的丝印) 开始讲话,松开按键结束讲话。

  4. 当其他设备讲话时,本设备会自动播放对方的语音。

  5. 支持通过Finsh命令查看和调试系统状态。

硬件需求

运行该例程前,需要准备:

  • 一块本例程支持的开发板

  • 至少两块开发板进行对讲测试。

  • 音频输入输出设备(麦克风和扬声器)。

硬件连接

根据开发版指南连接麦克风和扬声器。 sf32lb52-lcd_n16r8 sf32lb52-nano_n16r16 sf32lb52-lchspi-ulp

编译和烧录

切换到例程project目录,运行scons命令执行编译:

> scons --board=eh-lb525 -j32

切换到例程project/build_xx目录,运行uart_download.bat按提示选择端口即可进行下载:

$ ./uart_download.bat

     Uart Download

please input the serial port num:5

关于编译、下载的详细步骤,请参考快速入门的相关介绍。

例程的预期结果

例程启动后:

  1. 系统会自动初始化BLE和音频模块。

  2. 开始扫描周围的对讲设备并建立连接。

  3. 按下PTT按键开始讲话时,其他设备能够听到清晰的语音。

  4. 当其他设备讲话时,本设备会自动播放语音。

  5. 串口会输出相关的日志信息,便于调试和监控系统状态。

异常诊断

  1. 如果无法发现其他设备,请检查:

    • 确保所有设备都在同一网络中(使用相同的DEFAULT_NETWORK_CODE)

    • 检查BLE功能是否正常启用

    • 确认设备间的距离在有效范围内

  2. 如果音频质量不佳,请检查:

    • 麦克风和扬声器连接是否正确

    • 音频参数配置是否合适(采样率、位深度等)

    • 是否存在电磁干扰

  3. 如果按键无响应,请检查:

    • 按键引脚配置是否正确

    • 按键驱动是否正常加载

    • 按键硬件连接是否可靠

参考文档

更新记录

版本

日期

发布说明

0.0.1

12/2025

初始版本