host) protocol summohmye.co.kr/web/ohmye/chipsen/bot/chipsen_bot-cle1... · - host þ ð bot Ô ö...
TRANSCRIPT
2/33
1. ...................................................................................................................................................... 5
1.1. PROTOCOL BASIC RULE ................................................................................................................ 5
1.2. PROTOCOL .................................................................................................................. 6
1.3. UART ............................................................................................................... 6
1.3.1 AT-COMMAND .......................................................................................................... 6
1.3.2 BYPASS ....................................................................................................................... 6
1.4. BOT STATE ........................................................................................................................... 7
1.4.1 ADVERTISING ..................................................................................................................... 7
1.4.2 CONNECTED ....................................................................................................................... 7
1.4.3 SCANNING ........................................................................................................................... 7
1.5. BOT GPIO ........................................................................................................................... 7
1.5.1 Server/Client (GPIO3) ............................................................................................... 7
1.5.2 (GPIO4) ........................................................................................................ 7
2. REQUEST (HOST→BOT) PROTOCOL SUMMARY .................................................................. 8
3. NOTIFY (BOT→HOST) PROTOCOL SUMMARY .................................................................... 10
4. ADVERTISING (DISCOVERABLE) DATA FORMAT ............................................................... 10
4.1. FORMAT ...................................................................................................................................... 11
4.1.1 .................................................................................................................................... 11
5. GENERAL RESPONSE (BOT→HOST) PROTOCOL SUMMARY .......................................... 11
6. REQUEST PROTOCOL DETAIL .................................................................................................. 11
6.1. AT ............................................................................................................................................... 11
6.2. ATZ............................................................................................................................................. 12
6.3. AT&F .......................................................................................................................................... 12
6.4. AT+VER? ................................................................................................................................... 12
6.5. AT+UART=XXXX ....................................................................................................................... 13
6.6. AT+ROLE? ................................................................................................................................. 13
6.7. AT+COMMAND ........................................................................................................................ 13
6.8. AT+BYPASS .............................................................................................................................. 14
6.9. AT+DISCONNECT .................................................................................................................... 14
6.10. AT+PWMALLENABLE ............................................................................................................ 14
6.11. AT+PWMALLDISABLE ........................................................................................................... 14
3/33
6.12. AT+PWM0ENABLE .................................................................................................................. 15
6.13. AT+PWM0DISABLE ................................................................................................................ 15
6.14. AT+PWM0? ............................................................................................................................... 15
6.15. AT+PWM0=XXX ........................................................................................................................ 16
6.16. AT+PWM1ENABLE .................................................................................................................. 16
6.17. AT+PWM1DISABLE ................................................................................................................ 16
6.18. AT+PWM1? ............................................................................................................................... 16
6.19. AT+PWM1=XXX ........................................................................................................................ 17
6.20. AT+PWM2ENABLE .................................................................................................................. 17
6.21. AT+PWM2DISABLE ................................................................................................................ 17
6.22. AT+PWM2? ............................................................................................................................... 17
6.23. AT+PWM2=XXX ........................................................................................................................ 18
6.24. AT+PWM3ENABLE .................................................................................................................. 18
6.25. AT+PWM3DISABLE ................................................................................................................ 18
6.26. AT+PWM3? ............................................................................................................................... 19
6.27. AT+PWM3=XXX ........................................................................................................................ 19
6.28. AT+DIR? .................................................................................................................................... 19
6.29. AT+DIR=XXXX .......................................................................................................................... 20
6.30. AT+PIO? ..................................................................................................................................... 20
6.31. AT+PIO=XXXX ........................................................................................................................... 20
6.32. AT+AIO0? .................................................................................................................................. 21
6.33. AT+AIO1? .................................................................................................................................. 21
6.34. AT+AIO2? .................................................................................................................................. 22
6.35. AT+SERVER=ROLE ................................................................................................................. 22
6.36. AT+MANUF=XXXX ................................................................................................................... 22
6.37. AT+TXPWR=XX ........................................................................................................................ 23
6.38. AT+TXPWR? ............................................................................................................................. 23
6.39. AT+ADVDATA=XXXX .............................................................................................................. 23
6.40. AT+ADVDATA? ........................................................................................................................ 24
6.41. AT+ADVINTERVAL=XXXX ...................................................................................................... 24
6.42. AT+ADVINTERVAL? ............................................................................................................... 24
6.43. AT+CLIENT=ROLE .................................................................................................................. 25
6.44. AT+SCAN .................................................................................................................................. 25
6.45. AT+SCAN=XXX ......................................................................................................................... 25
6.46. AT+STOPSCAN......................................................................................................................... 26
6.47. AT+SCANINTERVAL=XXXX .................................................................................................... 26
6.48. AT+SCANINTERVAL? ............................................................................................................. 26
4/33
6.49. AT+SCANWINDOW=XXXX ..................................................................................................... 26
6.50. AT+SCANWINDOW? ............................................................................................................... 27
6.51. AT+CONNECT=XXXXXXXXXXXX ............................................................................................ 27
6.52. AT+RECONNECT ..................................................................................................................... 27
6.53. AT+AUTOCONNECT? ............................................................................................................. 28
6.54. AT+AUTOCONNECT=ON ....................................................................................................... 28
6.55. AT+AUTOCONNECT=OFF...................................................................................................... 28
7. GENERAL DATA TRANSMISSION ............................................................................................. 29
8. SERVICE UUID CLASSIFICATION ............................................................................................ 29
9. PWM, AIO ELECTRICAL CHARACTERISTIC ........................................................................ 30
10. APP APPLICATION PIO SERVICE DATA FORMAT ................................................................ 30
11. CLASSIFICATION BASED UPON DATA HEADER( ) .................................................... 31
11.1. BLE DATA COMMAND INDEX ............................................................................................ 31
11.2. INDEX 0 ....................................................................................................................................... 31
11.3. INDEX 1 ....................................................................................................................................... 32
11.4. INDEX 2 ....................................................................................................................................... 32
5/33
“CHIPSEN Bluetooth Low Energy Module BoT-CLE1X0” ( “BoT”
.) UART interface MCU( “HOST” .) UART(serial
port) .
HOST BoT / UART(serial port)
.
UART(serial port)
Baud rate : 9600bps
Data bit : 8
Parity bit : none
Stop bit : 1
, BoT
AT command(AT+UART=b) .
Communication direction
REQUEST (HOST→BoT): HOST BoT .
NOTIFY(BoT → HOST) : BoT HOST ,
BoT .
RESPONSE(BoT → HOST) : BoT HOST ,
REQUEST .
Communication rule
ascii <Carriage Return>
Command .
Ex) REQUEST – : AT+ROLE?
Command AT+ROLE?
Command set A T + R O L E ? CR
Ascii set 0x41 0x54 0x2B 0x52 0x4F 0x4E 0x45 0x3F 0x0D
6/33
Ex) NOTIFY – : +CONNECTED
Command +CONNECTED
Command set + C O N N E C T E D CR
Ascii set 0x2B 0x43 0x4F 0x4E 0x4E 0x45 0x53 0x54 0x45 0x44 0x0D
Ex) RESPONSE – REQUEST : +ERROR
Command +ERROR
Command set + E R R O R CR
Ascii set 0x2B 0x45 0x52 0x52 0x4F 0x52 0x0D
BoT HOST REQUEST RESPONSE .
HOST +OK +ERROR RESPONSE ,
REQUEST RESPONSE .
BoT UART HOST DATA
AT-COMMAND BYPASS
.
1.3.1 AT-COMMAND
- HOST BoT , BoT
, AT-COMMAND .
- BoT Remote device AT-COMMAND
.
- AT-COMMAND
.
1.3.2 BYPASS
- BoT Remote device HOST DATA Remote device
7/33
, BYPASS .
- BYPASS BoT ,
.
BoT state Remote device UART (“1.3. UART
” ) Advertising, Connected, Scanning .
1.4.1 ADVERTISING
- BLE Server mode , Remote Client device
, Advertising .
- Advertising UART AT-COMMAND
.
1.4.2 CONNECTED
- Remote device .
- HOST Remote device .
1.4.3 SCANNING
- BLE Client mode , Remote Service device
SCANNING .
HOST BoT 2 GPIO
1.5.1 Server/Client (GPIO3)
- GPIO3 LOW Server .
- GPIO3 HIGH Client .
- GPIO3 Reset
.
1.5.2 (GPIO4)
8/33
- BoT .
- HOST UART
.
- AT command Remote device data UART
GPIO4 HIGH . GPIO HIGH
BoT . GPIO LOW
UART
.
AT +OK <Server/Client Role>
ATZ <Server/Client Role>
AT&F <Server/Client Role>
AT+VER? <Server/Client Role>
AT+UART=xxxx UART Baudrate
2400, 9600, 19200, 38400, 57600, 115200, 230400
<Server/Client Role>
AT+ROLE? role
ex) +SERVER[PERIPHERAL]
<Server/Client Role>
AT+COMMAND Bypass Data AT Command <Server/Client Role>
AT+BYPASS Bypass AT Command Data <Server/Client Role>
AT+DISCONNECT <Server/Client Role>
AT+PWMALLENABLE PWM <Server/Client Role>
AT+PWMALLDISABLE PWM <Server/Client Role>
AT+PWM0ENABLE PWM0 <Server/Client Role>
AT+PWM0DISABLE PWM0 <Server/Client Role>
AT+PWM0? PWM0 <Server/Client Role>
AT+PWM0=xxx PWM0 Duty Cycle <Server/Client Role>
AT+PWM1ENABLE PWM1 <Server/Client Role>
AT+PWM1DISABLE PWM1 <Server/Client Role>
AT+PWM1? PWM1 <Server/Client Role>
AT+PWM1=xxx PWM1 Duty Cycle <Server/Client Role>
AT+PWM2ENABLE PWM2 <Server/Client Role>
AT+PWM2DISABLE PWM2 <Server/Client Role>
AT+PWM2? PWM2 <Server/Client Role>
9/33
AT+PWM2=xxx PWM2 Duty Cycle <Server/Client Role>
AT+PWM3ENABLE PWM3 <Server/Client Role>
AT+PWM3DISABLE PWM3 <Server/Client Role>
AT+PWM3? PWM3 <Server/Client Role>
AT+PWM3=xxx PWM3 Duty Cycle <Server/Client Role>
AT+DIR? PIO <Server/Client Role>
AT+DIR=xxxx PIO <Server/Client Role>
AT+PIO? PIO Level <Server/Client Role>
AT+PIO=xxxx PIO Level <Server/Client Role>
AT+AIO0? Analog 0 <Server/Client Role>
AT+AIO1? Analog 1 <Server/Client Role>
AT+AIO2? Analog 2 <Server/Client Role>
AT+SERVER=role Server mode role
.
: role=B – Broadcaster
: role=P - Peripheral
<Server Role>
AT+MANUF=xxxxxxxx Manufacturer .
Manufacturer Discoverable
Manufacturer .
MAX 8byte
<Server Role>
AT+MANUF? Manufacturer <Server Role>
AT+TXPWR=x BoT TX power level ,
power level .
: 0~7(-18~8dBm)
<Server Role>
AT+TXPWR? BoT TX power level <Server Role>
AT+ADVDATA=xxxx Server mode
user data
MAX 11byte
<Server Role>
AT+ADVDATA? User data <Server Role>
AT+ADVINTERVAL=xxxxx Advertising Interval .
Range : 20~10240 (ms)
<Server Role>
AT+ADVINTERVAL? Advertising Interval <Server Role>
AT+CLIENT=role Client mode role
.
: role=C– Central
: role=O - Observer
<Client Role>
10/33
AT+SCAN
Default Scan Time : 15 Second
<Client Role>
AT+SCAN=xxx
Range : 0~999 <Second>
“AT+SCAN=0”
<Client Role>
AT+STOPSCAN <Client Role>
AT+SCANINTERVAL=xxxx Scan Interval
Range : 12~2560 <ms>
<Client Role>
AT+SCANINTERVAL? Scan Interval <Client Role>
AT+SCANWINDOW=xxxx Scan Window Size
Range : 11~2560 <ms>
Window Size Interval .
<Client Role>
AT+SCANWINDOW? Scan Window Size <Client Role>
AT+CONNECT=xxxxxxxxxxxx Bluetooth Address
Ex) AT+CONNECT=74F07DB00001
<Client Role>
AT+RECONNECT <Client Role>
AT+AUTOCONNECT? <Client Role>
AT+AUTOCONNECT=ON <Client Role>
AT+AUTOCONNECT=OFF <Client Role>
+READY Server Client
+ADVERTISING
+BROADCASTING
+SCANNING
+CONNECTED
+DISCONNECTED
Advertising Data Server mode ,
11/33
.
Advertising data 31byte 22byte Data .
Advertising data Reserved
UART .
4.1.1 FIELD AT command
..
4.1.1
index 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Data GAP
Reserved
TX power
Reserved
TX
level
User
Data
Device
name
Reserved
Device Name User Data
index 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Data User
data
Reserved
GPIO
Status
Undefined User Data
+OK REQUEST
+ERROR REQUEST
HOST
HOST BoT +OK
12/33
+OK
Request “+OK“ .
(HOST→BoT) : AT
(BoT→HOST) : +OK
HOST BoT
+OK
Request “+OK“ 2 .
(HOST→BoT) : ATZ
(BoT→HOST) : +OK
(BoT→HOST) : +READY
HOST BoT
+OK
Request “+OK“
2 .
(HOST→BoT) : AT&F
(BoT→HOST) : +OK
(BoT→HOST) : +READY
HOST BoT Firmware
+OK
Request “+OK”
(HOST→BoT) : AT+VER?
(BoT→HOST) : +OK
13/33
(BoT→HOST) : v1.0.0
Remote BoT v1.0.0 .
HOST BoT
+OK +ERROR
Request “+OK“
“+ERROR” . 2400, 9600,
19200, 38400, 57600, 115200, 230400 .
(HOST→BoT) : AT UART=9600
(BoT→HOST) : +OK
HOST BoT Role
+OK +ERROR
Request
“+OK“ “+ERROR”
(HOST→BoT) : AT ROLE?
(BoT→HOST) : +OK
(BoT→HOST) : +SERVER[PERIPHERAL]
BoT Server mode Peripheral
.
HOST BoT Bypass AT Command
+OK
Request AT Command
“+OK“
(HOST→BoT) : AT+COMMAND
(BoT→HOST) : +OK
BoT Bypass Data AT
command .
14/33
HOST AT Command Bypass
+OK +ERROR
Request Bypass Data
“+OK“ “+ERROR”
(HOST→BoT) : AT+BYPASS
(BoT→HOST) : +OK
BoT Online AT Command
Data Mode .
HOST BoT
+OK
Request “+OK“
+DISCONNECTED.
(HOST→BoT) : AT DISCONNECT
(BoT→HOST) : +OK
(BoT→HOST) : +DISCONNECTED
Remote BoT Advertising Data BoT
.
HOST BoT PWM
+OK
Request “+OK“ .
(HOST→BoT) : AT PWMALLENABLE
(BoT→HOST) : +OK
Remote BoT PWM0~4 ( :DISABLE).
HOST BoT PWM
+OK
15/33
Request “+OK“
(HOST→BoT) : AT PWMALLDISABLE
(BoT→HOST) : +OK
Remote BoT PWM0~4
HOST BoT PWM0
+OK
Request “+OK“
(HOST→BoT) : AT PWM0ENABLE
(BoT→HOST) : +OK
Remote BoT PWM0
HOST BoT PWM0
+OK
Request “+OK“
(HOST→BoT) : AT PWM0DISABLE
(BoT→HOST) : +OK
Remote BoT PWM0
HOST BoT PWM0
+OK +ERROR
Request “+OK“ PWM0
(HOST→BoT) : AT PWM0?
(BoT→HOST) : +OK
(BoT→HOST) : 145
Remote BoT PWM0 145( )
16/33
HOST BoT PWM0
+OK +ERROR
Request “+OK“
“+ERROR” . ( : 0~255)
(HOST→BoT) : AT PWM0=45
(BoT→HOST) : +OK
Remote BoT PWM0 45( )
HOST BoT PWM1
+OK
Request “+OK“
(HOST→BoT) : AT PWM1ENABLE
(BoT→HOST) : +OK
Remote BoT PWM1
HOST BoT PWM1
+OK
Request “+OK“
(HOST→BoT) : AT PWM1DISABLE
(BoT→HOST) : +OK
Remote BoT PWM1
HOST BoT PWM1
+OK +ERROR
Request “+OK“ PWM1
(HOST→BoT) : AT PWM1?
17/33
(BoT→HOST) : +OK
(BoT→HOST) : 145
Remote BoT PWM1 145( )
HOST BoT PWM1
+OK +ERROR
Request “+OK“
“+ERROR” . ( : 0~255)
(HOST→BoT) : AT PWM1=45
(BoT→HOST) : +OK
Remote BoT PWM1 45( )
HOST BoT PWM2
+OK
Request “+OK“
(HOST→BoT) : AT PWM2ENABLE
(BoT→HOST) : +OK
Remote BoT PWM2
HOST BoT PWM2
+OK
Request “+OK“
(HOST→BoT) : AT PWM2DISABLE
(BoT→HOST) : +OK
Remote BoT PWM2
HOST BoT PWM2
18/33
+OK +ERROR
Request “+OK“ PWM2
(HOST→BoT) : AT PWM2?
(BoT→HOST) : +OK
(BoT→HOST) : 145
Remote BoT PWM2 145( )
HOST BoT PWM2
+OK +ERROR
Request “+OK“
“+ERROR” . ( : 0~255)
(HOST→BoT) : AT PWM2=45
(BoT→HOST) : +OK
Remote BoT PWM2 45( )
HOST BoT PWM3
+OK
Request “+OK“
(HOST→BoT) : AT PWM3ENABLE
(BoT→HOST) : +OK
Remote BoT PWM3
HOST BoT PWM3
+OK
Request “+OK“
(HOST→BoT) : AT PWM3DISABLE
(BoT→HOST) : +OK
Remote BoT PWM3
19/33
HOST BoT PWM3
+OK +ERROR
Request “+OK“ PWM3
(HOST→BoT) : AT PWM3?
(BoT→HOST) : +OK
(BoT→HOST) : 145
Remote BoT PWM3 145( )
HOST BoT PWM3
+OK +ERROR
Request “+OK“
“+ERROR” . ( : 0~255)
(HOST→BoT) : AT PWM3=45
(BoT→HOST) : +OK
Remote BoT PWM3 45( )
HOST BoT PIO 0 ~ 15 PIO
+OK
Request “+OK“ PIO 0~15
PIO . PIO Bitmask HEX ASCII .
( :0, :1)
(HOST→BoT) : AT DIR?
(BoT→HOST) : +OK
(BoT→HOST) : A1E1
Remote BoT PIO 0~15 PIO
A(1010:PIO15 Output, PIO14 Input, PIO13 Output, PIO12 Input),
1(0001:PIO11 Input, PIO10 Input, PIO9 Input, PIO8 Output),
20/33
E(1110:PIO7 Output, PIO6 Output, PIO5 Output, PIO 4 Input),
1(0001:PIO3 Input, PIO2 Input, PIO1 Input, PIO0 Output) .
HOST BoT PIO 0 ~ 15 PIO
+OK
Request “+OK“ . PIO
Bitmask HEX ASCII . ( :0, :1)
(HOST→BoT) : AT DIR=0C00
(BoT→HOST) : +OK
Remote BoT PIO10 PIO11 .
* v1.0.0 GPIO 10 11 . Reserved
, Reserverd / .
HOST BoT PIO 0 ~ 15 PIO
+OK
Request “+OK“ PIO 0~15
PIO . PIO Bitmask HEX ASCII .
(LOW:0, HIGH:1)
(HOST→BoT) : AT PIO?
(BoT→HOST) : +OK
(BoT→HOST) : 0131
Remote BoT PIO 0~15 PIO
PIO8, PIO5, PIO4, PIO0 HIGH LOW
.
HOST BoT PIO 0 ~ 15 PIO
+OK
Request “+OK“ . PIO
21/33
Bitmask HEX ASCII . (LOW:0, HIGH:1)
(HOST→BoT) : AT PIO=0C00
(BoT→HOST) : +OK
Remote BoT PIO10 PIO11 HIGH
LOW
* v1.0.0 GPIO 10 11 . Reserved
, Reserverd . PIO
/ .
HOST BoT AIO 0
+OK
Request “+OK“ AIO0
16bit Hex ASCII (Range : 0 ~ xxxx)
(HOST→BoT) : AT AIO0?
(BoT→HOST) : +OK
(BoT→HOST) : 0ADC
Remote BoT AIO0 0x0ADC( 2780)
*
HOST BoT AIO 1
+OK
Request “+OK“ AIO1
16bit Hex ASCII (Range : 0 ~ xxxx)
(HOST→BoT) : AT AIO1?
(BoT→HOST) : +OK
(BoT→HOST) : 0ADC
Remote BoT AIO1 0x0ADC( 2780)
*
22/33
HOST BoT AIO 2
+OK
Request “+OK“ AIO2
16bit Hex ASCII (Range : 0 ~ xxxx)
(HOST→BoT) : AT AIO2?
(BoT→HOST) : +OK
(BoT→HOST) : 0ADC
Remote BoT AIO2 0x0ADC( 2780)
*
BoT SERVER mode HOST BoT ROLE
+OK +ERROR
Request “+OK“ .
“+ERROR”
(HOST→BoT) : AT SERVER=P
(BoT→HOST) : +OK
BoT Peripheral
HOST BoT Manufacturer
+OK +ERROR
Request “+OK“
“+ERROR” .
(HOST→BoT) : AT MANUF=BoT
(BoT→HOST) : +OK
Remote BoT MANUFACTUR BoT . Client
Advertising Data BoT .
23/33
HOST BoT TX power
+OK +ERROR
Request “+OK“
“+ERROR” . Advertising Advertising
TX Power Advertising
(HOST→BoT) : AT TXPWR=xx
(BoT→HOST) : +OK
** xx 0 ~ 7
0( --18dBm), 1(-14dBm), 2(-10dBm), 3(-6dBm), 4(-2dBm), 5(2dBm), 6(6dBm),
7(8dBm)
HOST BoT TX power
+OK +ERROR
Request “+OK“ TX Power
(HOST→BoT) : AT TXPWR?
(BoT→HOST) : +OK
(BoT→HOST) : 4
Remote BoT TX Power 4(-2dBm)
BoT Server mode HOST BoT Advertising User Data
+OK +ERROR
Request “+OK“
“+ERROR” . Advertising Advertising
Advertising User Data Advertising
(HOST→BoT) : AT ADVDATA=Beacon
(BoT→HOST) : +OK
Remote BoT Advertising Data User
Beacon .
24/33
HOST BoT Advertising User Data
+OK
Request “+OK“
Advertising User Data
(HOST→BoT) : AT ADVDATA?
(BoT→HOST) : +OK
(BoT→HOST) : Beacon
Remote BoT Advertising User Data Beacon
HOST BoT Advertising Interval
+OK +ERROR
Request “+OK“
“+ERROR”
(HOST→BoT) : AT ADVINTERVAL=800
(BoT→HOST) : +OK
Remote BoT Advertising Interval 800ms
HOST BoT Advertising Interval
+OK
Request “+OK”
Advertising Interval
(HOST→BoT) : AT ADVINTERVAL?
(BoT→HOST) : +OK
(BoT→HOST) : 800
Remote BoT Advertising Interval 800ms
25/33
BoT CLIENT mode HOST BoT ROLE
+OK +ERROR
Request “+OK“ .
“+ERROR” . Observer +SCANNING
Advertinsing Data .
(HOST→BoT) : AT CLIENT=C
(BoT→HOST) : +OK
BoT 2 Central
CLIENT SERVER
+OK +ERROR
SCAN “+SCANNING“ 15 Scan
+OK . “+ERROR” .
(HOST→BoT) : AT SCAN
(BoT→HOST) : +SCANNING
(BoT->HOST) : BoT_ADDR[74:F0:7D:B0:00:01], TX_PWR=[-2], RSSI=[-50],
MANUF=[Beacon],…
(BoT→HOST) : +OK
Remote BoT 15 SCAN
CLIENT SERVER
+OK +ERROR
SCAN “+SCANNING“
“+ERROR” . Scan +OK
(HOST→BoT) : AT SCAN=80
(BoT→HOST) : +SCANNING
(BoT→HOST) : +OK
Remote BoT 80 SCAN
26/33
CLIENT SERVER
+OK +ERROR
SCAN “+OK“ “+ERROR”
.
(HOST→BoT) : AT STOPSCAN
(BoT→HOST) : +OK
Remote BoT Scan
CLIENT SCAN Interval
+OK +ERROR
Scan Interval “+OK“
“+ERROR” . SCAN Interval 12 ~ 2560 (ms)
(HOST→BoT) : AT SCAN=80
(BoT→HOST) : +SCANNING
(BoT→HOST) : +OK
Remote BoT SCAN Interval 80ms
HOST CLIENT SCAN Interval
+OK +ERROR
Scan Interval “+OK” SCAN Interval
“+ERROR” .
(HOST→BoT) : AT SCANINTERVAL?
(BoT→HOST) : +OK
(BoT→HOST) : 80
Remote BoT SCAN Interval 80ms
CLIENT SCAN Window .
+OK +ERROR
Scan Window “+OK“
“+ERROR” . SCAN Window SCAN Interval
27/33
11~2560 (ms) .
(HOST→BoT) : AT SCANWINDOW=60
(BoT→HOST) : +OK
Remote BoT SCAN Window 60ms
HOST CLIENT SCAN Window
+OK +ERROR
SCAN Window SCAN Window
“+OK” “+ERROR”
(HOST→BoT) : AT SCANWINDOW?
(BoT→HOST) : +OK
(BoT→HOST) : 60
Remote BoT Scan Window 60ms
CLIENT SERVER
+OK, +CONNECTED or +FAILED
Request “+OK“ 15
“+FAILED”
(HOST→BoT) : AT CONNECT=74F07DB00001
(BoT→HOST) : +OK
(BoT→HOST) : +CONNECTED
Remote NAP:74F0 UAP:7D LAP:B00001 Server
CLIENT SERVER
+OK, +CONNECTED or +FAILED
Request “+OK“ 15
“+FAILED”
(HOST→BoT) : AT REONNECT
(BoT→HOST) : +OK
(BoT→HOST) : +CONNECTED
28/33
Remote BoT Server
CLIENT SERVER AUTOCONNECTION
+OK
Request “+OK“ AUTOCONNECTION
“ON” “OFF”
(HOST→BoT) : AT AUTOCONNECT?
(BoT→HOST) : +OK
(BoT→HOST) : ON
Remote BoT AUTOCONNECT
CLIENT SERVER AUTOCONNECTION
+OK
Request “+OK“ .
Auto Connection .
(HOST→BoT) : AT AUTOCONNECT=ON
(BoT→HOST) : +OK
Remote BoT Server Auto Connection
CLIENT SERVER AUTOCONNECTION
+OK
Request “+OK“ .
.
(HOST→BoT) : AT AUTOCONNECT=OFF
29/33
(BoT→HOST) : +OK
Remote BoT Server Auto Connection
.
SERVER CLIENT BLE device UART ,
BLE link ..
SERVER CLIENT
(HOST→BoT) : ABCD<CR>
( ) : ABCD<CR>
v1.0.0 SERVER Data Service PIO Service
UUID . UUID Service
.
.
UUID
Data Service
(Primary)
0xFFF0 N/A
Read/Notification 0xFFF1 Read/Notification
Write(No response) 0xFFF2 Write without Response
PIO Service
(Primary)
0xFFFA N/A
PWM 0xFFFB Read/Write
PIO Direction 0xFFFC Read/Write
PIO State 0xFFFD Read/Write
AIO 0xFFFE Read
30/33
Range
PWM Output Voltage: 0~VDD
Step : 0~255(0xFF)
255
AIO Input Range : 0~1.5V
Step : 0~1293(0x050D)
1 Step 1.16mv
PWM
(UUID 0xFFFB)
Read 5 Byte
PWM Status : 1 Byte(MSB 4bit : Unused, LSB
bitmask)
PWM3 : 1 Byte PWM2 : 1 Byte
PWM1 : 1 Byte PWM0 : 1 Byte
) 03 00 00 AA FF (Enable/Disable, PWM3,
PWM2, PWM1, PWM0 )
-> PWM1, PWM0 , PWM1,
PWM0 PWM AA, FF
.
Write 5 Byte
Read .
PIO Direction
(UUID 0xFFFC)
Read 2
0~15 BitMask
) 0F0D
-> 0000(PIO 15~12) 1111(PIO 11~8)
0000(PIO 7~4) 1101 (PIO3~PIO0)
PIO 15~12 Input, PIO 11~8 Output
PIO 7~4 Input, PIO3~2 Output, PIO1 Input, PIO0
Output
Write 5 Byte
Read
PIO State
(UUID 0xFFFD)
Read 2 Byte
0~15 BitMask
31/33
) 0003
-> PIO 1~0 High Low
Write 2
Read
AIO
(UUID 0xFFFE)
Read 6 Byte
AIO2~0 AIO 2 Byte (AIO2,
AIO1, AIO0 )
) 0412 0000 0000
-> AIO2 0412(HEX)
.
Index 0 1 2
Data GPIO PWM
Remote device BoT , BoT Remote device
0
A. HOST Remote device
(HOST→BoT) : 0ABCDEF
(BoT→Remote device) : 0ABCDEF
Remote device ABCDEF
B. Remote device HOST
(Remote device →BoT) : 0ABCDEF
(BoT→HOST) : 0ABCDEF
Remote device ABCDEF
32/33
Remote device BoT GPIO
Remote device BoT GPIO 1
A. Remote device BoT GPIO
(Remote device →BoT) : 1714
(BoT→HOST) : 1700
BoT GPIO11,GPIO10,GPIO9 HIGH, port LOW
Remote device BoT PWM port
Remote device BoT PWM 4port
2
A. Remote device BoT PWM
(Remote device →BoT) : (2)(7f)(1f)(2f)(3f)
(BoT→Remote device) : (2)(7f)(1f)(2f)(3f)
33/33