为了方便大家学习,现与我爱蓝牙网联合推出【QCC300x/CSR867x/QCC30xx/QCC51xx开发板】。

⭐⭐⭐⭐⭐【本项目为客户项目,欢迎商务合作】⭐⭐⭐⭐⭐
技术交流QQ群号:1033022961
开发板会员QQ群号:725398389(凭订单号入群,赠独家学习资料)
——————————正文分割线———————————–

1. 引言

最近刚完成一位朋友的委托,内容是开发一款可连接BLE遥控器的蓝牙发射器。

熟悉CSR8670 ADK的朋友一定知道,官方的source例程中并没有包含BLE功能,而sink例程中包含大量BLE相关的功能实现。如何在source例程中加入BLE功能,是一个比较有挑战的开发任务。经过一段时间的摸索,实现了在发射模式连接BLE遥控器并获取电量信息等功能。

2. 主要功能

  • 蓝牙免提通话 AGHFP
  • 蓝牙音乐发射 A2DP Source
  • 耳机配对键和BLE遥控器配对键
  • 可连接一个BLE遥控器,开机自动回连
  • BLE遥控器的按键可切换AGHFP和A2DP

系统框图如下:

CSR8670工作在发射模式,分别有两个配对键,一是耳机配对键,二是BLE遥控器配对键。

3. 项目难点

项目的主要难点有两个,一是将sink例程中与BLE相关的代码合入source例程;二是开机后自动回连BLE遥控器。

难点一:与BLE相关的代码,主要集中在sink_ble_xxx.c/.h和sink_gatt_xxx.c/.h等文件,以及gatt相关的库文件。将这些文件添加到工程中后,可能会提示很多与attributes相关的错误,这里面需要充分理解attributes。attributes的用途是存储所有与已配对设备相关联的信息,以sink_attributes为例:

当sink与某个蓝牙设备配对后,会存储蓝牙连接信息到PSKEY中。sink和source的蓝牙角色定义不同,attributes差异很大。需要sink的sink_attributes替换成source的attributes,同时把与gatt相关的属性添加到attributes中。

难点二:自动回连动作受到BLE连接加密方式的影响。BLE连接有加密和非加密连接这两种方式,当使用加密连接时,BLE遥控器的连接信息会存储在单独attributes中,并加入一个BLE whitelist。在开机时,会自动尝试连接此whitelist中的最高优先级的设备。当使用非加密连接时,BLE遥控器的信息不会储存,每次开机时需自动进入BLE扫描模式,找到BLE遥控器并连接。

4. 总结和展望

  • 受益于CSR8670软件架构的健壮性,此项目中提到的方法可以应用在其他BLE client协议,或者是让source工作在BLE server以提供BLE服务。
  • 考虑未来QCC30xx/51xx可能会提供source例程,此方法也可以应用在下一代芯片平台。

CSR8670项目实战:BlueAgBatC蓝牙发射器BLE遥控器相关推荐

  1. CSR8670项目实战:BluePager蓝牙寻呼机

    为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...

  2. CSR8670项目实战:BlueHeart心率监测耳机

    为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...

  3. CSR8670项目实战:4人组网蓝牙对讲耳机

    为了方便大家学习,现与我爱蓝牙网联合推出[QCC300x/CSR867x/QCC30xx/QCC51xx开发板]. 博主联系方式:Call-15715161220,QQ-705829339 技术交流Q ...

  4. CSR8670项目实战:BlueHeartSound电子心音计

    为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...

  5. CSR8670项目实战:BlueHeartSound2电子心音计

    为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入群,赠PP ...

  6. CSR8670项目实战:BlueCar蓝牙音频网关

    为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...

  7. CSR8670项目实战:BlueDongle 蓝牙音频测试dongle

    为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入群,赠PP ...

  8. HaaS EDU物联网项目实战:微信小程序实现云养花

    HaaS EDU K1是一款高颜值.高性能.高集成度的物联网开发板,板载功能强大的4核(双核300Mhz M33+双核1GHz A7)主芯片,2.4G/5G双频Wi-Fi,双模蓝牙(经典蓝牙/BLE) ...

  9. 零基础学习嵌入式入门以及项目实战开发【手把手教+国内独家+原创】

    零基础学习嵌入式入门以及项目实战开发[手把手教+国内独家+原创] 独家拥有,绝对经典                            创 科 之 龙 嵌入式开发经典系列教程 [第一期] 主讲人: ...

最新文章

  1. mysql sql 事务写作_mysql中的事务
  2. 大数据驱动的运营创新和探索
  3. 【心塞】因为一个低级错误,生产数据库崩溃了将近半个小时
  4. 【AI-1000问】人脸的4个方向,你还分的清楚吗?
  5. Eclipse断点调试
  6. 【Pytorch神经网络理论篇】 08 Softmax函数(处理分类问题)
  7. 论文阅读02:基于深度学习的图像细粒度分类算法
  8. 9-11NOIP模拟赛总结
  9. 知名视频编辑工具:达芬奇剪辑调色软件 DaVinci Resolve Studio Mac v17.3.1
  10. 十一、JAVA接口的定义和使用
  11. html静态页面存储,页面保存为静态页面
  12. 帕拉丁(山东)俱乐部大型西藏自驾游,天籁之旅,与心灵自由相约
  13. 阴阳师1月服务器维护,《阴阳师》手游1月24日维护更新公告:新区「暖风春穗」集结开启!...
  14. Win10修改用户名及用户文件夹名
  15. linux桌面lxde 安装_archlinux下lxde安装与配置教程
  16. HC110110026 网络地址转换
  17. UE4之添加开场动画
  18. js牛客网、赛码网输入输出
  19. CSS line-height与垂直居中
  20. 订货宝 html源码,订货宝新功能,代客下单等一大波移动管理端功能

热门文章

  1. Adobe Illustrator AI 选择颜色的时候,使用吸管工具,如何快捷操作?
  2. 2023智慧养老展,北京老年智能产品及智慧养老管理系统展览会
  3. 打印插件LODOP使用介绍
  4. Java实现大数乘法_Java实现大整数乘法
  5. Stable Diffusion - Stable Diffusion WebUI 图像生成工具的环境配置
  6. C语言之结构体(进阶篇)
  7. 易语言ftp服务器管理器,易语言ftp服务器源码
  8. mysql上传木马_通过Mysql语句生成后门木马的方法_MySQL
  9. 【unity shader/风格化水表面渲染/基础笔记】urp代码版02-岸边泡沫的生成
  10. echarts 外部按钮触发图片下载