迁移公告
本文档中心已迁移至
新域名(https://document.nationalchip.com/)
,当前文档中心维护有效期至 2025年6月30日。
请更新您的书签或外部链接,感谢您的支持!
蓝牙遥控器*
本文基于Linux环境下编译蓝牙语音遥控器工程
1. 编译目标APP和板级*
cd apus
make app=ble_remote_control board=gx8301a_rc_demo
编译成功后,在 output 目录下会生成一个 apus.bin。
mkimg...
boot bin size: 0x1000
app bin size: 0x394a8
flash total size: 0x80000
flash zone:
bootloader: 0x0, 0x1000
bootenv : 0x1000, 0x1000
app bankA : 0x2000, 0x3e000
app bankB : 0x40000, 0x3e000
kvs env : 0x7e000, 0x2000
buildtime: 1709176672
-rw-rw-r-- 1 sunyb sunyb 242856 2月 29 11:17 ./output/apus.bin
2. 烧录固件到开发板*
2.1 烧录前介绍*
开始烧录前需要准备:
- Micro USB连接线
- usb to ttl 转接器,用于烧录
- 8302A_NRE_RC_DMOE 板或 APUS_DEV_QFN32 板
- 固件包
usb 连接PC
连接示意图
2.2 烧录步骤*
a. 选择对应的串口号和波特率, 选择合适的串口波特率(影响烧录的稳定性和耗时,默认115200)
sudo ./tools/bootx/bootx -m auto -t s -d /dev/ttyUSB0 -c download 0 output/apus.bin -r 1000000
b. 按住boot 键,点击复位按键进入烧录模式,回车开始烧录。
c. 烧录成功,出现 SUCCESS 字样
3. 遥控器相关命令*
命令 | 描述 |
---|---|
ble_pair | 配对 |
ble_unpair | 取消配对 |
ble_terminate | 断开连接,下次连接不需要配对 |
ble_peers | 已配对设备数量 |
list_bonded | 已绑定的设备列表 |
delete_bonded | 删除绑定信息 |
read_current_phy | 读取当前物理层的传输速率 |
set_current_phy | 设置当前物理层的传输速率 Mbps /2Mbps |
set_default_phy | 设置当默认物理层的传输=率1 Mbps /2Mbps |
read_default_dlen | 读取配置蓝牙控制器的建议默认数据长度和传输时间 |
set_default_dlen | 设置默认配置蓝牙控制器的建议默认数据长度和传输时间 |
set_current_dlen | 读取当前蓝牙控制器的建议默认数据长度和传输时间 |
update_conn | 更新设备连接参数,由丛机发起更新请求,主机可以拒接 |
update_mtu | 丛机发起更新MTU 数据 |
ble_re_establish | 重新连接 |
3.1 功能验证*
- 广播配对
用Android手机蓝牙搜索蓝牙设备,或者iPhone nRF Connect软件可以搜索到设备
- 用蓝牙dongle连接测试
准备一台linux pc机并带蓝牙功能的。如果PC不支持,可以购买绿联的USB蓝牙dongle,链接:https://item.jd.com/100022743908.html
遥控器终端输⼊ble_pair进⾏⼴播配对
linux PC端输入: ./nimble-linux-client -i 0 -d apus_rc_xxx 进行连接。apus_rc_xxx 是遥控器的设备名,根据实际情况修改。nimble-linux-client 工具在SDK对应的 apusppsle_remote_control