JL杰理蓝牙发射方案开发

目前市场上中低端的蓝牙发射器产品,包括发射&接收二合一产品,大部分使用的都是JL杰理蓝牙芯片方案。作为蓝牙发射方案来说,主要要考虑的是兼容性的问题,即市面上其他品牌的蓝牙接收产品,是否能与发射端配对并保持稳定连接,杰理芯片这块表现还不错。实施具体项目时,可以使用杰理的690X(692N,蓝牙V4.2) 或是692X(692N,蓝牙5.0)芯片来做,从兼容性角度来说,推荐还是使用690X来做,特别是作发射&接收二合一产品时,从实际项目来看692X的还是不太稳定。

开发杰理蓝牙发射器,需使用专门的发射器SDK,可以开发纯蓝牙发射,或是发射&接收二合一(同一个时间只能是一个角色),使用690X系列,使用较多的有AC6905A, AC6905C等型号。开发发射器的案子,主要注意如下几点:

1、配置角色:

A、 BD_ROLE_HOST
蓝牙发射器 Emitter
B、 BD_ROLE_SLAVE
蓝牙接收器 Receiver

主要是在系统上电时,通过配置这个宏,通过emitter_init(u8 role) 函数来设置和获取蓝牙发射器的角色

JL杰理蓝牙发射方案开发_第1张图片
JL杰理蓝牙发射方案开发_第2张图片

2、连接方式
(1) 有条件搜索配对模式
该模式下发射器搜索周围设备, 筛选出符合条件(目前是通过设备名和地址进行筛选的) 的设备进行
连接, 连接成功保留对方地址作为以后的连接地址。
(2) 无条件搜索配对模式
该模式下发射器搜索周围设备, 搜到那个就连接那个, 连接成功保留对方地址作为以后的连接地址。

具体代码中,是用emitter_user.c中的SEARCH_BD_NAME_LIMIITED宏来选择,另外一个,实际项目中,了避免搜索连接的时候经常连接到同一个,可以配置成记住连接过的前几个设备, 如5个,可通过以下宏来操作:
#define SEARCH_BD_ADDR_FILT 5 /// 3、接口说明
发射器支持发射 AD 数据、 解码数据和 USB_audio 数据, 所以进行输入源切换的时候, 需要关闭当前
正在发射的资源:
//aux 发射接口
void set_emitter_aux_media(u8 aux_en)
//music 解码和 usb_audio 发射接口
void set_emitter_decode_media(u8 dec_en)
其中 music 解码和 usb_audio 发射需要创建 task 来实现, 所以进行切换的时候, 需要删除当前的 task:

os_task_delete(MUSIC_TASK_NAME)
或者
os_task_delete(_TASK_NAME)


另外,如果做发射&接收二合一的项目,想断电后也能保存当前角色状态时,可使用flash的vm区保存状态字段来实现,在开机上电时,读取相关数值再进行相关角色即可。

你可能感兴趣的:(JL杰理相关)