At Commands For Bluetooth Module
At Commands For Bluetooth Module
HHW-SPP Bluetooth
Module
AT Commands
The HHW-SPP Bluetooth module has 2 work modes: Commands response mode and auto connection mode. And in the auto connection mode, there are Master and Slave mode. When the module works in the auto connection mode, it will automatically connect the other Bluetooth devices with SPP protocols. When under the Commands response mode, it can carry out the AT commands in this data sheet, user can send all the AT commands to the module to configure it. By controlling the PIO11 of the module, use can set the working mode of the module. The Pins that module will use: 1. PIO8, connect to LED shows the working status of the Bluetooth module. After power up, it will flash, and the flash time is different under different status. 2. PIO9 connect to LED shows the success of the connection, after successfully pairing, it will light. 3. PIO11, control the module working mode, High=AT commands receiving mode(Commands response mode), Low or NC= Bluetooth module normally working.
HongKong Electronics
HongKong Electronics
Command
AT
1. Test
Command
AT
Response OK
Parameter None
2. Reboot
Response Command
AT+RESET
Parameter None
OK
Response
+VERSION:< Param >
Parameter ParamVersion
OK Example
at+version?\r\n
+VERSION:1.0-20090818
OK
4.
Restore to default:
Command
AT+ORGL
Response OK
Parameter None
Default Equipment ID 0 Search code:0x009e8b33 Working roleSlave Mode Connection modeSpecific Bluetooth module RS232 configurationBaud Rate38400bits/s or 9600bits/s; Stop Bit1ParityNone None Pair code1234 Device name"HHW-SPP-1800-2" 5. Get module Bluetooth address
Parameter Command
AT+ADDR?
Response
+ADDR: <Param >
ParamModule address
OK Bluetooth module address typeNAP: UAP : LAPHEX Example Bluetooth module address 123456ab:cd:ef
HongKong Electronics
HongKong Electronics
at+addr?\r\n
+ADDR:1234:56:abcdef
OK
Response OK
1+NAME:< Param >
OK 2FAIL Example
AT+NAME=HHW-SPP-1800-2\r\n Set device name forHHW-SPP-1800-2
OK
AT + NAME=HHW-SPP-1800-2\r\n Set device name forHHW-SPP-1800-2
OK
at + name = Beijin\r\n Set device name forBeijin
OK at + name =Beijin\r\n OK
at+name?\r\n +NAME: Beijin
OK
Response
1+RNAME: <Param2 >
OK 2FAIL NAP: UAP : LAP Example The remote Bluetooth address is00:02:72:0d:22:24nameBluetooth
at+rname? 0002,72,0d2224\r\n
+RNAME:Bluetooth
OK
8.
Response OK
+ROLE: < Param >
OK
Default0 SlavePassive connection Slave-Loop Get the Bluetooth data and send them back to the sender
HongKong Electronics
HongKong Electronics
9.
Set/enquire -devices
Command
AT+CLASS=< Param > AT+CLASS?
Response OK
1+CLASS: < Param >
OK 2FAIL
To filter other Bluetooth devices, and get fast enquire for the specific Bluetooth devices, use can set the module as the no-standard bluetooth module, like: 0x1f1f
10.
Response 1 OK 2 FAIL
+ IAC: < Param >
AT+IAC?
OK
Search access code is the GIAC(General Inquire Access Code 0x9e8b33) general access cideit used for discover the
other devices in the area. User can set it to own code for fast enquiresuch as the code beyond the GIAC or LIAClike9e8b3f Example
AT+IAC=9e8b3f\r\n
OK
AT+IAC? \r\n + IAC9e8b3f
OK
11.
Response
Parameter
Param1search
1 OK 2 FAIL
mode
0 inquiry_mode_standard 1 inquiry_mode_rssi
AT+ INQM?
OK
Example
HongKong Electronics
HongKong Electronics
AT+INQM=1,9,48\r\n
set
to the search modewith RSSI signal strength stop the inquire when found >9 devicesmax
time is 48x1.28=61.44 S. OK
AT+INQM?\r\n +INQM:1,9,48
OK
12.
Response
OK
+ PSWD: < Param >
Default 1234
OK
13.
Response
Parameter
Param1 Baud rate( bits/s)
ListDEC
4800
9600
OK
Param3Parity
0 1 2 None Odd Even
Default9600,0,0 Exampleset the baud rate to 115200, 2 bit stop, Even Parity
AT+ UART=115200,1,2\r\n
OK
AT+ UART? +UART:115200,1,2
OK
14.
Command
AT+CMODE=< Param > AT+CMODE?
Response OK
+CMODE: < Param >
Parameter
Param
OK
0 Set the Bluetooth address connection mode 1 Random Bluetooth address Default0
HongKong Electronics
HongKong Electronics
Command
AT+BIND=< Param > AT+BIND?
Response OK
+BIND:< Param>
OK
This command only works under the Set the Bluetooth address connection mode Example If use want to set the device address to:12:34:56:ab:cd:ef The commands should be
AT+BIND=1234,56,abcdef\r\n
OK
AT+BIND?\r\n +BIND:1234:56:abcdef
OK
16.
Response OK
+ POLAR : < Param 1>< Param2> Param1
Parameter 0 PIO8 =Low will light the LED 1 PIO8=High will light the LED
Param2
Example LED light when PIO8 output lowPIO9 output high when connection is successful
AT+POLAR=0,1\r\n OK
AT+ POLAR?\r\n
+ POLAR:0,1
OK
17.
Response
OK
Example
HongKong Electronics
HongKong Electronics
1PIO10 Output High
AT+PIO=10,1\r\n
OK
2PIO10 Output Low
AT+PIO=10,0\r\n
OK
18.
Response
OK
PIO Number = ( 1 << PIO Number ) PIO Number Combine= ( PIO Number 1
| PIO Number 2 | )
Example PIO2 Number =1<<2 =0x004 PIO10 Number =1<<10=0x400 PIO2 and PIO10 Number combine= (0x004 | 0x400) =0x404 Example 1 PIO10 and PIO2 output high
AT+MPIO=404\r\n
OK
19.
Response
+MPIO: <Param > Param[0] = PIO0 Param[1] = PIO1 Param[2] = PIO2
Parameter
ParamPIO Number16bits
OK
20.
Response
HongKong Electronics
21.
Parameter
Param1Max time Param2Min Time Param4Over time
22.
Response 1 OK
2 FAIL
+SENM:< Param 1>< Param2>
OK
Param2Encrypt Mode
0 hci_enc_mode_off 1 hci_enc_mode_pt_to_pt 2 hci_enc_mode_pt_to_pt_and_bcast
Default00
23.
Response
OK
OK or
at+rmsad=1234,56,abcdef\r\n
24.
Response
OK
Parameter None
Example
HongKong Electronics
HongKong Electronics
at+rmaad\r\n
OK
25.
OK
It exist
at+fsad=1234,56,abcde0\r\n
26.
Response
+ADCN: <Param >
OK Example
at+adcn?
+ADCN:0 OK
27.
Response
+MRAD: <Param >
OK Example
at+mrad?
28.
Response
+STATE: <Param >
Parameter ParamWorking Status Feedbacks INITIALIZED Initial READY prepared PAIRABLE Can be paired PAIRED Paired INQUIRING Enquire CONNECTING Connection CONNECTED Connected DISCONNECTED Disconnected NUKNOW Unkown
OK
Example
at+state?
+STATE:INITIALIZED OK
Initial
29.
HongKong Electronics
HongKong Electronics
AT+INIT
1 OK
None
2 FAIL
30.
Response
+INQ: <Param1 >,<Param2 >, <Param3 >
OK
Example 1
at+init\r\n OK at+iac=9e8b33\r\n OK at+class=0\r\n OK at+inqm=1,9,48\r\n Inquire modewith RSSIMax devices=9over-time is At+inq\r\n Search Bluetooth devies
+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,3E0104,FFAD +INQ:1234:56:0,1F1F,FFBE +INQ:1234:56:0,1F1F,FFC2 +INQ:1234:56:0,1F1F,FFBE +INQ:2:72:D2224,3E0104,FFBC
Initial SPPcant repeat Search the device which can be access Search all the devices 48x1.28=61.44 S
OK
Example 2
at+iac=9e8b33\r\n OK at+class=1f1f\r\n Search the type 0x1f1f device OK
at+inqm=1,9,48\r\n Inquire modewith RSSIMax devices=9over-time is
48x1.28=61.44 S
At+inq\r\n
Filter devices
OK
Example 3
at+iac=9e8b3f\r\n Search the access code is 0x9e8b3f device
OK at+class=1f1f\r\n Search the type 0x1f1f device OK at+inqm=1,1,20\r\n Inquire modewith RSSIMax devices=9over-time is At+inq\r\n OK Filter devices
+INQ:1234:56:ABCDEF,1F1F,FFC2
48x1.28=61.44 S
31.
Response OK
Parameter None
HongKong Electronics
HongKong Electronics
32.
Pairing
Command
AT+PAIR=<Param1 >,<Param2 >
OK
33.
Device connect
Command
AT+LINK=<Param >
Response 1 OK 2 FAIL
OK
at+link=1234,56,abcdef\r\n 12:34:56:ab:cd:ef is in the listcan connect directly
OK
34.
Disconnect
Command
AT+DISC
Parameter None
35.
Response
OK
36.
Response
OK
HongKong Electronics
HongKong Electronics
Appendix 1: AT Command Error Codes
Error Codes return in the form of ERROR ERROR:(error_code) error_code (HEX)
0 1 2 AT command error Command result is default value SKEY write error 3
4 5 6 7 8 9 A B C D E F
DETAIL
Device name is too long (more than 32 bytes) Device name length is zero Bluetooth address: NAP is too long Bluetooth address: UAP is too long Bluetooth address: LAP is too long PIO Serial Number mask length is zero Invalid PIO serial number Device type length is zero Device type is too long Inquiry access code length is zero Inquiry access code digit is too long Invalid inquiry access code Matching code length is zero Matching code is too long (more than 16 bytes) Invalid module role Invalid baud rate Invalid stop bit Invalid parity bit Certified device does not exist in the matching list SPP database is not initialized SPP database is initialized repeatedly Invalid inquiry mode Inquiry timeout too long Bluetooth address is zero Invalid security mode Invalid encryption mode
10
11 12 13 14 15 16 17 18 19 1A 1B 1C
HongKong Electronics
HongKong Electronics
Appendix 2Device Type :
The Class of Device/Service(CoD)is a 32 bits number that is made of 3 fields. One field specifies the service supported by the device. Another field specifies the major device class,
which broadly corresponds to the type of the device. The third field specifies the minor device
class, which describes the device type in more detail The Class of Device/Service (CoD) field has a variable format. The format is indicated using the 'Format Type field' within the CoD. The length of the Format Type field is variable and ends with two bits different from '11'. The version field starts at the least significant
bit of the CoD and may extend upwards. In the 'format #1' of the CoD (Format Type field = 00), 11 bits are assigned as a bit-mask (multiple bits can be set) each bit corresponding
to a high level generic category of service class. Currently 7 categories are defined. These
are primarily of a 'public service' nature. The remaining 11 bits are used to indicate device
type category and other device-specific characteristics.Any reserved but otherwise unassigned bits, such as in the Major Service Class field, should be set to 0.
Figure 1.2: The Class of Device/Service field (first format type). Please note the order in which the octets are sent on the air and stored in memory. Bit number 0 is sent first on the
air.
13 14 15 16 17 18 19 20 21
Limited Discoverable Mode [Ref #1] (reserved) (reserved) Positioning (Location identification) Networking (LAN, Ad hoc, ...) Rendering (Printing, Speaker, ...) Capturing (Scanner, Microphone, ...) Object Transfer (v-Inbox, v-Folder, ...) Audio (Speaker, Microphone, Headset service, ...)
HongKong Electronics
HongKong Electronics
22 23
Telephony (Cordless telephony, Modem, Headset service, ...) Information (WEB-server, WAP-server, ...)
12 11 10 9 8
00000 00001 00010 00011 00100
Computer (desktop,notebook, PDA, organizers, .... ) Phone (cellular, cordless, payphone, modem, ...) LAN /Network Access point Audio/Video (headset,speaker,stereo, video display,
vcr.....
Peripheral (mouse, joystick, keyboards, ..... ) Imaging (printing, scanner, camera, display, ...) Uncategorized, specific device code not specified
X X X X X
TABLE 1.3: MAJOR DEVICE CLASSES [Ref #2: Used where a more specific Major Device Class code is not suited (but only as specified
in this document). Devices that do not have a major class code assigned can use the all-1 code until 'classified']
7 6 5 4 3 2 bit no of CoD
0 0 0 0 0 0 Uncategorized, code for device not assigned
HongKong Electronics
HongKong Electronics
0 0 0 0 0 1 Desktop workstation 0 0 0 0 1 0 Server-class computer
0 0 0 0 1 1 Laptop
0 0 0 1 0 0 Handheld PC/PDA (clam shell) 0 0 0 1 0 1 Palm sized PC/PDA 0 0 0 1 1 0 Wearable computer (Watch sized)
7 6 5 4 3 2 bit no of CoD
0 0 0 0 0 0 Uncategorized, code for device not assigned
0 0 0 0 0 1 Cellular
0 0 0 0 1 0 Cordless
0 0 0 0 1 1 Smart phone 0 0 0 1 0 0 Wired modem or voice gateway 0 0 0 1 0 1 Common ISDN Access 0 0 0 1 1 0 Sim Card Reader
7 6 5 bit no of CoD
0 0 0 Fully available 0 0 1 1 - 17% utilized 0 1 0 17 - 33% utilized 0 1 1 33 - 50% utilized 1 0 0 50 - 67% utilized 1 0 1 67 - 83% utilized 1 1 0 83 - 99% utilized
HongKong Electronics
HongKong Electronics
1 1 1 No service available [REF #3]
[Ref #3: "Device is fully utilized and cannot accept additional connections at this time, please retry later"] The exact loading formula is not standardized. It is up to each LAN/Network Access Point
implementation to determine what internal conditions to report as a utilization percentage.
The only requirement is that the number reflects an ever-increasing utilization of communication resources within the box. As a recommendation, a client that locates multiple LAN/Network Access Points should attempt to connect to the one reporting the lowest load.
4 3 2 bit no of CoD
0 0 0 Uncategorized (use this value if no other apply)
5 4 3 2 bit no of CoD
0 0 0 0 0 1 Device conforms to the Headset profile 0 0 0 0 1 0 Hands-free 0 0 0 0 1 1 (Reserved) 0 0 0 1 0 0 Microphone 0 0 0 1 0 1 Loudspeaker 0 0 0 1 1 0 Headphones 0 0 0 1 1 1 Portable Audio 0 0 1 0 0 0 Car audio 0 0 1 0 0 1 Set-top box 0 0 1 0 1 0 HiFi Audio Device 0 0 1 0 1 1 VCR 0 0 1 1 0 0 Video Camera 0 0 1 1 0 1 Camcorder 0 0 1 1 1 0 Video Monitor
HongKong Electronics
HongKong Electronics
0 0 1 1 1 1 Video Display and Loudspeaker 0 1 0 0 0 0 Video Conferencing 0 1 0 0 0 1 (Reserved) 0 1 0 0 1 0 Gaming/Toy [Ref #4]
XX
[Ref #4: Only to be used with a Gaming/Toy device that makes audio/video capabilities available via Bluetooth]
TABLE 1.8: SUB DEVICE CLASSES FOR THE 'AUDIO/VIDEO' MAJOR CLASS
7 6 bit no of CoD
0 1 Keyboard 1 0 Pointing device 1 1 Combo keyboard/pointing device
5 4 3 2 bit no of CoD
0 0 0 0 Uncategorized device 0 0 0 1 Joystick 0 0 1 0 Gamepad 0 0 1 1 Remote control 0 1 0 0 Sensing device 0 1 0 1 Digitizer tablet
7 6 5 4 bit no of CoD
X X X 1 Display
HongKong Electronics
HongKong Electronics
X X 1 X Camera X 1 X X Scanner 1 X X X Printer
Bits 4 to 7 independantly specify display, camera, scanner or printer. These may be combined in a multifunctional device.
3 2 bit no of CoD
0 0 Uncategorized, default
main purpose of defining multiple IACs is to limit the number of responses that are received when
scanning devices within range.
0 1 2 3
HongKong Electronics
HongKong Electronics
The Limited Inquiry Access Code (LIAC) is only intended to be used for limited time periods in
scenarios where both sides have been explicitly caused to enter this state, usually by user action. For further explanation of the use of the LIAC, please refer to the Generic Access Profile. In contrast it is allowed to be continuously scanning for the General Inquiry Access Code (GIAC) and respond whenever inquired
HongKong Electronics