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) 函數來設置和獲取藍牙發射器的角色
2、連接方式
(1) 有條件搜索配對模式
該模式下發射器搜索周圍設備, 篩選出符合條件(目前是通過設備名和地址進行篩選的) 的設備進行
連接, 連接成功保留對方地址作為以后的連接地址。
(2) 無條件搜索配對模式
該模式下發射器搜索周圍設備, 搜到那個就連接那個, 連接成功保留對方地址作為以后的連接地址。
具體代碼中,是用emitter_user.c中的SEARCH_BD_NAME_LIMIITED宏來選擇,另外一個,實際項目中,了避免搜索連接的時候經常連接到同一個,可以配置成記住連接過的前幾個設備,?如5個,可通過以下宏來操作:
#define SEARCH_BD_ADDR_FILT 5 ///<maximum:10
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杰理蓝牙发射方案开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于快速傅里叶变换实现的狗声识别器(人工
- 下一篇: 这场蝴蝶效应,从“丝滑”的双11开始