本文將說明:
- 安裝燒錄HC-05/HC-06模組的工具軟體
- 備份HC-05/HC-06模組的韌體
- 燒入HID(人機介面)韌體,讓HC-05/HC-06模組變成無線藍牙鍵盤介面。
安裝燒錄HC-05/HC-06模組的工具軟體
參考instructables.com網站的“Upgrade Your $3 Bluetooth Module to Have HID Firmware”這篇教學說明,燒錄HC-05和HC-06韌體需要下列軟體:
- Blue Suite:這是藍牙通訊晶片設計公司CSR (Cambridge Silicon Radio) 提供的軟體開發套件,但是在CSR被高通(Qualcomm)併購之後,就中止開發這套軟體,也無法在原先的CSR網站下載了。
我在這個github討論串提供的Google雲端硬碟網址下載Blue Suite 2.6.6版。在Windows 11安裝執行沒問題,但也許是客製化的FTDI驅動程式不相容,無法在Win11系統中成功燒錄HC-06和HC-05韌體,後來改用Windows 10系統的舊筆電,燒錄成功。 - FTDI序列通訊模組驅動程式:內含一個usbspi.dll軟體元件,用它替換Blue Suite軟體預設的同名元件,讓Blue Suite識別並操控採用FT232系列晶片的USB轉TTL序列通訊模組。
- Zadig驅動程式安裝軟體:用它安裝、取代Windows系統預設的FTDI序列通訊晶片的驅動程式,才能透過FT232序列通訊模組燒錄HC-05和HC-06。
安裝Blue Suite套件
安裝Blue Suite 2.6.6,只需要一路按“Next”(下一步),用預設選項安裝即可。預設安裝路徑是C:\Program Files (x86)\CSR\BlueSuite 2.6.6。
安裝完畢後,解壓縮之前下載的「FTDI序列通訊模組驅動程式」csr-spi-ftdi-0.5.3.zip,把其中的usbspi.dll檔拖入Blue Suite 2.6.6的安裝路徑,覆蓋舊檔。
取代Windows系統預設的FT232驅動程式
先把FT232 USB轉TTL序列通訊模組(以下簡稱「FT232板」)插入電腦USB。
然後執行Zadig軟體,選擇主功能表的Options→List All Devices(選項→列舉所有裝置)指令:
「裝置」選項選擇FT232 USB UART:
「替換的驅動程式」選擇libusbK,最後按下Replace Driver(替換驅動程式)鈕。完成後就可以關閉這個軟體。
備份HC-06或HC-05模組的韌體
FT232板按照上一篇貼文連接HC-06或HC05藍牙模組的SPI介面,然後從Windows系統「開始」選單的「所有應用程式」中,開啟「CSR BlueSuite 2.6.6→BlueFlash」燒錄工具軟體。
首先從「燒錄器」下拉式選單選擇FT232板,然後按一下Stop Processor(停止處理器),這個處理器指的是HC-5/HC-06模組。
我在Windows 11系統,按下Stop Processor(停止處理器)之後,BlueFlash軟體始終沒有回應,電腦重新開機再嘗試數次,都是這樣,後來改用Windows 10就解決了。
按下Dump(傾印)鈕,取出HC-05/HC-06模組的韌體,它會詢問你要把檔案儲存在哪裡。
然後它就開始取出藍牙模組的韌體,完成之後,會在本機磁碟儲存dump.xpv 和dump.xdv兩個檔案。日後若需要恢復HC-05/HC-06的功能,可藉由這個工具軟體的Download(下載)鈕,把備份下來的韌體檔寫回藍牙模組。
備份HC-06或HC-05藍牙模組的預設參數設置
除了韌體,CSR藍牙晶片會在快閃記憶體儲存一些參數,像是無線傳輸最大功率值和UART序列埠的傳輸速率,這些數據都存在叫做Persistent Store(持久儲存區,簡稱PS)快閃記憶體分區中,詳細說明請參閱CSR BC417系列晶片的技術文件。
藍牙模組的參數資料可以透過PSTool工具程式讀取、寫入和備份。
開啟「CSR BlueSuite 2.6.6→PSTool」工具程式,畫面將出現如下的Choose Transport(選擇通訊介面)對話方塊,請依照下圖選擇FT232板。
接著選擇File→Dump(檔案→傾印)指令:
再選擇存檔路徑,即可備份參數資料(副檔名是.psr的純文字檔)。
最終完成的備份有三個檔案。
根據我的測試,上一節備份的韌體檔(.xpv和.xdv)裡面已經整合了參數設置,我在同一個HC-06模組燒錄HC-05韌體(Google雲端硬碟的下載連結)和下一節的HID韌體,最後寫回備份的韌體檔,使用PSTool工具觀察,PS參數各自都有變化,也有復原。
燒錄HID(人機介面)規範的韌體
HC-05和HC-06都是藍牙SPP序列傳輸規範的模組;有個採用相同藍牙晶片的RN-42模組,具有SPP序列通訊和HID人機介面兩種韌體,HID韌體可以讓該模組被電腦和手機識別成藍牙鍵盤裝置。
把RN-42模組的韌體燒錄(刷入)到HC-06或HC-05,它也會變成支援HID規範的藍牙模組。
我在網路上找到RN-42模組的HID韌體檔,將它解壓縮備用。
再次開啟BlueFlash燒錄工具,按下Choose File(選擇檔案)鈕,選取RN-42的韌體檔(rn-42.xpv)、按下Download(下載)鈕開始燒錄。燒錄完畢後,可按下Verify(驗證)鈕驗證是否燒錄內容是否完整。
如此,這個HC-05/HC-06模組就變成藍牙鍵盤通訊介面了。
請問該如何解決打開BlueFlash選取FT232R時會跳出invalid stream?
請嘗試:
1. 更換BlueFlash版本
2. 更換FT232序列通訊板,也許非原廠FT232晶片會造成影響。
之前使用BlueFlash時,可以成功Stop Processor
但最近又再次使用,可是按下後,就會卡住,之後變\”應用程式沒有回應\”
請問該如何解決呢?
謝謝
不知…我在Windows 10上測試執行無誤。