CSR8670项目实战:BlueAgBatC蓝牙发射器BLE遥控器
为了方便大家学习,现与我爱蓝牙网联合推出【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遥控器相关推荐
- CSR8670项目实战:BluePager蓝牙寻呼机
为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...
- CSR8670项目实战:BlueHeart心率监测耳机
为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...
- CSR8670项目实战:4人组网蓝牙对讲耳机
为了方便大家学习,现与我爱蓝牙网联合推出[QCC300x/CSR867x/QCC30xx/QCC51xx开发板]. 博主联系方式:Call-15715161220,QQ-705829339 技术交流Q ...
- CSR8670项目实战:BlueHeartSound电子心音计
为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...
- CSR8670项目实战:BlueHeartSound2电子心音计
为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入群,赠PP ...
- CSR8670项目实战:BlueCar蓝牙音频网关
为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...
- CSR8670项目实战:BlueDongle 蓝牙音频测试dongle
为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入群,赠PP ...
- HaaS EDU物联网项目实战:微信小程序实现云养花
HaaS EDU K1是一款高颜值.高性能.高集成度的物联网开发板,板载功能强大的4核(双核300Mhz M33+双核1GHz A7)主芯片,2.4G/5G双频Wi-Fi,双模蓝牙(经典蓝牙/BLE) ...
- 零基础学习嵌入式入门以及项目实战开发【手把手教+国内独家+原创】
零基础学习嵌入式入门以及项目实战开发[手把手教+国内独家+原创] 独家拥有,绝对经典 创 科 之 龙 嵌入式开发经典系列教程 [第一期] 主讲人: ...
最新文章
- mysql sql 事务写作_mysql中的事务
- 大数据驱动的运营创新和探索
- 【心塞】因为一个低级错误,生产数据库崩溃了将近半个小时
- 【AI-1000问】人脸的4个方向,你还分的清楚吗?
- Eclipse断点调试
- 【Pytorch神经网络理论篇】 08 Softmax函数(处理分类问题)
- 论文阅读02:基于深度学习的图像细粒度分类算法
- 9-11NOIP模拟赛总结
- 知名视频编辑工具:达芬奇剪辑调色软件 DaVinci Resolve Studio Mac v17.3.1
- 十一、JAVA接口的定义和使用
- html静态页面存储,页面保存为静态页面
- 帕拉丁(山东)俱乐部大型西藏自驾游,天籁之旅,与心灵自由相约
- 阴阳师1月服务器维护,《阴阳师》手游1月24日维护更新公告:新区「暖风春穗」集结开启!...
- Win10修改用户名及用户文件夹名
- linux桌面lxde 安装_archlinux下lxde安装与配置教程
- HC110110026 网络地址转换
- UE4之添加开场动画
- js牛客网、赛码网输入输出
- CSS line-height与垂直居中
- 订货宝 html源码,订货宝新功能,代客下单等一大波移动管理端功能
热门文章
- Adobe Illustrator AI 选择颜色的时候,使用吸管工具,如何快捷操作?
- 2023智慧养老展,北京老年智能产品及智慧养老管理系统展览会
- 打印插件LODOP使用介绍
- Java实现大数乘法_Java实现大整数乘法
- Stable Diffusion - Stable Diffusion WebUI 图像生成工具的环境配置
- C语言之结构体(进阶篇)
- 易语言ftp服务器管理器,易语言ftp服务器源码
- mysql上传木马_通过Mysql语句生成后门木马的方法_MySQL
- 【unity shader/风格化水表面渲染/基础笔记】urp代码版02-岸边泡沫的生成
- echarts 外部按钮触发图片下载