最近在自製藍牙機械鍵盤,需要一個藍牙模塊,常用的模塊是rn42或esp32。還有一種方法是購買廉價的hc-06或hc-05,刷rn42固件支持藍牙hid。
HC-05和HC-06的硬體相同,都採用CSR公司的BC417143晶片,只是固件一樣不同。兩款藍牙模塊是CSR公司推出的主從機一體藍牙模塊板,非常多人會搭配Arduino進行一些簡單的開發。
某寶購買的藍牙hc-06模塊,應該是寨品而不是原裝貨,一些元件和網絡上的不一樣。
網絡上的教程刷固件使用到的是ft232RL編程器,接線示意如圖所示。
由於沒有FT232RL編程器,我選用了Ch341a土豪金編程器作為替代。
先焊接上clk,miso,mosi,csb四條線。
在線的尾端接上220歐姆的電阻。
使用麵包板固定。
接好線材後就能進行軟體的安裝。
github上有使用ch341a刷csr模塊固件的方法。
最新版本是0.52,已經兩年多沒有更新過。
安裝csr官方的開放套件BlueSuite。
將github下載的源碼,編譯出dll文件。將修改過的usbspi.dll文件複製到BlueSuite文件夾中,替換原版dll文件。
使用Zadig替換spi的驅動程序。
將ch341a的驅動程序替換成libusbK。
將ch341a的跳線帽設定到刷機模式。
運行BlueFlash,進行固件更新。
無語是怎麼都無法識別到ch341a,失敗了。
只能購買FT232RL編程器進行固件更新了。
再次到github下載修改的驅動程序。
重複之前步驟替換掉驅動,將驅動從原來的FTDBUS替換成libusbK。
使用FT232RL後,BlueFlash能正確識別出編程器了。由於是山寨的編程器,序列號是000000。
點擊停止驅動程序,進行固件更新模式。先保存原版的固件,免得出問題後無法補救。
再運行套件中的PStool進行調試。
編程模式依舊是spi,編程器是FT232RL。
連接上hc-06,能看到固件的相關參數設定。將相關的參數保存,格式是psr。
mega下載rn-42的固件,進入BlueFlash,選中rn42的固件進行更新。
固件更新後還要對設置參數進行修改,因為HC-06的陣腳定義是有差別的。
至此HC-06就變成了HID固件,可以搭配有線機械鍵盤,改造成藍牙機械鍵盤了。
HC-06藍牙模塊板子廉價,刷rn42固件後能實現藍牙HID功能,性價比高。不過hc-06模塊採用的是藍牙2.0協議,作為機械鍵盤的主控較為耗電,抗幹擾和兼容性低,不是很實用。就圖個玩,畢竟一個藍牙3.0的bcm20730模塊或hc-08模塊價格都在20元以上,博通的驅動還不好獲得。