1 頁 (共 1 頁)

HC-05 藍牙

發表於 : 2012-12-03 22:38:01
yehlu
接腳定義
圖檔
http://goods.ruten.com.tw/item/show?11090607793036
TX(1)
RX(2)
3.3V(12)
GND(13)
LED1(31)
LED2(32)
KEY(34)

設定指令
http://goods.ruten.com.tw/item/show?21210091461827

主從可指令切換,指令豐富齊全
利用此HC-05模組+底板, 可實現分時一對多通訊,同時控制多個從機藍牙模組......

HC -05模組
1、led引腳指示藍牙連接狀態,輸出脈衝表示沒有藍牙連接,輸出高表示藍牙已連接並打開了端口

2、電源電壓3.3V,未配對時電流約30mA,配對後約8mA,絕對禁止接反電源!電源絕對禁止超過4.2V!

3、接口電平3.3V,可以直接連接各種單片機(51,AVR,PIC,ARM,MSP430等),5V單片機也可直接連接,無需MAX232也不能經過 MAX232!

4、空曠地有效距離10米,超過10米也是可能的,但不對此距離的連接質量做保證

5、配對以後當全雙工串口使用,無需了解任何藍牙協議,但僅支持8位數據位、1位停止位、無奇偶校驗的通信格式,這也是最常用的通信格式,不支持其他格 式。

6、在未建立藍牙連接時支持通過AT指令設置波特率、名稱、配對密碼,設置的參數掉電保存。藍牙連接以後自動切換到透傳模式

7、體積小巧(2.7cm*1.3cm),工廠貼片生產,保證貼片質量。

8、該鏈接為從機,從機能與各種帶藍牙功能的電腦、藍牙主機、大部分帶藍牙的手機、PDA、PSP等智能終端配對,從機之間不能配對



底板
該底板已焊接好外圍元件,帶led連接指示,選用150mA的3.3V穩壓芯片(輸入電壓3.6~6V均可正常工作),引出TXD,RXD(3.3V電 平)方便接與單片機或GPS等串口設備連接,如連接GPS可以做藍牙GPS等,

板子尺寸:1.55cm*3.98cm,本底板不包含藍牙透傳模塊,單獨底板沒有任何藍牙功能,杜邦線需要自行準備或另外購買。

特別注意:

1.模塊輸入電源3.6~6V,禁止輸入超過7V,

2.該底板建議安裝藍牙主機模塊。

3.底板上按鍵為重新搜索按鍵,同時ON/OFF/WAKE腳為按鍵引出腳,可由外部MCU輸出高電平控制模塊重新搜索,STATE為LED狀態輸出腳, 未連接時輸出脈衝,連接後輸出高電平,可由MCU判斷狀態,底板可安裝各種兼容的藍牙模塊。

HC-05指令 集
HC-05嵌入式藍牙串口通訊模塊(以下簡稱模塊)具有兩種工作模式:命令響應工作
模式和自動連接工作模式,在自動連接工作模式下模塊又可分為主(Master)、從(Slave)
和回環(Loopback)三種工作角色。當模塊處於自動連接工作模式時,將自動根據事先設定
的方式連接的數據傳輸;當模塊處於命令響應工作模式時能執行下述所有
AT命令,用戶可向模塊發送各種AT指令,為模塊設定控制參數或發布控制命令。通過控制模塊外部引腳
(PIO11)輸入電平,可以實現模塊工作狀態的動態轉換。

串口模塊用到的引腳定義:

1、PIO8連接 LED,指示模塊工作狀態,模塊上電後閃爍,不同的狀態閃爍間隔不同。
2、PIO9連接 LED,指示模塊連接成功,藍牙串口匹配連接成功後,LED長亮。
3、PIO11模塊狀態切換腳,高電平 -->AT命令響應工作狀態,低電平或懸空 -->藍牙常規工作狀態。
4、模塊上已帶有復位電路,重新上電即完成複位。

設置為主模塊的步驟:

1、PIO11置高。
2、上電,模塊進入AT命令響應狀態。
3、超級終端或其他串口工具,設置波特率38400,數據位8位,停止位1位,無校驗位,無流控制。
4、串口發送字符“AT+ROLE=1\r\n”,成功返回“OK\r\n”,其中\r\n為回車換行。
5、PIO置低,重新上電,模塊為主模塊,自動搜索從模塊,建立連接。


指令詳細說明
(AT指令不區分大小寫,均以回車、換行字符結尾:\r\n)
1、測試指令:

指令響應參數
AT OK 無
2、模塊復位(重啟):

指令響應參數
AT+RESET OK 無

3、獲取軟件版本號:

指令響應參數
AT+VERSION?
+VERSION:
OK
Param:軟件版本號

舉例說明:

at+version?\r\n
+VERSION:2.0-20100601
OK

4、恢復默認狀態:

指令響應參數
AT+ORGL OK 無

出廠默認狀態:
①.設備類:0
②.查詢碼:0x0009e8b333
③.模塊工作​​角色:SlaveMode
④.連接模式:指定專用藍牙設備連接模式
⑤.串口參數:波特率—384000bits/s;停止位:1位;校驗位:無
⑥.配對碼:“1234”
⑦.設備名稱:“H-C-2010-06-01”


..

5、獲取模塊藍牙地址:

指令響應參數
AT+ADDR?
+ADDR:
OK
Param:模塊藍牙地址

藍牙地址表示方法:NAP:UAP:LAP(十六進制)
舉例說明:
模塊藍牙設備地址為:12:34:56:ab:cd:ef
at+addr?\r\n
+ADDR:1234:56:abcdef
OK

6、設置/查詢設備名稱:

指令響應參數
AT+NAME= OK
Param:藍牙設備名稱
默認名稱:“HC-05”AT+NAME?
1、+NAME:
OK——成功
2、FAIL——失敗


例如:
AT+NAME=HC-05\r\n——設置模塊設備名為:
“HC-05”
OK
AT+NAME=“HC-05”\r\n——設置模塊設備名為:
“HC-05”
OK
at+name=Beijin\r\n——設置模塊設備名為:
“Beijin”
OK
at+name=“Beijin”\r\n——設置模塊設備名為:
“Beijin”
OK
at+name?\r\n
+NAME: Beijin
OK

7、獲取遠程藍牙設備名稱:

指令響應參數
AT+RNAME?
1、+NAME:
OK——成功
2、FAIL——失敗
Param1:遠程藍牙設備地址
Param2:遠程藍牙設備地址

藍牙地址表示方法:
NAP:UAP:LAP(十六進制)
例如:
模塊藍牙設備地址為:
00:02:72:od:22:24,設備名稱為:
Bluetooth
at+rname? 0002,72,od2224\r\n
+RNAME:Bluetooth
OK
8、設置/查詢—模塊角色:

指令響應參數
AT+ROLE= OK Param:參數取值如下:
0——從角色(
Slave)
1——主角色(
Master)
2——回環角色(
Slave-Loop)
默認值:0
AT+ ROLE?
+ ROLE:
OK

模塊角色說明:
Slave(從角色)——被動連接;
Slave-Loop(回環角色)——被動連接,接收遠程藍牙主設備數據並將數據原樣返回給遠程藍
牙主設備;
Master(主角色)——查詢周圍
SPP藍牙從設備,並主動發起連接,從而建立主、從藍牙設
備間的透明數據傳輸通道。
9、設置/查詢—設備類:

指令響應參數
AT+CLASS= OK Param:設備類
藍牙設備類實際上是一個 32位
的參數,該參數用於指出設備類
型,以及所支持的服務類型。
默認值:0
具體設置見附件 1:設備類說明
AT+ CLASS?
1、+ CLASS:
OK——成功
2、FAIL——失敗

為了能有效地對周圍諸多藍牙設備實施過濾,快速查詢或被查詢自定義藍牙設備,用
戶可以將模塊設置為非標準藍牙設備類,如:0x1f1f(十六進制)。

10、設備/查詢—查詢訪問碼:

指令響應參數
AT+IAC=
1、OK——成功
2、FAIL——失敗
Param:查詢訪問碼
默認值:9e8b33
具體設置見附件2:查詢訪問碼說明AT+ IAC?
+IAC:
OK

訪問碼設置為GIAC(General Inquire Access Code:0x9e8b33)通用查詢訪問碼,可用來
發現或被發現周圍所有的藍牙設備;為了能有效地在周圍諸多藍牙設備中快速查詢或被查詢
自定義藍牙設備,用戶可以將模塊查詢訪問碼設置成GIAC和LIAC以外的數字,如:9e8b3f。
舉例:

AT+IAC=9e8b3f\r\n
OK
AT+IAC?\r\n
+IAC: 9e8b3f
OK

11、設置/查詢—查詢訪問模式:

指令響應參數
AT+INQM=,,

1、OK——成功
2、FAIL——失敗
Param:查詢模式
0——inquiry_mode_standard
1——inquiry_mode_rssi
Param2:最多藍牙設備響應數
Param3:最大查詢超時
超時範圍:1~48(折合成時間:1.28秒~61.4
44
秒)
默認值:1,1,48AT+ INQM? +INQM:,,

OK

舉例:
AT+INQM=1,9,48\r\n——查詢模式設置:帶RSSI信號強度指示,超過9個藍牙設備響應則
終止查詢,設定超時為48xl. 28=61.44秒。
OK
AT+INQM\r\n
+INQM:1, 9, 48
OK


12、設置/查詢—配對碼:

指令響應參數
AT+PSWD= OK
Param:配對碼
默認名稱:“1234”AT+ PSWD?
+ PSWD:
OK


13、設置/查詢—串口參數:

指令響應參數
AT+UART=,, OK Param1:波特率(
bits/s)
取值如下(十進制):
4800
9600
19200
38400
57600
115200
23400
460800
921600
1382400
Param2:停止位
0——1位
1——2位
Param3:校驗位
0——None
1——Odd
2——Even
默認設置:
9600,0,0AT+ UART?
+ UART=,,

OK


舉例:設置串口波特率:
115200,2位停止位,
Even校驗
AT+UART=115200,1,2,\r\n
OK
AT+UART?
+UART:115200,1,2
OK

14、設置/查詢—連接模式:

指令響應參數
AT+CMODE= OK Param:
0——指定藍牙地址連接模式
(指定藍牙地址由綁定指令設置)
1——任意藍牙地址連接模式
(不受綁定指令設置地址的約束)
2——回環角色(
Slave-Loop)
默認連接模式:
0
AT+ CMODE?
+ CMODE:
OK


15、設置/查詢—綁定藍牙地址:
藍牙地址表示方法: NAP:UAP:LAP(十六進制)

指令響應參數
AT+BIND= OK Param——綁定藍牙地址
默認綁定藍牙地址:
00:00:00:00:00:00 AT+ BIND? + BIND:
OK

藍牙地址表示方法: NAP:UAP:LAP(十六進制)
綁定指令只有在指定藍牙地址連接模式時有效!

舉例說明:
在指定藍牙地址連接模式下,綁定藍牙設備地址:12:34:56:ab:cd:ef
命令及響應如下:
AT+BIND=1234,56,abcdef\r\n
OK
AT+BIND?\r\n
+BIND:1234:56:abcdef
OK


16、設置/查詢—LED指示驅動及連接狀態輸出極性:

指令響應參數
AT+POLAR=, OK Param1:取值如下
0——PI08輸出低電平點亮 LED
1——PI08輸出高電平點亮 LED
Param2:取值如下
0——PI09輸出低電平指示連接成功
1——PI09輸出高電平指示連接成功
默認設置: 1,1
AT+ BIND? + POLAR=,
OK

HC-05藍牙模塊定義: PI08輸出驅動LED指示工作狀態; PI09輸出指示連接狀態。

舉例說明:
PI08輸出低電平點亮LE​​D,PI09輸出高電平指示連接成功。
命令及響應如下:
AT+POLAR=0,1\r\n
OK
AT+POLAR?\r\n
+POLAR=0,1
OK

17、設置/查詢—尋呼掃描、查詢掃描參數:

指令響應參數
AT+IPSCAN=,,

AT+IPSCAN?
OK
+IPSCAN: ,,

OK
Param1:查詢時間間隔
Param2:查詢持續時間
Param3:尋呼時間間隔
Param4:尋呼持續時間
上述參數均為十進制數。
默認值:1024,512,1024,512

舉例說明:


at+ipscan=1234,50
00,120
00,250\r\n
OK
at+ipscan?
+IPSCAN:1234,50
00,120
00,250


18、設置/查詢安全、加密模式:

指令響應參數
AT+SENM=,,
1、OK——成功
2、FAIL——失敗
Param:安全模式,取值如下:
0——sec_mode0+off
1——sec_mode1+non_secure
2——sec_mode2_service
3——sec_mode3_link
4——sec_mode_unknown
Param2加密模式,取值如下:
0——hci_enc_mode_off
1——hci_enc_mode_pt_to_pt
2——hci_enc_mode_pt_to_pt_and_bcast
默認值:0,0
AT+ SENM? + SENM:,,
OK


19、獲取藍牙模塊工作狀態:


指令響應參數
AT+STATE?
+ STATE:
OK
Param:模塊工作狀態
返回值如下:
“INITIALIZED”——初始化狀態
“READY”——準備狀態
“PAIRABLE”——可配對狀態
“PAIRED”——配對狀態
“INQUIRING”——查詢狀態
“CONNECTING”——正在連接狀態
“CONNECTED”——連接狀態
“DISCONNECTED”——斷開狀態
“UNKNOW”——未知狀態

舉例說明:
at+state?
+STATE:INITIALIZED——初始化狀態
OK

自行製作腳位
X,RX,TX,GND,VCC(3.3),KEY
設定時
X,D1,D0,GND,3.3,3.3
使用時
X,D0,D1,GND,3.3,X
LED
藍色,藍牙起動
紅色,使用中

Arduino as an USB to TTL adapter

發表於 : 2012-12-03 22:39:43
yehlu
http://coopermaa2nd.blogspot.tw/2012/07 ... apter.html

Arduino 也可以當成 USB to TTL 轉換器使用,方法很簡單,參考下圖,只要在 GND 和 Reset Pin 之間拉一條線就搞定了:

圖檔