HC-05與HC-06藍牙模組補充說明(一)

本文旨在補充《超圖解Arduino互動設計入門》第14章「藍牙序列埠模組」,說明常見的HC-05和HC-06這兩款藍牙模組的差異。

常見的兩種支援SPP(Serial Port Profile,序列埠規範)的藍牙模組:

  • HC-05:主∕從(master/slave)一體型,出廠預設通常是「從端」模式,但是能自行透過AT命令修改(參閱「執行AT命令(AT-command)修改藍牙模組的資料傳輸速率」,以及下一篇貼文說明)。
  • HC-06:主控端或從端模式,出廠前就設定好,不能更改;市面上販售的通常是「從端」模式。

HC-05與HC-06藍牙序列埠通訊模組

HC-05和HC-06的硬體相同,都採用英國劍橋的CSR (Cambridge Silicon Radio) 公司的BC417143晶片,支援藍牙2.1+EDR規範,只是晶片內部的韌體不同。CSR是全球市佔率最高的藍牙通訊晶片廠,2014年10月中旬,全球手機晶片龍頭高通(Qualcomm)同意以25億美元現金,購併CSR,以強化該公司在物聯網(Internet of Things)的布局。韓國三星也於2012年花費3.1億美元,取得CSR公司的藍牙、WiFi和GPS定位等技術專利。

HC-05模組的外觀與主要接腳如下:

HC-05模組的外觀與主要接腳

附帶底板的HC-05和HC-06藍牙序列埠通訊模組

基本的藍牙序列通訊模組沒有引出接腳,而是在印刷電路板的四周留下郵票般的齒孔,方便焊接。

若不想動手焊接,可以選購附帶底板的模組。這個底板附帶直流電壓轉換IC,方便連接3.6V~6V的電源

附帶底板的HC-05藍牙模組外觀與接腳如下:

附帶底板的HC-05藍牙模組外觀與接腳

「命令回應模式」接腳(通常標示成“KEY”或“EN”),用於啟動AT命令模式,調整藍牙模組的設定(例如,調整序列埠的傳輸速率、修改模組的名稱、修改配對密碼…等等)。

附帶底板的HC-06藍牙模組的外觀與接腳:

附帶底板的HC-06藍牙模組的外觀與接腳

實際上,因為模組生產廠商不同,並非所有附帶底板的HC-05和HC-06模組都像上圖一樣。有些模組只有4支引腳,在個人的應用和實驗場合,4支引腳足敷使用,只是不方便修改模組的參數,比較不建議購買:

只有4支引腳的藍牙模組

並非所有6支引腳的藍牙模組的規格都相同。下圖是不同廠商的HC-05和HC-06模組的正面外觀:

不同廠商的HC-05和HC-06模組的正面照片

從上面的照片可知,單憑焊接點,無法判斷模組類型(但HC-05模組底下的記憶體晶片有打勾勾記號),也無法得知實際引出的接腳是哪幾個,必須看電路圖或者用電錶測量。這是背面:

不同廠商的HC-05和HC-06模組的背面照片

藍牙模組選購要點

市面上的藍牙裝置通常都屬於“slave(從端)”設備,像藍牙滑鼠∕鍵盤、藍牙GPS、藍牙遙控玩具…等等。

一般的Arduino藍牙遙控和通訊實驗,也都是用「從端」模式,所以HC-06模組足以應付大多數需求。但如果HC-05和HC-06模組的價格差不多,那就買HC-05。

HC-05和HC-06的主要差異在於主、從模式的設定,以及設置模組參數的AT命令的支援程度。HC-05通常支援30多道AT命令,HC-06只支援少數AT命令,但實務上會用到的AT命令通常也只有兩、三個(請參閱下一篇貼文說明)。

若要採購HC-05,請選擇有引出「命令回應模式」接腳的模組,方便執行AT命令。

不同藍牙模組的引腳和韌體可能不太一樣,購買時,務必跟廠商索取data sheet(規格說明書,含AT命令手冊,有些會附帶底板的電路圖)。

Bluetooth 4.0具備藍牙低功耗(Bluetooth Low Energy, BLE)模式,耗電量低,但電腦、手機和平板等裝置的支援、普及程度,不及2.1版。如果你確認你的電腦和手機都支援藍牙4.0,那就可以選購藍牙4.0的序列通訊模組。

不管是HC-05, HC-06還是藍牙4.0,對Arduino都沒有影響,控制程式都一樣,實際接線也只用到4條線:電源、接地、傳送(TxD)和接收(RxD)。電路接線說明,請參閱下一篇貼文。

延伸閱讀

Posts created 467

119 thoughts on “HC-05與HC-06藍牙模組補充說明(一)

  1. 老師您好,
    我所使用的是 Leonardo版,
    已經可以讓所連接的HC-05呈現慢閃的狀態,
    但是開啟序列埠監控視窗輸入at指令完全沒有反應,
    線路與程式參考於此https://www.instructables.com/id/Modify-The-HC-05-Bluetooth-Module-Defaults-Using-A/
    檢查過線路與鮑率還是無法得知問題點,非常苦惱

    1. 按照一般UART序列裝置接法即可,程式同樣依照《超圖解Python物聯網》7-18頁的UART模組設置。

      thanks,
      jeffrey

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top