1. 程式人生 > >藍芽模組(HC-06,BT-06)與 電腦通訊

藍芽模組(HC-06,BT-06)與 電腦通訊

Hc-06,BT-06 都是在淘寶常見的藍芽模組,價格在20元左右,分主從模組。所謂“主從一體模組”,就是可以發出配對請求,又可以接受配對請求的。所謂“從模組”,就是隻能接受配對請求而不能發出配對請求。我們的手機、筆記本上配備的藍芽模組都是所謂的“主從一體”模組,也就是既能接收配對請求,也能傳送配對請求的。主從一體模組的價格和從模組也沒有差別,因此建議直接買主從一體的藍芽模組。

藍芽模組,如Hc-06,都有自己的指令,作用是用修改藍芽模組的名稱,密碼,模式等。這個具體的指令和是用方法可以諮詢淘寶店家,他們一般都有資料。本文只解釋我個人在剛開始用這個模組時搞不清楚的一些問題

(1)藍芽模組和串列埠有什麼關係?(or:使用這個模組我需要學習藍芽的具體工作原理、通訊協議麼?)

藍芽模組可以簡單的理解為一個無線的串列埠,藍芽模組式具體如何把你要傳送的資料編碼,調製,傳送出去的你不用管,你只要知道他就是一個串列埠,他有兩個資料口,一個叫RXD(接收),一個叫做TXD(傳送)。如圖1(我知道有點簡陋鄙視,不用提醒我)。在微控制器和藍芽的雙向通訊中,兩個藍芽就像是一條無形的串列埠線,一端連著Pc,一端連線你的微控制器,你的資料通過微控制器段的TXD傳送出去,在Pc端的RXD上就會讀到單片機發來的資料,反向同理。因此,如果你已經實現了微控制器和Pc的串列埠通訊,現在你什麼都不要做,只需要買一個藍芽,一個藍芽轉串列埠模組,替換掉你的串列埠線即可,具體往下看。(如果你不知道串列埠是怎麼工作的,可以參考有關微控制器/嵌入式的資料翻閱)。

Pc  --Bluetooth   RXD-------------TXD Bluetooth--微控制器

                  TXD-------------RXD

(圖1)

(2)Pc上如何操作

已經實現了微控制器和Pc的串列埠通訊,具體如何用藍芽換掉串列埠線呢?在微控制器端,你只要把微控制器上的TXD,RXD接到藍芽模組的RXD,TXD上。注意!!,是

微控制器  TXD----RXD 藍芽

RXD----TXD

這個和串列埠線的連線方法是一樣的,不要接反了。

Pc機上的連線就麻煩一些,要分兩種情況

(a)這是一種是偷懶省事的方法。到淘寶上買一個 藍芽轉串列埠模組(如PL2303TA就很好用),通過藍芽指令設定好微控制器上藍芽的配對密碼,然後把這個模組插到Pc的USB介面上(如對應COM5),這個模組就會自動和微控制器配對。這時候資料就會通過COM5和微控制器進行通訊。(對的,你基本上什麼都不用做,買東西換掉串列埠線就行了)。

(b)這種方法很麻煩,但是隻需要普通的藍芽介面卡就行。很多膝上型電腦都是自帶藍芽的,如果你的筆記本沒有藍芽,你需要購買一個USB藍芽介面卡(10塊錢左右)。這種方法之所以麻煩並且不穩定,是因為藍芽驅動程式很難用。以Windows 7為例,你可以選用的驅動無外乎兩種。一種是Windows自帶的,一種是叫“BlueSoleil”的第三方驅動。這種方法的大致原理就是,通過驅動操作藍芽介面卡,讓Pc上的藍芽介面卡和你的微控制器配對,然後藍芽服務設定為“串列埠通訊”,把藍芽介面卡接受到的資料對映到某個COM(如COM 5),然後你就可以在COM5上去和你的微控制器通訊。注意!!!不論是Win自帶藍芽驅動還是BlueSoleil 都是極不穩定的,不靠譜的。我和這兩個驅動搏鬥了兩個月之久,最後才發現(a)方法。如果你和我一樣,是一個學生,不是做真正的商用的工程專案,建議不要在這裡浪費時間,直接選用方法(a)。如果你一定不用 藍芽轉串列埠模組, 我也不知道該怎麼辦, 或許你需要自己寫一個靠譜的藍芽驅動。(Windows 7藍芽驅動會時常自動斷開配對,我猜測可能是為了節能,程式自動斷開的。BlueSoil有時候確實管用,但是會和Win 7 藍芽驅動產生衝突,藍屏、宕機等,需要關閉或徹底解除安裝自帶藍芽驅動後使用)

(3)電壓

藍芽模組的VCC接高電平,GND接低電平,這個沒什麼好說的。但是注意!!!有些藍芽模組預設電壓是3.7V。如果你用的是5V微控制器,記得接一個5K左右的降壓電阻。或者你買的時候注意模組引數,有的模組支援3V-5V的電壓。藍芽模組很容易壞,高壓一會就燒壞了。因此第一次用記得多買幾個備用。

(4)焊接

淘寶上的藍芽模組有兩種,一種帶排針的,是用來測試啊,接線的。另一種不帶,適合用來焊接在PCB上。藍芽模組怕高溫,焊接的時候一定要小心,焊點一定要一次成型,焊過一個焊點後等它冷卻了再焊下一個,不然長時間高溫,焊好了一上電,你就發現藍芽已經壞了。

以上內容是我半年之後憑記憶寫的,專案做完已經有一段時間了,以上內容難免有錯誤,如有錯誤,請賜教。