本文旨在補充《超圖解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-06藍牙序列埠通訊模組
基本的藍牙序列通訊模組沒有引出接腳,而是在印刷電路板的四周留下郵票般的齒孔,方便焊接。
若不想動手焊接,可以選購附帶底板的模組。這個底板附帶直流電壓轉換IC,方便連接3.6V~6V的電源。
附帶底板的HC-05藍牙模組外觀與接腳如下:
「命令回應模式」接腳(通常標示成“KEY”或“EN”),用於啟動AT命令模式,調整藍牙模組的設定(例如,調整序列埠的傳輸速率、修改模組的名稱、修改配對密碼…等等)。
附帶底板的HC-06藍牙模組的外觀與接腳:
實際上,因為模組生產廠商不同,並非所有附帶底板的HC-05和HC-06模組都像上圖一樣。有些模組只有4支引腳,在個人的應用和實驗場合,4支引腳足敷使用,只是不方便修改模組的參數,比較不建議購買:
並非所有6支引腳的藍牙模組的規格都相同。下圖是不同廠商的HC-05和HC-06模組的正面外觀:
從上面的照片可知,單憑焊接點,無法判斷模組類型(但HC-05模組底下的記憶體晶片有打勾勾記號),也無法得知實際引出的接腳是哪幾個,必須看電路圖或者用電錶測量。這是背面:
藍牙模組選購要點
市面上的藍牙裝置通常都屬於“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)。電路接線說明,請參閱下一篇貼文。
老師您好,
我所使用的是 Leonardo版,
已經可以讓所連接的HC-05呈現慢閃的狀態,
但是開啟序列埠監控視窗輸入at指令完全沒有反應,
線路與程式參考於此https://www.instructables.com/id/Modify-The-HC-05-Bluetooth-Module-Defaults-Using-A/
檢查過線路與鮑率還是無法得知問題點,非常苦惱
請參閱這一則回應
老師您好,這裡之前購買了Dimini,想請問一下在Dimini在接好TX與RX接腳後應該如何使用Python跟HC05做連結呢?
按照一般UART序列裝置接法即可,程式同樣依照《超圖解Python物聯網》7-18頁的UART模組設置。
thanks,
jeffrey
老師您好
請問HC-05有辦法支援一對多連線嗎?
請參閱這一則留言。
thanks,
jeffrey
我想問我用hc-05有辦法傳送gy521的數值到電腦的序列埠嗎?
在電腦或手機上安裝序列埠通訊軟體,就可連上了。