Difference between revisions of "Serial Port Bluetooth Module (Master/Slave) : HC-05"
(→Hardware Features) |
m (→Download) |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 9: | Line 9: | ||
Frequency Hopping Feature). It has the footprint as small as 12.7mmx27mm. Hope it will simplify | Frequency Hopping Feature). It has the footprint as small as 12.7mmx27mm. Hope it will simplify | ||
your overall design/development cycle. | your overall design/development cycle. | ||
+ | |||
+ | Go shopping [http://imall.iteadstudio.com/im120723009.html Serial Port Bluetooth Module (Master/Slave):HC-05 (IM120723009)] | ||
==Specifications== | ==Specifications== | ||
Line 22: | Line 24: | ||
===Software Features=== | ===Software Features=== | ||
+ | * Default Baud rate: 38400, Data bits:8, Stop bit:1,Parity:No parity, Data control: has. | ||
+ | Supported baud rate: 9600,19200,38400,57600,115200,230400,460800. | ||
+ | * Given a rising pulse in PIO0, device will be disconnected. | ||
+ | * Status instruction port PIO1: low-disconnected, high-connected; | ||
+ | * PIO10 and PIO11 can be connected to red and blue led separately. When master and slave | ||
+ | are paired, red and blue led blinks 1time/2s in interval, while disconnected only blue led | ||
+ | blinks 2times/s. | ||
+ | * Auto-connect to the last device on power as default. | ||
+ | * Permit pairing device to connect as default. | ||
+ | * Auto-pairing PINCODE:”0000” as default | ||
+ | * Auto-reconnect in 30 min when disconnected as a result of beyond the range of connection. | ||
==Hardware== | ==Hardware== | ||
+ | [[File:HC-051.jpg]] | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''PIN Name''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''PIN #''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''PAD Type''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Description''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Note''' | ||
+ | |- | ||
+ | | GND||13,21,22||VSS||Ground Pot|| | ||
+ | |- | ||
+ | | 3.3 VCC||12||3.3V||Integrated 3.3V(+) supply with On-chip linear regulator output within 3.15-3.3V|| | ||
+ | |- | ||
+ | | AIO0||9||Bi-directional||Programmable input/output line|| | ||
+ | |- | ||
+ | | AIO1||10||Bi-directional||Programmable input/output line|| | ||
+ | |- | ||
+ | | AIO0||23||Bi-directional RX EN||Programmable input/output line, control output for LNA (if fitted)|| | ||
+ | |- | ||
+ | | AIO1||24||Bi-directional TX EN||Programmable input/output line, control output for PA (if fitted)|| | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''PIN Name''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''PIN #''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''PAD Type''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Description''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Note''' | ||
+ | |- | ||
+ | | PIO2||25||Bi-directional||Programmable input/output line|| | ||
+ | |- | ||
+ | | PIO3||26||Bi-directional||Programmable input/output line|| | ||
+ | |- | ||
+ | | PIO4||27||Bi-directional||Programmable input/output line|| | ||
+ | |- | ||
+ | | PIO5||28||Bi-directional||Programmable input/output line|| | ||
+ | |- | ||
+ | | PIO6||29||Bi-directional||Programmable input/output line|| | ||
+ | |- | ||
+ | | PIO7||30||Bi-directional||Programmable input/output line|| | ||
+ | |- | ||
+ | | PIO8||31||Bi-directional||Programmable input/output line|| | ||
+ | |- | ||
+ | | PIO9||32||Bi-directional||Programmable input/output line|| | ||
+ | |- | ||
+ | | PIO10||33||Bi-directional||Programmable input/output line|| | ||
+ | |- | ||
+ | | PIO11||34||Bi-directional||Programmable input/output line|| | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''PIN Name''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''PIN #''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''PAD Type''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Description''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Note''' | ||
+ | |- | ||
+ | | RESETB||11||CMOS input with weak internal pull-up||Reset of low.input debouncde so must be low for >5MS to cause a reset|| | ||
+ | |- | ||
+ | | UART_RTS||4||CMOS output, tri-stable with weak internal pull-up||UART request to send, active low|| | ||
+ | |- | ||
+ | | UART_CTS||3||CMOS input with weak internal pull-down||UART clear to send, active low|| | ||
+ | |- | ||
+ | | UART_RX||2||CMOS input with weak internal pull-down||UART Data input|| | ||
+ | |- | ||
+ | | UART_TX||1||CMOS output, tri-stable with weak internal pull-up||UART Data output|| | ||
+ | |- | ||
+ | | SPI_MOSI||17||CMOS input with weak internal pull-down||Serial peripheral interface data input|| | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''PIN Name''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''PIN #''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''PAD Type''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Description''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Note''' | ||
+ | |- | ||
+ | | SPI_CSB||16||CMOS input with weak internal pull-up||Chip select for serial peripheral interface, active low|| | ||
+ | |- | ||
+ | | SPI_CLK||19||CMOS input with weak internal pull-down||Serial peripheral interface clock|| | ||
+ | |- | ||
+ | | SPI_MISO||18||CMOS input with weak internal pull-down||Serial peripheral interface data output|| | ||
+ | |- | ||
+ | | USB_-||15||Bi-directional|||| | ||
+ | |- | ||
+ | | USB_+||20||Bi-directional|||| | ||
+ | |- | ||
+ | | NC||14|||||| | ||
+ | |- | ||
+ | | PCM_CLK||5||Bi-directional||Synchronous PCM data clock|| | ||
+ | |- | ||
+ | | PCM_OUT||6||CMOS output||Synchronous PCM data output|| | ||
+ | |- | ||
+ | | PCM_IN||7||CMOS input||Synchronous PCM data input|| | ||
+ | |- | ||
+ | | PCM_SYNC||8||Bi-directional||Synchronous PCM data strobe | ||
+ | |} | ||
==AT command Default== | ==AT command Default== | ||
+ | How to set the mode to server (master): | ||
+ | |||
+ | 1. Connect PIO11 to high level. | ||
+ | |||
+ | 2. Power on, module into command state. | ||
+ | |||
+ | 3. Using baud rate 38400, sent the “AT+ROLE=1\r\n” to module, with “OK\r\n” | ||
+ | means setting successes. | ||
+ | |||
+ | 4. Connect the PIO11 to low level, repower the module, the module work as server | ||
+ | (master). | ||
+ | |||
+ | AT commands: (all end with \r\n) | ||
+ | ===1. Test command:=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT||OK||- | ||
+ | |} | ||
+ | |||
+ | ===2. Reset=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+RESET||OK||- | ||
+ | |} | ||
+ | |||
+ | ===3. Get firmware version=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+VERSION?||+VERSION:<Param> OK ||Param : firmware version | ||
+ | |} | ||
+ | |||
+ | '''Example:''' | ||
+ | |||
+ | AT+VERSION?\r\n | ||
+ | |||
+ | +VERSION:2.0-20100601 | ||
+ | |||
+ | OK | ||
+ | |||
+ | ===4. Restore default=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+ORGL||OK||- | ||
+ | |} | ||
+ | |||
+ | '''Default state:''' | ||
+ | |||
+ | Slave mode, pin code :1234, device name: H-C-2010-06-01 ,Baud | ||
+ | 38400bits/s. | ||
+ | |||
+ | ===5. Get module address=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+ADDR?||+ADDR:<Param> OK ||Param: address of Bluetooth module | ||
+ | |} | ||
+ | Bluetooth address: NAP: UAP : LAP | ||
+ | |||
+ | '''Example:''' | ||
+ | |||
+ | AT+ADDR?\r\n | ||
+ | |||
+ | +ADDR:1234:56:abcdef | ||
+ | |||
+ | OK | ||
+ | |||
+ | ===6. Set/Check module name:=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+NAME=<Param>||OK||Param: Bluetooth module name (Default :HC-05) | ||
+ | |- | ||
+ | | AT+NAME?||+NAME:<Param> OK (/FAIL) ||Param: Bluetooth module name (Default :HC-05) | ||
+ | |} | ||
+ | '''Example:''' | ||
+ | |||
+ | AT+NAME=HC-05\r\n set the module name to HC-05 | ||
+ | |||
+ | OK | ||
+ | |||
+ | AT+NAME=ITeadStudio\r\n | ||
+ | |||
+ | OK | ||
+ | |||
+ | AT+NAME?\r\n | ||
+ | |||
+ | +NAME: ITeadStudio | ||
+ | |||
+ | OK | ||
+ | |||
+ | ===7. Get the Bluetooth device name:=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+RNAME?<Param1>||1. +NAME:<Param2> OK 2. FAIL||Param1,Param 2 : the address of Bluetooth device | ||
+ | |} | ||
+ | |||
+ | '''Example:''' (Device address 00:02:72:od:22:24,name:ITead) | ||
+ | |||
+ | AT+RNAME? 0002,72,od2224\r\n | ||
+ | |||
+ | +RNAME:ITead | ||
+ | |||
+ | OK | ||
+ | |||
+ | ===8. Set/Check module mode:=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+ROLE=<Param> ||OK||Param: 0- Slave 1-Master 2-Slave-Loop | ||
+ | |- | ||
+ | | AT+ ROLE? ||+ROLE:<Param> OK||Param: 0- Slave 1-Master 2-Slave-Loop | ||
+ | |} | ||
+ | |||
+ | ===9. Set/Check device class=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+CLASS=<Param>||OK||Param: Device Class | ||
+ | |- | ||
+ | | AT+ CLASS? ||1. +CLASS:<Param> OK 2. FAIL||Param: Device Class | ||
+ | |} | ||
+ | |||
+ | ===10. Set/Check GIAC (General Inquire Access Code)=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+IAC=<Param> ||1.OK 2. FAIL||Param: GIAC (Default : 9e8b33) | ||
+ | |- | ||
+ | | AT+IAC ||+IAC:<Param> OK||Param: GIAC (Default : 9e8b33) | ||
+ | |} | ||
+ | |||
+ | '''Example:''' | ||
+ | |||
+ | AT+IAC=9e8b3f\r\n | ||
+ | |||
+ | OK | ||
+ | |||
+ | AT+IAC?\r\n | ||
+ | |||
+ | +IAC: 9e8b3f | ||
+ | |||
+ | OK | ||
+ | |||
+ | ===11. Set/Check -- Query access patterns=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+INQM=<Param>,<Param2>, <Param3> ||1.OK 2. FAIL||Param: 0——inquiry_mode_standard 1——inquiry_mode_rssi Param2: Maximum number of Bluetooth devices to respond to Param3: Timeout (1-48 : 1.28s to 61.44s) | ||
+ | |- | ||
+ | | AT+ INQM? ||+INQM :<Param>,<Param2>, <Param3> OK ||Param: 0——inquiry_mode_standard 1——inquiry_mode_rssi Param2: Maximum number of Bluetooth devices to respond to Param3: Timeout (1-48 : 1.28s to 61.44s) | ||
+ | |} | ||
+ | |||
+ | '''Example:''' | ||
+ | |||
+ | AT+INQM=1,9,48\r\n | ||
+ | |||
+ | OK | ||
+ | |||
+ | AT+INQM\r\n | ||
+ | |||
+ | +INQM:1, 9, 48 | ||
+ | |||
+ | OK | ||
+ | |||
+ | ===12. Set/Check PIN code:=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+PSWD=<Param>||OK||Param: PIN code (Default 1234) | ||
+ | |- | ||
+ | | AT+ PSWD?||+ PSWD :<Param> OK ||Param: PIN code (Default 1234) | ||
+ | |} | ||
+ | |||
+ | ===13. Set/Check serial parameter:=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+UART=<Param>,<Param2>,<Param3>||OK||Param1: Baud Param2: Stop bit Param3: Parity | ||
+ | |- | ||
+ | | AT+UART?||+UART=<Param>,<Param2>, <Param3> OK ||Param1: Baud Param2: Stop bit Param3: Parity | ||
+ | |} | ||
+ | |||
+ | '''Example:''' | ||
+ | |||
+ | AT+UART=115200,1,2,\r\n | ||
+ | |||
+ | OK | ||
+ | |||
+ | AT+UART? | ||
+ | |||
+ | +UART:115200,1,2 | ||
+ | |||
+ | OK | ||
+ | |||
+ | ===14. Set/Check connect mode:=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+CMODE=<Param> ||OK||Param: 0 - connect fixed address 1 - connect any | ||
+ | address 2 - slave-Loop | ||
+ | |- | ||
+ | | AT+ CMODE? ||+ CMODE:<Param> OK||Param: 0 - connect fixed address 1 - connect any address 2 - slave-Loop | ||
+ | |} | ||
+ | |||
+ | ===15. Set/Check fixed address:=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+BIND=<Param>||OK||Param: Fixed address (Default 00:00:00:00:00:00) | ||
+ | |- | ||
+ | | AT+ BIND?||+ BIND:<Param> OK||Param: Fixed address (Default 00:00:00:00:00:00) | ||
+ | |} | ||
+ | |||
+ | '''Example:''' | ||
+ | |||
+ | AT+BIND=1234,56,abcdef\r\n | ||
+ | |||
+ | OK | ||
+ | |||
+ | AT+BIND?\r\n | ||
+ | |||
+ | +BIND:1234:56:abcdef | ||
+ | |||
+ | OK | ||
+ | |||
+ | ===16. Set/Check LED I/O=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+POLAR=<Param1,<Param2>||OK||Param1: 0- PIO8 low drive LED 1- PIO8 high drive | ||
+ | LED Param2: 0- PIO9 low drive LED 1- PIO9 high drive LED | ||
+ | |- | ||
+ | | AT+ POLAR? ||+ POLAR=<Param1>,<Param2> OK ||Param1: 0- PIO8 low drive LED 1- PIO8 high drive LED Param2: 0- PIO9 low drive LED 1- PIO9 high drive LED | ||
+ | |} | ||
+ | |||
+ | ===17. Set PIO output=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+PIO=<Param1>,<Param2>||OK||Param1: PIO number Param2: PIO level 0- low 1- high | ||
+ | |} | ||
+ | |||
+ | '''Example:''' | ||
+ | |||
+ | 1. PIO10 output high level | ||
+ | |||
+ | AT+PI0=10,1\r\n | ||
+ | |||
+ | OK | ||
+ | |||
+ | ===18. Set/Check – scan parameter=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+IPSCAN=<Param1>,<Param2>,<Param3>,<Param4>||OK||Param1: Query time interval | ||
+ | Param2 : Query duration Param3 : Paging interval Param4 : Call duration | ||
+ | |- | ||
+ | | AT+IPSCAN? ||+IPSCAN:<Param1>,<Param2>,<Param3>,<Param4> OK ||Param1: Query time interval Param2 : Query duration Param3 : Paging interval Param4 : Call duration | ||
+ | |} | ||
+ | |||
+ | '''Example:''' | ||
+ | |||
+ | AT+IPSCAN =1234,500,1200,250\r\n | ||
+ | |||
+ | OK | ||
+ | |||
+ | AT+IPSCAN? | ||
+ | |||
+ | +IPSCAN:1234,500,1200,250 | ||
+ | |||
+ | ===19. Set/Check – SHIFF parameter=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+SNIFF=<Param1>,<Param2>,<Param3>,<Param4>||OK||Param1: Max time Param2: Min time Param3: Retry time Param4: Time out | ||
+ | |- | ||
+ | | AT+ SNIFF?||+SNIFF:<Param1>,<Param2>,<Param3>,<Param4> OK||Param1: Max time Param2: Min time Param3: Retry time Param4: Time out | ||
+ | |} | ||
+ | |||
+ | ===20. Set/Check security mode=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+SENM=<Param1>,<Param2>||1. OK 2. FAIL ||Param1: | ||
+ | |||
+ | 0——sec_mode0+off | ||
+ | |||
+ | 1——sec_mode1+ | ||
+ | non_secure | ||
+ | |||
+ | 2——sec_mode2_ | ||
+ | service | ||
+ | |||
+ | 3——sec_mode3_l | ||
+ | ink | ||
+ | |||
+ | 4——sec_mode_u | ||
+ | nknown | ||
+ | |||
+ | Param2: | ||
+ | |||
+ | 0——hci_enc_mod | ||
+ | e_off | ||
+ | |||
+ | 1——hci_enc_mod | ||
+ | e_pt_to_pt | ||
+ | |||
+ | 2——hci_enc_mod | ||
+ | e_pt_to_pt_and_b | ||
+ | cast | ||
+ | |- | ||
+ | | AT+ SENM?||+ SENM:<Param1>,<Param2> OK ||Param1: | ||
+ | |||
+ | 0——sec_mode0+off | ||
+ | |||
+ | 1——sec_mode1+ | ||
+ | non_secure | ||
+ | |||
+ | 2——sec_mode2_ | ||
+ | service | ||
+ | |||
+ | 3——sec_mode3_l | ||
+ | ink | ||
+ | |||
+ | 4——sec_mode_u | ||
+ | nknown | ||
+ | |||
+ | Param2: | ||
+ | |||
+ | 0——hci_enc_mod | ||
+ | e_off | ||
+ | |||
+ | 1——hci_enc_mod | ||
+ | e_pt_to_pt | ||
+ | |||
+ | 2——hci_enc_mod | ||
+ | e_pt_to_pt_and_b | ||
+ | cast | ||
+ | |} | ||
+ | |||
+ | ===21. Delete Authenticated Device=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+PMSAD=<Param>||OK||Param: Authenticated Device Address | ||
+ | |} | ||
+ | |||
+ | '''Example:''' | ||
+ | |||
+ | AT+PMSAD =1234,56,abcdef\r\n | ||
+ | |||
+ | OK | ||
+ | |||
+ | ===22. Delete All Authenticated Device=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+ RMAAD||OK||- | ||
+ | |} | ||
+ | |||
+ | ===23. Search Authenticated Device=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+FSAD=<Param>||1. OK 2. FAIL ||Param: Device address | ||
+ | |} | ||
+ | |||
+ | ===24. Get Authenticated Device Count=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+ADCN?||+ADCN:<Param> OK||Param: Device Count | ||
+ | |} | ||
+ | |||
+ | ===25. Most Recently Used Authenticated Device=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+MRAD? ||+ MRAD:<Param> OK ||Param: Recently Authenticated Device Address | ||
+ | |} | ||
+ | |||
+ | ===26. Get the module working state=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+ STATE? ||+ STATE:<Param> OK||Param: "INITIALIZED" "READY" "PAIRABLE" "PAIRED" "INQUIRING" "CONNECTING" "CONNECTED""DISCONNECTED" "NUKNOW" | ||
+ | |} | ||
+ | |||
+ | ===27. Initialize the SPP profile lib=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+INIT||1. OK 2. FAIL||- | ||
+ | |} | ||
+ | |||
+ | ===28. Inquiry Bluetooth Device=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+INQ ||+INQ: <Param1>, <Param2>, <Param3> …. OK ||Param1:Address Param2 : Device Class Param3 : RSSI Signal strength | ||
+ | |} | ||
+ | |||
+ | '''Example:''' | ||
+ | |||
+ | AT+INIT\r\n | ||
+ | |||
+ | OK | ||
+ | |||
+ | AT+IAC=9e8b33\r\n | ||
+ | |||
+ | OK | ||
+ | |||
+ | AT+CLASS=0\r\n | ||
+ | |||
+ | AT+INQM=1,9,48\r\n | ||
+ | |||
+ | At+INQ\r\n | ||
+ | |||
+ | +INQ:2:72:D2224,3E0104,FFBC | ||
+ | |||
+ | +INQ:1234:56:0,1F1F,FFC1 | ||
+ | |||
+ | +INQ:1234:56:0,1F1F,FFC0 | ||
+ | |||
+ | +INQ:1234:56:0,1F1F,FFC1 | ||
+ | |||
+ | +INQ:2:72:D2224,3F0104,FFAD | ||
+ | |||
+ | +INQ:1234:56:0,1F1F,FFBE | ||
+ | |||
+ | +INQ:1234:56:0,1F1F,FFC2 | ||
+ | |||
+ | +INQ:1234:56:0,1F1F,FFBE | ||
+ | |||
+ | +INQ:2:72:D2224,3F0104,FFBC | ||
+ | |||
+ | OK | ||
+ | |||
+ | ===29. Cancel Inquiring Bluetooth Device=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+ INQC||OK||- | ||
+ | |} | ||
+ | |||
+ | ===30. Equipment Matching=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+PAIR=<Param1>,<Param2>||1. OK 2. FAIL||Param1 :Device Address Param2:Time out | ||
+ | |} | ||
+ | |||
+ | ===31. Connect Device=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+LINK=<Param>||1. OK 2. FAIL||Param : Device Address | ||
+ | |} | ||
+ | |||
+ | '''Example:''' | ||
+ | |||
+ | AT+FSAD=1234,56,abcdef\r\n | ||
+ | |||
+ | OK | ||
+ | |||
+ | AT+LINK=1234,56,abcdef\r\n | ||
+ | |||
+ | OK | ||
+ | |||
+ | ===32. Disconnect=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+DISC||1. +DISC:SUCCESS OK 2. +DISC:LINK_LOSS OK 3. +DISC:NO_SLC OK 4. +DISC:TIMEOUT OK 5. +DISC:ERROR OK||Param : Device Address | ||
+ | |} | ||
+ | |||
+ | ===33. Energy-saving mode=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+ENSNIFF=<Param>||OK||Param : Device Address | ||
+ | |} | ||
+ | |||
+ | ===34. Exerts Energy-saving mode=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | align="center" style="background:#f0f0f0;"|'''Command''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Respond''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Parameter''' | ||
+ | |- | ||
+ | | AT+ EXSNIFF =<Param>||OK||Param : Device Address | ||
+ | |} | ||
+ | |||
+ | '''Application Example''' | ||
+ | |||
+ | This is a demo that HC-05 is a master device and communicates to | ||
+ | hc-06. | ||
+ | |||
+ | Step 1. Push the mode switch to CMD | ||
+ | |||
+ | Step 2. Power on, module enter command state | ||
+ | |||
+ | Step 3. Using baud rate 38400, send the ―AT+ROLE=1\r\n‖ to module, | ||
+ | with ―OK\r\n‖ means setting successes. | ||
+ | |||
+ | Step 4. Send ―AT+CMODE=1\r\n‖, set HC-05 connect to any address, | ||
+ | with ―OK\r\n‖ means setting successes. | ||
==Download== | ==Download== | ||
+ | [ftp://imall.iteadstudio.com/Modules/IM120723009/DS_IM120723009.pdf Datasheet] | ||
+ | |||
+ | [[:File:ATSZR170210006001-RoHS-Eng-A(1).pdf | ATSZR170210006001-RoHS]] | ||
+ | |||
+ | [[:File:SZR170210006001-4P HBCDD-Eng-A.pdf | SZR170210006001-4P HBCDD]] | ||
==Useful Links== | ==Useful Links== |
Latest revision as of 03:52, 24 March 2017
Contents
- 1 Overview
- 2 Specifications
- 3 Hardware
- 4 AT command Default
- 4.1 1. Test command:
- 4.2 2. Reset
- 4.3 3. Get firmware version
- 4.4 4. Restore default
- 4.5 5. Get module address
- 4.6 6. Set/Check module name:
- 4.7 7. Get the Bluetooth device name:
- 4.8 8. Set/Check module mode:
- 4.9 9. Set/Check device class
- 4.10 10. Set/Check GIAC (General Inquire Access Code)
- 4.11 11. Set/Check -- Query access patterns
- 4.12 12. Set/Check PIN code:
- 4.13 13. Set/Check serial parameter:
- 4.14 14. Set/Check connect mode:
- 4.15 15. Set/Check fixed address:
- 4.16 16. Set/Check LED I/O
- 4.17 17. Set PIO output
- 4.18 18. Set/Check – scan parameter
- 4.19 19. Set/Check – SHIFF parameter
- 4.20 20. Set/Check security mode
- 4.21 21. Delete Authenticated Device
- 4.22 22. Delete All Authenticated Device
- 4.23 23. Search Authenticated Device
- 4.24 24. Get Authenticated Device Count
- 4.25 25. Most Recently Used Authenticated Device
- 4.26 26. Get the module working state
- 4.27 27. Initialize the SPP profile lib
- 4.28 28. Inquiry Bluetooth Device
- 4.29 29. Cancel Inquiring Bluetooth Device
- 4.30 30. Equipment Matching
- 4.31 31. Connect Device
- 4.32 32. Disconnect
- 4.33 33. Energy-saving mode
- 4.34 34. Exerts Energy-saving mode
- 5 Download
- 6 Useful Links
Overview
HC-05 module is an easy to use Bluetooth SPP (Serial Port Protocol) module, designed for transparent wireless serial connection setup.
Serial port Bluetooth module is fully qualified Bluetooth V2.0+EDR (Enhanced Data Rate) 3Mbps Modulation with complete 2.4GHz radio transceiver and baseband. It uses CSR Bluecore 04-External single chip Bluetooth system with CMOS technology and with AFH(Adaptive Frequency Hopping Feature). It has the footprint as small as 12.7mmx27mm. Hope it will simplify your overall design/development cycle.
Go shopping Serial Port Bluetooth Module (Master/Slave):HC-05 (IM120723009)
Specifications
Hardware Features
- Typical -80dBm sensitivity
- Up to +4dBm RF transmit power
- Low Power 1.8V Operation ,1.8 to 3.6V I/O
- PIO control
- UART interface with programmable baud rate
- With integrated antenna
- With edge connector
Software Features
- Default Baud rate: 38400, Data bits:8, Stop bit:1,Parity:No parity, Data control: has.
Supported baud rate: 9600,19200,38400,57600,115200,230400,460800.
- Given a rising pulse in PIO0, device will be disconnected.
- Status instruction port PIO1: low-disconnected, high-connected;
- PIO10 and PIO11 can be connected to red and blue led separately. When master and slave
are paired, red and blue led blinks 1time/2s in interval, while disconnected only blue led blinks 2times/s.
- Auto-connect to the last device on power as default.
- Permit pairing device to connect as default.
- Auto-pairing PINCODE:”0000” as default
- Auto-reconnect in 30 min when disconnected as a result of beyond the range of connection.
Hardware
PIN Name | PIN # | PAD Type | Description | Note |
GND | 13,21,22 | VSS | Ground Pot | |
3.3 VCC | 12 | 3.3V | Integrated 3.3V(+) supply with On-chip linear regulator output within 3.15-3.3V | |
AIO0 | 9 | Bi-directional | Programmable input/output line | |
AIO1 | 10 | Bi-directional | Programmable input/output line | |
AIO0 | 23 | Bi-directional RX EN | Programmable input/output line, control output for LNA (if fitted) | |
AIO1 | 24 | Bi-directional TX EN | Programmable input/output line, control output for PA (if fitted) |
PIN Name | PIN # | PAD Type | Description | Note |
PIO2 | 25 | Bi-directional | Programmable input/output line | |
PIO3 | 26 | Bi-directional | Programmable input/output line | |
PIO4 | 27 | Bi-directional | Programmable input/output line | |
PIO5 | 28 | Bi-directional | Programmable input/output line | |
PIO6 | 29 | Bi-directional | Programmable input/output line | |
PIO7 | 30 | Bi-directional | Programmable input/output line | |
PIO8 | 31 | Bi-directional | Programmable input/output line | |
PIO9 | 32 | Bi-directional | Programmable input/output line | |
PIO10 | 33 | Bi-directional | Programmable input/output line | |
PIO11 | 34 | Bi-directional | Programmable input/output line |
PIN Name | PIN # | PAD Type | Description | Note |
RESETB | 11 | CMOS input with weak internal pull-up | Reset of low.input debouncde so must be low for >5MS to cause a reset | |
UART_RTS | 4 | CMOS output, tri-stable with weak internal pull-up | UART request to send, active low | |
UART_CTS | 3 | CMOS input with weak internal pull-down | UART clear to send, active low | |
UART_RX | 2 | CMOS input with weak internal pull-down | UART Data input | |
UART_TX | 1 | CMOS output, tri-stable with weak internal pull-up | UART Data output | |
SPI_MOSI | 17 | CMOS input with weak internal pull-down | Serial peripheral interface data input |
PIN Name | PIN # | PAD Type | Description | Note |
SPI_CSB | 16 | CMOS input with weak internal pull-up | Chip select for serial peripheral interface, active low | |
SPI_CLK | 19 | CMOS input with weak internal pull-down | Serial peripheral interface clock | |
SPI_MISO | 18 | CMOS input with weak internal pull-down | Serial peripheral interface data output | |
USB_- | 15 | Bi-directional | ||
USB_+ | 20 | Bi-directional | ||
NC | 14 | |||
PCM_CLK | 5 | Bi-directional | Synchronous PCM data clock | |
PCM_OUT | 6 | CMOS output | Synchronous PCM data output | |
PCM_IN | 7 | CMOS input | Synchronous PCM data input | |
PCM_SYNC | 8 | Bi-directional | Synchronous PCM data strobe |
AT command Default
How to set the mode to server (master):
1. Connect PIO11 to high level.
2. Power on, module into command state.
3. Using baud rate 38400, sent the “AT+ROLE=1\r\n” to module, with “OK\r\n” means setting successes.
4. Connect the PIO11 to low level, repower the module, the module work as server (master).
AT commands: (all end with \r\n)
1. Test command:
Command | Respond | Parameter |
AT | OK | - |
2. Reset
Command | Respond | Parameter |
AT+RESET | OK | - |
3. Get firmware version
Command | Respond | Parameter |
AT+VERSION? | +VERSION:<Param> OK | Param : firmware version |
Example:
AT+VERSION?\r\n
+VERSION:2.0-20100601
OK
4. Restore default
Command | Respond | Parameter |
AT+ORGL | OK | - |
Default state:
Slave mode, pin code :1234, device name: H-C-2010-06-01 ,Baud 38400bits/s.
5. Get module address
Command | Respond | Parameter |
AT+ADDR? | +ADDR:<Param> OK | Param: address of Bluetooth module |
Bluetooth address: NAP: UAP : LAP
Example:
AT+ADDR?\r\n
+ADDR:1234:56:abcdef
OK
6. Set/Check module name:
Command | Respond | Parameter |
AT+NAME=<Param> | OK | Param: Bluetooth module name (Default :HC-05) |
AT+NAME? | +NAME:<Param> OK (/FAIL) | Param: Bluetooth module name (Default :HC-05) |
Example:
AT+NAME=HC-05\r\n set the module name to HC-05
OK
AT+NAME=ITeadStudio\r\n
OK
AT+NAME?\r\n
+NAME: ITeadStudio
OK
7. Get the Bluetooth device name:
Command | Respond | Parameter |
AT+RNAME?<Param1> | 1. +NAME:<Param2> OK 2. FAIL | Param1,Param 2 : the address of Bluetooth device |
Example: (Device address 00:02:72:od:22:24,name:ITead)
AT+RNAME? 0002,72,od2224\r\n
+RNAME:ITead
OK
8. Set/Check module mode:
Command | Respond | Parameter |
AT+ROLE=<Param> | OK | Param: 0- Slave 1-Master 2-Slave-Loop |
AT+ ROLE? | +ROLE:<Param> OK | Param: 0- Slave 1-Master 2-Slave-Loop |
9. Set/Check device class
Command | Respond | Parameter |
AT+CLASS=<Param> | OK | Param: Device Class |
AT+ CLASS? | 1. +CLASS:<Param> OK 2. FAIL | Param: Device Class |
10. Set/Check GIAC (General Inquire Access Code)
Command | Respond | Parameter |
AT+IAC=<Param> | 1.OK 2. FAIL | Param: GIAC (Default : 9e8b33) |
AT+IAC | +IAC:<Param> OK | Param: GIAC (Default : 9e8b33) |
Example:
AT+IAC=9e8b3f\r\n
OK
AT+IAC?\r\n
+IAC: 9e8b3f
OK
11. Set/Check -- Query access patterns
Command | Respond | Parameter |
AT+INQM=<Param>,<Param2>, <Param3> | 1.OK 2. FAIL | Param: 0——inquiry_mode_standard 1——inquiry_mode_rssi Param2: Maximum number of Bluetooth devices to respond to Param3: Timeout (1-48 : 1.28s to 61.44s) |
AT+ INQM? | +INQM :<Param>,<Param2>, <Param3> OK | Param: 0——inquiry_mode_standard 1——inquiry_mode_rssi Param2: Maximum number of Bluetooth devices to respond to Param3: Timeout (1-48 : 1.28s to 61.44s) |
Example:
AT+INQM=1,9,48\r\n
OK
AT+INQM\r\n
+INQM:1, 9, 48
OK
12. Set/Check PIN code:
Command | Respond | Parameter |
AT+PSWD=<Param> | OK | Param: PIN code (Default 1234) |
AT+ PSWD? | + PSWD :<Param> OK | Param: PIN code (Default 1234) |
13. Set/Check serial parameter:
Command | Respond | Parameter |
AT+UART=<Param>,<Param2>,<Param3> | OK | Param1: Baud Param2: Stop bit Param3: Parity |
AT+UART? | +UART=<Param>,<Param2>, <Param3> OK | Param1: Baud Param2: Stop bit Param3: Parity |
Example:
AT+UART=115200,1,2,\r\n
OK
AT+UART?
+UART:115200,1,2
OK
14. Set/Check connect mode:
Command | Respond | Parameter |
AT+CMODE=<Param> | OK | Param: 0 - connect fixed address 1 - connect any
address 2 - slave-Loop |
AT+ CMODE? | + CMODE:<Param> OK | Param: 0 - connect fixed address 1 - connect any address 2 - slave-Loop |
15. Set/Check fixed address:
Command | Respond | Parameter |
AT+BIND=<Param> | OK | Param: Fixed address (Default 00:00:00:00:00:00) |
AT+ BIND? | + BIND:<Param> OK | Param: Fixed address (Default 00:00:00:00:00:00) |
Example:
AT+BIND=1234,56,abcdef\r\n
OK
AT+BIND?\r\n
+BIND:1234:56:abcdef
OK
16. Set/Check LED I/O
Command | Respond | Parameter |
AT+POLAR=<Param1,<Param2> | OK | Param1: 0- PIO8 low drive LED 1- PIO8 high drive
LED Param2: 0- PIO9 low drive LED 1- PIO9 high drive LED |
AT+ POLAR? | + POLAR=<Param1>,<Param2> OK | Param1: 0- PIO8 low drive LED 1- PIO8 high drive LED Param2: 0- PIO9 low drive LED 1- PIO9 high drive LED |
17. Set PIO output
Command | Respond | Parameter |
AT+PIO=<Param1>,<Param2> | OK | Param1: PIO number Param2: PIO level 0- low 1- high |
Example:
1. PIO10 output high level
AT+PI0=10,1\r\n
OK
18. Set/Check – scan parameter
Command | Respond | Parameter |
AT+IPSCAN=<Param1>,<Param2>,<Param3>,<Param4> | OK | Param1: Query time interval
Param2 : Query duration Param3 : Paging interval Param4 : Call duration |
AT+IPSCAN? | +IPSCAN:<Param1>,<Param2>,<Param3>,<Param4> OK | Param1: Query time interval Param2 : Query duration Param3 : Paging interval Param4 : Call duration |
Example:
AT+IPSCAN =1234,500,1200,250\r\n
OK
AT+IPSCAN?
+IPSCAN:1234,500,1200,250
19. Set/Check – SHIFF parameter
Command | Respond | Parameter |
AT+SNIFF=<Param1>,<Param2>,<Param3>,<Param4> | OK | Param1: Max time Param2: Min time Param3: Retry time Param4: Time out |
AT+ SNIFF? | +SNIFF:<Param1>,<Param2>,<Param3>,<Param4> OK | Param1: Max time Param2: Min time Param3: Retry time Param4: Time out |
20. Set/Check security mode
Command | Respond | Parameter |
AT+SENM=<Param1>,<Param2> | 1. OK 2. FAIL | Param1:
0——sec_mode0+off 1——sec_mode1+ non_secure 2——sec_mode2_ service 3——sec_mode3_l ink 4——sec_mode_u nknown Param2: 0——hci_enc_mod e_off 1——hci_enc_mod e_pt_to_pt 2——hci_enc_mod e_pt_to_pt_and_b cast |
AT+ SENM? | + SENM:<Param1>,<Param2> OK | Param1:
0——sec_mode0+off 1——sec_mode1+ non_secure 2——sec_mode2_ service 3——sec_mode3_l ink 4——sec_mode_u nknown Param2: 0——hci_enc_mod e_off 1——hci_enc_mod e_pt_to_pt 2——hci_enc_mod e_pt_to_pt_and_b cast |
21. Delete Authenticated Device
Command | Respond | Parameter |
AT+PMSAD=<Param> | OK | Param: Authenticated Device Address |
Example:
AT+PMSAD =1234,56,abcdef\r\n
OK
22. Delete All Authenticated Device
Command | Respond | Parameter |
AT+ RMAAD | OK | - |
23. Search Authenticated Device
Command | Respond | Parameter |
AT+FSAD=<Param> | 1. OK 2. FAIL | Param: Device address |
24. Get Authenticated Device Count
Command | Respond | Parameter |
AT+ADCN? | +ADCN:<Param> OK | Param: Device Count |
25. Most Recently Used Authenticated Device
Command | Respond | Parameter |
AT+MRAD? | + MRAD:<Param> OK | Param: Recently Authenticated Device Address |
26. Get the module working state
Command | Respond | Parameter |
AT+ STATE? | + STATE:<Param> OK | Param: "INITIALIZED" "READY" "PAIRABLE" "PAIRED" "INQUIRING" "CONNECTING" "CONNECTED""DISCONNECTED" "NUKNOW" |
27. Initialize the SPP profile lib
Command | Respond | Parameter |
AT+INIT | 1. OK 2. FAIL | - |
28. Inquiry Bluetooth Device
Command | Respond | Parameter |
AT+INQ | +INQ: <Param1>, <Param2>, <Param3> …. OK | Param1:Address Param2 : Device Class Param3 : RSSI Signal strength |
Example:
AT+INIT\r\n
OK
AT+IAC=9e8b33\r\n
OK
AT+CLASS=0\r\n
AT+INQM=1,9,48\r\n
At+INQ\r\n
+INQ:2:72:D2224,3E0104,FFBC
+INQ:1234:56:0,1F1F,FFC1
+INQ:1234:56:0,1F1F,FFC0
+INQ:1234:56:0,1F1F,FFC1
+INQ:2:72:D2224,3F0104,FFAD
+INQ:1234:56:0,1F1F,FFBE
+INQ:1234:56:0,1F1F,FFC2
+INQ:1234:56:0,1F1F,FFBE
+INQ:2:72:D2224,3F0104,FFBC
OK
29. Cancel Inquiring Bluetooth Device
Command | Respond | Parameter |
AT+ INQC | OK | - |
30. Equipment Matching
Command | Respond | Parameter |
AT+PAIR=<Param1>,<Param2> | 1. OK 2. FAIL | Param1 :Device Address Param2:Time out |
31. Connect Device
Command | Respond | Parameter |
AT+LINK=<Param> | 1. OK 2. FAIL | Param : Device Address |
Example:
AT+FSAD=1234,56,abcdef\r\n
OK
AT+LINK=1234,56,abcdef\r\n
OK
32. Disconnect
Command | Respond | Parameter |
AT+DISC | 1. +DISC:SUCCESS OK 2. +DISC:LINK_LOSS OK 3. +DISC:NO_SLC OK 4. +DISC:TIMEOUT OK 5. +DISC:ERROR OK | Param : Device Address |
33. Energy-saving mode
Command | Respond | Parameter |
AT+ENSNIFF=<Param> | OK | Param : Device Address |
34. Exerts Energy-saving mode
Command | Respond | Parameter |
AT+ EXSNIFF =<Param> | OK | Param : Device Address |
Application Example
This is a demo that HC-05 is a master device and communicates to hc-06.
Step 1. Push the mode switch to CMD
Step 2. Power on, module enter command state
Step 3. Using baud rate 38400, send the ―AT+ROLE=1\r\n‖ to module, with ―OK\r\n‖ means setting successes.
Step 4. Send ―AT+CMODE=1\r\n‖, set HC-05 connect to any address, with ―OK\r\n‖ means setting successes.