BoT-nLE52x Protocol
History 버전배포일자내역작성자 1.0.5 2019. 06. 19 - Data In Service 속성추가 : 데이터전송속도개선이가능하도록 Write without Response 속성추가 - Bypass 모드동작설명추가 Ethan - 설명오류수정 1.0.4 2019. 06. 18 - 기능오기수정 - 모델명대소문자오기수정 Ethan 1.0.3 2019. 01. 13 - 속성및오탈자수정 Ethan 1.0.2 2018. 07. 25 - 오탈자수정 Ethan 1.0.1 2018. 06. 21 - 오탈자수정 Ethan 1.0.0 2018. 06. 20 - BoT-nLE522 Protocol 기반 - BoT-nLE52x 공통 Protocol 로수정및적용 Ethan 2/25
목차 목차... 3 1. 개요... 5 2. PROTOCOL BASIC RULE... 5 2.1. PROTOCOL 기본동작... 6 2.2. UART 동작모드설명... 6 2.2.1. AT-COMMAND 모드... 6 2.2.2. BYPASS 모드... 6 2.3. BOT STATE 설명... 7 2.3.1. ADVERTISING... 7 2.3.2. CONNECTED... 7 3. BOT 제어 GPIO 설명... 8 3.1. BOT-NLE521 GPIO DEFINE... 8 3.2. BOT-NLE522 GPIO DEFINE... 8 3.3. FUNCTION 설명... 8 3.3.1. AT Command / BYPASS... 8 3.3.2. Connection Status... 8 3.3.3. Enter Sleep / Wakeup... 9 3.3.4. Disconnect & Factory Reset... 9 4. PROTOCOLS SUMMARY... 10 4.1. REQUEST (HOST BOT) PROTOCOL SUMMARY... 10 4.2. NOTIFY (BOT HOST) PROTOCOL SUMMARY... 11 4.3. GENERAL RESPONSE (BOT HOST) PROTOCOL SUMMARY... 11 5. ADVERTISING (DISCOVERABLE) DATA FORMAT... 12 5.1. FORMAT... 12 5.1.1. Normal Advertising Mode... 12 5.1.2. ibeacon Advertising Mode... 12 6. REQUEST PROTOCOL DETAIL... 13 6.1. AT... 13 6.2. ATZ... 13 6.3. AT&F... 14 6.4. AT+VER?... 14 3/25
6.5. AT+INFO?... 14 6.6. AT+UART=XXXX... 15 6.7. AT+FLOWCONTROL=XX... 15 6.8. AT+FLOWCONTROL?... 16 6.9. AT+MAJOR=XXXX... 16 6.10. AT+MAJOR?... 16 6.11. AT+MINOR=XXXX... 17 6.12. AT+MINOR?... 17 6.13. AT+IRSSI=XX... 17 6.14. AT+IRSSI?... 18 6.15. AT+ADVTYPE=X... 18 6.16. AT+SERVER=ROLE... 19 6.17. AT+MANUF=XXXX... 19 6.18. AT+TXPWR=XX... 20 6.19. AT+TXPWR?... 20 6.20. AT+ADVDATA=XXXX... 20 6.21. AT+ADVDATA?... 21 6.22. AT+ADVINTERVAL=XXXX... 21 6.23. AT+ADVINTERVAL?... 22 6.24. AT+CONNINTERVAL=XXXX... 22 6.25. AT+CONNINTERVAL?... 23 6.26. AT+DISCONNECT... 23 6.27. AT+NEGOCONN?... 24 7. GENERAL DATA TRANSMISSION... 25 8. SERVICE UUID INFORMATION... 25 4/25
1. 개요 본문서는 CHIPSEN Bluetooth LE BoT-nLE52x 모듈 과 ( 이하 BOT 라한다.) 과 UART interface로연결된고객사의 MCU( 이하 HOST 라한다.) 사이의 UART(serial port) 를통한통신규약을정의한다. 2. Protocol Basic Rule 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=xxxx) 를이용하여수정한다. Communication direction REQUEST (HOST BOT): HOST에서발생하여 BOT로전달된다. NOTIFY(BOT HOST) : BOT 에서발생하여 HOST으로전달되는메시지로, BOT의기본적인상태를알려준다. RESPONSE(BOT HOST) : BOT에서발생하여 HOST로전달되는메시지로, REQUEST에대한응답이다. Communication rule 모든프로토콜은 ascii 값의조합으로구성되며 CR(Carriage Return, 0x0D) 을 통해 Command 의끝을알린다. Ex) REQUEST 현재장치버전 : AT+VER? Command AT+VER? Command set A T + V E R? CR Ascii set 0x41 0x54 0x2B 0x56 0x45 0x52 0x3F 0x0D 5/25
Command Ex) NOTIFY 전원인가된후준비완료된경우 : +READY +READY Command set + R E A D Y CR Ascii set 0x2B 0x52 0x45 0x41 0x44 0x59 0x0D Ex) RESPONSE REQUEST에대한동작실패 : +ERROR Command +ERROR Command set + E R R O R CR Ascii set 0x2B 0x45 0x52 0x52 0x4F 0x52 0x0D 2.1. Protocol 기본동작 BOT 는 HOST 로부터 REQUEST 를수신후대응되는 RESPONSE 를전송한다. HOST 는기본적으로 +OK 또는 +ERROR 의 RESPONSE 을기대할수도있고, REQUEST 에해당하는특정 RESPONSE 을수신할수있다. 2.2. UART 동작모드설명 BOT 는 UART 로전달되는 HOST 의 DATA 에대해상대장치와연결되지않았을 경우의 AT-COMMAND 와상대장치와연결되었을경우인 BYPASS 모드의두가 지모드를지원한다. 2.2.1. AT-COMMAND 모드 - HOST에서 BOT의장치설정을변경하거나, BOT가특정동작을하도록명령을할수있는데, 이상태를 AT-COMMAND 모드라고한다. - BOT는 Remote device와연결이이루어지지않을경우항상 AT-COMMAND 모드를유지한다. - 이문서의대부분은 AT-COMMAND 모드에서사용가능한명령어를설명하고있다. 2.2.2. BYPASS 모드 - BOT가 Remote device와연결되어 HOST에서발생한 DATA를 Remote device 로전달이가능한데, 이상태를 BYPASS 모드라고한다. - BYPASS 모드상태에서는 BOT의장치설정을바꾸거나, 특정동작을수행하 6/25
는것은불가능하고, AT command GPIO 설정을통해일부설정값을읽거나연 결을종료하는동작은가능하다. - BYPASS 모드에서 HOST 에서발생한 DATA 는사용환경의블루투스무선품 질또는 UART 로데이터가전달되는속도 (Baudrate) 에의하여분할전송또는 지연전송이이루어질수있다. 2.3. BOT state 설명 BOT state 는 Remote device 와연결상태및 UART 동작모드 ( 1.3. UART 동작모 드 참조 ) 에따라 ADVERTISING, CONNECTED 로나뉜다. 2.3.1. ADVERTISING - Remote Client device와연결되지않고 Remote device에서검색이가능한모든경우, Advertising 에해당한다. - Advertising 상태일경우 UART 동작모드는언제나 AT-COMMAND 모드로동작한다. 2.3.2. CONNECTED - Remote device 와이미연결이이루어져있는경우에해당한다. - 이때 HOST 에서발생한데이터는모두 Remote device 로전송된다. 7/25
3. BOT 제어 GPIO 설명 HOST 에서 BOT 의상태또는컨트롤을쉽게하게하기위해 4 개의 GPIO 를별도로할 당한다 3.1. BoT-nLE521 GPIO define Pin PAD# Direction Pin Name Function #24 Input P0.18 AT Command / BYPASS #25 Output P0.20 Connection Status #19 Input P0.12 Enter Sleep / Wakeup #18 Input P0.10 Disconnect & Factory reset 3.2. BoT-nLE522 GPIO define Pin PAD# Direction Pin Name Function #17 Input P0.02 AT Command / BYPASS #14 Output P0.03 Connection Status #12 Input P0.04 Enter Sleep / Wakeup #8 Input P0.12 Disconnect & Factory reset 3.3. Function 설명 3.3.1. AT Command / BYPASS CONNECTED 상태에서 High(Rising Edge) 유지시 AT COMMAND 모드로동작하며, Low(Falling Edge) 유지시 BYPASS 모드 (Default mode) 로동작한다. 단, CONNECTED 상태에서 AT COMMAND로조회명령어들만수행가능하다 (ex- AT+INFO?, AT+CONN? ). 3.3.2. Connection Status 상대 Client 장치와 Connected 상태일때 High 를유지한다. 상대 Client 장치와 Disconnected 상태일때 Low 를유지한다. 8/25
3.3.3. Enter Sleep / Wakeup High Level(Rising Edge) 이감지되면저전력모드로진입이되며, 저전력모드상태에서는 Low Level (Falling Edge) 이감지되면 Wake Up 되고모듈이자동으로재부팅한다. 3.3.4. Disconnect & Factory Reset High Level(Rising Edge) 이감지되었을때상대 client 장치와연결되어있다면연결을종료한다. High Level(Rising Edge) 를 4초이상유지시 +OK 응답후공장초기화상태로복귀시킨다. 9/25
4. Protocols Summary 4.1. REQUEST (HOST BOT) Protocol Summary 프로토콜설명비고 AT ATZ AT&F AT+VER? AT+INFO? +OK 요청모듈리셋요청현재모듈의변경가능한값들을공장초기화후리셋현재모듈에적용된펌웨어의버전을요청현재모듈의블루투스주소, Device Name, Role정보 및 State 상태를요청 ex) 5C:FE:86:00:00:01,CHIPSEN,SERVER[PERIPHERAL],ADVERTISING AT+UART=xxxx UART Baudrate 을변경할경우사용 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200, 230400, 460800 AT+FLOWCONTROL=xx AT+FLOWCONTROL? AT+MAJOR=xxxx UART Flow Control 활성화여부를변경할경우사용 UART Flow Control 사용여부요청 BOT 가 ibeacon mode 일때 HOST 에서 BOT 의 Major 설정값을변경할 경우 AT+MAJOR? HOST 에서 BOT 가 ibeacon 으로동작시설정된 Major 값을알고자할 경우사용 AT+MINOR=xxxx BOT 가 ibeacon mode 일때 HOST 에서 BOT 의 Minor 설정값을변경할 경우 AT+MINOR? HOST 에서 BOT 가 ibeacon 으로동작시설정된 Minor 값을알고자할 경우사용 AT+IRSSI=xx BOT 가 ibeacon mode 일때 HOST 에서 BOT 의 Rssi 설정값을변경할 경우 AT+ADVTYPE=x BOT 의 Mode Type 을변경할경우사용 (Normal mode 또는 ibeacon mode) AT+SERVER=role Server mode 로장치가동작할경우 role 에따라동작모드가결정된다. : role=b Broadcaster ( 비연결성 ) BoT-nLE522 에 만해당 : role=p Peripheral ( 연결성 ) AT+MANUF=xxxxxxxx Manufacturer(Device Name) 를변경할경우사용. 만약 Advertising 상태에서이명령을사용하여 Manufacturer를변경할경우 Advertising Data에즉시반영이된다. (MAX 8byte) AT+MANUF? Manufacturer(Device Name) 을요청 10/25
AT+TXPWR=x BOT 의 TX power level 을조정할경우사용하고, 이명령사용이후 power level 이자동적용된다. 입력범위값 : 0~7(-18~4dBm) AT+TXPWR? AT+ADVDATA=xxxx 현재 BOT 의 TX power level 값요청 Server mode 로장치가동작할경우상대장치가검색할때보여질수있 는설정가능한 Advertising user data 영역이다 (MAX 13byte). AT+ADVDATA? 설정된 Advertising User data 의데이터를알고자할때요청 AT+ADVINTERVAL=xxxxx Advertising Interval 을변경하고자할때사용. Range : 20~2560 (ms) AT+ADVINTERVAL? AT+CONNINTERVAL=xxxx AT+CONNINTERVAL? Advertising Interval 값을알고자할때요청 Connection Interval 값을변경하고자할때사용 Range : 20~1999ms Connection Interval 값을알고자할때요청 AT+NEGOCONN? 현재 Negotiation 된 Connection Interval 값을알고자할때요청. **BoT-nLE521 의 v0.7.2 버전이하의경우응답값에 1.25ms 를곱한값이 실제 interval time 임. 4.2. NOTIFY (BOT HOST) Protocol Summary 프로토콜설명비고 +READY 전원이인가되었고 Server 동작이가능한상태전원인가후 3ms 이내 +ADVERTISING 상대장치에서검색및연결가능한상태 +BROADCASTING 상대장치에서검색만가능한상태 BoT-nLE522 만가능 +CONNECTED[xx:xx:xx:xx:xx:xx] 상대장치와연결된경우 [xx:xx:xx:xx:xx:xx] : Remote BT Addr +DISCONNECTED 상대장치와연결이해제된경우 4.3. General RESPONSE (BOT HOST) Protocol Summary 프로토콜 설명 비고 +OK REQUEST를정상적으로수행될경우 +ERROR REQUEST가정상적으로수행되지않을경우 11/25
5. Advertising (Discoverable) Data format Advertising Data 는디바이스가 Server mode 이고, 연결이되지않더라도검색시확인이가 능한데이터를말한다. 5.1. Format 5.1.1. Normal Advertising Mode Advertising data 총 31byte 중 22byte의변경가능한 Data 영역을포함한다. Advertising data에포함되는데이터는사용자가변경불가능한 Reserved 데이터 (Length 및 Flag) 영역과사용자가 UART를통해변경가능한데이터영역으로구성된 다. 아래의구조내의노란색블록으로되어있는 FIELD는사용자가 AT command로변 경가능한영역이다 구조 패킷형태는다음과같으며, 패킷의 Index 위치는데이터길이에따라가변적일수 있다. TX 레벨및 Device Name, User Data 설정은 AT Command AT+TXPWR, AT+MANUF, AT+ADVDATA 에각각대응된다. 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 Undefined User Data 5.1.2. ibeacon Advertising Mode ibeacon data 총 31byte 중 5byte의변경가능한 Data 영역을포함한다. 사용자가 UART를통해변경가능한데이터영역은 Major/Minor 및 TX Power에대하여만 AT command로변경가능한영역이다 구조패킷형태는다음과같고, Major/Minor 및 TX Power 변경은 ATT Command 12/25
AT+MAJOR, AT+MINOR, AT+IRSSI 에각각대응된다. index 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 Data GAP Reserved ibeacon Reserved UUID Reserved index 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Data UUID Reserved MAJOR MINOR TX power x 6. REQUEST Protocol Detail 6.1. AT 동작 HOST에서 BOT에 +OK 요청 응답 +OK 또는 +ERROR 응답완료 커맨드수신후 5ms 이내 (9600bps 기준 ) 설명 정상적으로 Request를받아명령을수행하였으면 +OK 응답. 사용예 (HOST BOT) : AT 6.2. ATZ 동작 HOST에서 BOT에리셋을요청응답 +OK 또는 +ERROR 응답완료커맨드수신후 5ms 이내 (9600bps 기준 ) 설명정상적으로 Request를받아명령을수행하였으면 +OK 응답후 2초뒤리셋. * CONNECTED 상태에서 AT COMMAND 모드로수행가능 * 참고로최초전원인가후약 3ms이후부터사용예 (HOST BOT) : ATZ after 2sec.. (BOT HOST) : +READY 리셋수행, +READY응답으로리셋되었음을확인할수있다. 13/25
6.3. AT&F 동작 HOST에서 BOT의변경가능한값들을공장초기화할경우응답 +OK 응답완료커맨드수신후 8ms 이내 (9600bps 기준 ) 설명정상적으로 Request를받아명령을수행하였으면 +OK 응답하고설정값들을초기화한후 2초뒤리셋. * CONNECTED 상태에서 AT COMMAND 모드로수행가능 ( 초기값 ) 1. Baud Rate : 9600 7. Advertising Type : Normal mode 2. Device Name : CHIPSEN or chipsen 8. RSSI Value : C3 3. Advertising Interval : 1280ms 9. Major : 0000, Minor : 0000 4. Connection Interval : 20ms 10. UART Flow control : OFF 5. Server Role : Peripheral **Flow control은하드웨어적용필요 6. TX Power : 5(-4dBm) 사용예 (HOST BOT) : AT&F after 2sec.. (BOT HOST) : +READY 변경가능한값들을초기화후리셋을수행, +READY응답으로리셋되었음을확인할수있다. 6.4. AT+VER? 동작 HOST에서 BOT의 Firmware 버전을알고싶을경우 응답 버전정보 (v[major].[minor].[release]) 응답완료 커맨드수신후 8ms 이내 (9600bps 기준 ) 설명 정상적으로 Request를받아명령을수행하였으면펌웨어버전을표시 * CONNECTED 상태에서 AT COMMAND 모드로수행가능 사용예 (HOST BOT) : AT+VER? (BOT HOST) : v1.0.0 HOST 장치에서 BOT 펌웨어버전 v1.0.0 이라는정보를얻을수있음. 6.5. AT+INFO? 동작 HOST 에서 BOT 의어드레스와 Device Name, Role 상태를알고싶을경우 14/25
응답 BOT Address,Device Name,Mode[Role],State 응답완료커맨드수신후 60ms 이내 (9600bps 기준 ) 설명정상적으로 Request 를받아명령을수행하였으면 +OK 응답후어드레스, 사용예 DeviceName 형태로표시 (HOST BOT) : AT+INFO? (BOT HOST) : 5C:FE:86:A0:00:01,CHIPSEN,SERVER[PERIPHERAL],ADVERTISING HOST 장치에서 BOT 의어드레스와 CHIPSEN or chipsen 이라는디바이 스이름, Server 모드 Peripheral Role 이며 Advertising 상태정보를알수있음. 6.6. AT+UART=xxxx 동작 HOST에서 BOT와의통신속도를변경할경우응답 +OK 또는 +ERROR 응답완료커맨드수신후 8ms 이내 (9600bps 기준 ) 설명정상적으로 Request를받아명령을수행하였으면 +OK 를응답하고통신속도를변경후 2초후에리셋을하고그렇지않다면 +ERROR 를응답. 지원가능한통신속도는 2400, 4800, 9600, 14400, 28800, 19200, 38400, 57600, 115200, 230400, 460800 등이가능하다. 사용예 (HOST BOT) : AT+UART=9600 after 2sec.. (BOT HOST) : +READY 6.7. AT+FLOWCONTROL=xx 동작 HOST에서 BOT와의 UART 통신에서흐름제어사용여부를변경할경우응답 +OK 또는 +ERROR 응답완료커맨드수신후 5ms 이내 (9600bps 기준 ) 설명정상적으로 Request를받아명령을수행하였으면 +OK 를응답하고흐름제어여부를변경후 2초후에리셋을하고그렇지않다면 +ERROR 를응답. ** xx 는 ON 이거나 OFF 설정가능 ( 초기값 ) OFF 흐름제어사용하지않음사용예 (HOST BOT) : AT+FLOWCONTROL=ON after 2sec.. (BOT HOST) : +READY 15/25
6.8. AT+FLOWCONTROL? 동작 HOST에서 BOT와의통신에서흐름제어사용여부를알고자할경우 응답 흐름제어사용여부 (ON or OFF) 응답완료 커맨드수신후 5ms 이내 (9600bps 기준 ) 설명 정상적으로 Request를받아명령을수행하였으면흐름제어사용여부를 ON/OFF 형식으로응답. * CONNECTED 상태에서 AT COMMAND 모드로수행가능 사용예 (HOST BOT) : AT+FLOWCONTROL? (BOT HOST) : ON 6.9. AT+MAJOR=xxxx 동작 BOT가 ibeacon mode일때 HOST에서 BOT의 Major 설정값을변경할경우응답 +OK 또는 +ERROR 응답완료커맨드수신후 8ms 이내 (9600bps 기준 ) 설명설정할 Major의 HEX 값을문자 4자리로전송 (ex) 0xFF50 => AT+MAJOR=FF50) 정상적으로 Request를받아명령을수행하였으면 +OK 를응답. 그렇지않다면 +ERROR 를응답. 사용예 BOT가 ibeacon mode로동작중일경우, (HOST BOT) : AT+MAJOR=FF50 (BOT HOST) : +ADVERTISING 6.10. AT+MAJOR? 동작 HOST에서 BOT가 ibeacon으로동작시설정된 Major 값을알고자할경우 사용 응답 Major 값또는 +ERROR 응답완료 커맨드수신후 5ms 이내 (9600bps 기준 ) 설명 정상적으로 Request를받아명령을수행하였으면 Major 값을 (HEX) 응답. 그렇지않다면 +ERROR 를응답. 사용예 (HOST BOT) : AT+MAJOR? 16/25
(BOT HOST) : F902 6.11. AT+MINOR=xxxx 동작 BOT가 ibeacon mode일때 HOST에서 BOT의 Minor 설정값을변경할경우응답 +OK 또는 +ERROR 응답완료커맨드수신후 8ms 이내 (9600bps 기준 ) 설명설정할 Minor의 HEX 값을문자 4자리로전송 (ex) 0xFF50 => AT+MINOR=FF50) 정상적으로 Request를받아명령을수행하였으면 +OK 를응답. 그렇지않다면 +ERROR 를응답. 사용예 BOT가 ibeacon mode로동작중일경우, (HOST BOT) : AT+MINOR=FF50 (BOT HOST) : +ADVERTISING 6.12. AT+MINOR? 동작 HOST에서 BOT가 ibeacon으로동작시설정된 Minor 값을알고자할경우 사용 응답 Minor 값또는 +ERROR 응답완료 커맨드수신후 5ms 이내 (9600bps 기준 ) 설명 정상적으로 Request를받아명령을수행하였으면 Minor 값을 (HEX) 응답. 그렇지않다면 +ERROR 를응답. 사용예 (HOST BOT) : AT+MINOR? (BOT HOST) : 55FB 6.13. AT+IRSSI=xx 동작 BOT가 ibeacon mode일때 HOST에서 BOT의 Rssi 설정값을변경할경우 응답 +OK 또는 +ERROR 응답완료 커맨드수신후 8ms 이내 (9600bps 기준 ) 설명 설정할 Rssi의 HEX 값을문자 2자리로전송 (ex) 0xF8 => AT+MINOR=F8) 정상적으로 Request를받아명령을수행하였으면 +OK 를응답. 그렇지않 17/25
다면 +ERROR 를응답. 사용예 BOT가 ibeacon mode로동작중일경우, (HOST BOT) : AT+IRSSI=F8 (BOT HOST) : +ADVERTISING 6.14. AT+IRSSI? 동작 HOST에서 BOT가 ibeacon으로동작시설정된 Rssi 값을알고자할경우사 용 응답 Rssi 값또는 +ERROR 응답완료 커맨드수신후 5ms 이내 (9600bps 기준 ) 설명 정상적으로 Request를받아명령을수행하였으면 Rssi 값을 (HEX) 응답. 그렇지않다면 +ERROR 를응답. 사용예 (HOST BOT) : AT+MINOR? (BOT HOST) : C5 6.15. AT+ADVTYPE=x 동작 BOT의 Mode Type을변경할경우사용 (Normal mode 또는 ibeacon mode) 응답 +OK 또는 +ERROR 응답완료커맨드수신후 8ms 이내 (9600bps 기준 ) 설명정상적으로 Request를받아명령을수행하였으면 +OK 를응답. 그렇지않다면 +ERROR 를응답. 사용예 (HOST BOT) : AT+ADVTYPE=N (BOT HOST) : +ADVERTISING BOT가 Normal Server mode로동작시작 (HOST BOT) : AT+ADVTYPE=I (BOT HOST) : + ADVERTISING BOT가 ibeacon 장치로동작시작 18/25
6.16. AT+SERVER=ROLE 동작 BOT가 SERVER mode일경우 HOST에서 BOT의 ROLE을변경할경우사용단, 이기능은 BoT-nLE522에만해당됨응답 +OK 또는 +ERROR 응답완료커맨드수신후 8ms 이내 (9600bps 기준 ) 설명정상적으로 Request를받아명령을수행하였으면 +OK 를응답. 그렇지않다면 +ERROR 를응답. 사용예 (HOST BOT) : AT+SERVER=P (BOT HOST) : +ADVERTISING BOT가 Peripheral 장치로동작시작 (HOST BOT) : AT+SERVER=B (BOT HOST) : +BROADCASTING BOT가 Broadcaster 장치로동작시작 6.17. AT+MANUF=xxxx 동작 HOST에서 BOT의 Manufacture(Device Name) 명을바꿀경우응답 +OK 또는 +ERROR 응답완료커맨드수신후 8ms 이내 (9600bps 기준 ) 설명정상적으로 Request를받아명령을수행하였으면 +OK 그렇지않다면 +ERROR 를응답. 최대 8자리. 사용예 (HOST BOT) : AT+MANUF=CHIPSEN (BOT HOST) : +ADVERTISING HOST 장치에서 BOT의 MANUFACTURE를 CHIPSEN으로설정. Client에서검색시 Advertising Data에서 CHIPSEN이라는정보를얻을수있음. 만약 Advertising( 혹은 Broadcasting) 중에해당명령어를수행하면이름을적용하여 Advertising( 혹은 Broadcasting) 을재시작한다. 19/25
6.18. AT+TXPWR=xx 동작 HOST에서 BOT의 TX power 를변경할경우 응답 +OK 또는 +ERROR 응답완료 커맨드수신후 8ms 이내 (9600bps 기준 ) 설명 정상적으로 Request를받아명령을수행하였으면 +OK 를응답하고그렇지 않다면 +ERROR 를응답. 사용예 (HOST BOT) : AT+TXPWR=xx (BOT HOST) : +ADVERTISING ** xx 의범위는 0 ~ 7 까지변경가능 0 : -40dBm, 1 : -20dBm, 2 : -16dBm, 3 : -12Bm, 4 : -8dBm, 5 : -4dBm, 6 : 0dBm, 7 : 4dBm 만약 Advertising( 혹은 Broadcasting) 중에해당명령어를수행하면새로운 TX Power를적용뒤 Advertising( 혹은 Broadcasting) 을재시작한다. 6.19. AT+TXPWR? 동작 HOST에서 BOT의 TX power 를알고자할경우응답 TX Power(0~7) 응답완료커맨드수신후 5ms 이내 (9600bps 기준 ) 설명정상적으로 Request를받아명령을수행하였으면 TX Power 값을표시 (0 : -40dBm, 1 : -20dBm, 2 : -16dBm, 3 : -12dBm, 4 : -8dBm, 5 : -4dBm, 6 : 0dBm, 7 : 4 dbm) * CONNECTED 상태에서 AT COMMAND 모드로수행가능사용예 (HOST BOT) : AT+TXPWR? (BOT HOST) : 5 HOST 장비에서 BOT의 TX Power가 5(-4dBm) 라는정보를얻을수있음 6.20. AT+ADVDATA=xxxx 20/25
동작 응답 BOT 가 Server mode 일경우 HOST 에서 BOT 의 Advertising User Data 를변경 할경우 +OK 또는 +ERROR 응답완료커맨드수신후 5ms 이내 (9600bps 기준 ) 설명 사용예 정상적으로 Request 를받아명령을수행하였으면 +OK 를응답하고그렇지 않다면 +ERROR 를응답. 최대 13 자사용자지정이가능하며 Default 로서 설정값은없음 (NULL). 메모리저장기능없음 (Reset 시값초기화 ). (HOST BOT) : AT+ADVDATA=Beacon (BOT HOST) : +ADVERTISING Remote 장치에서 BOT를검색할때 Advertising User Data 항목에서 Beacon 이라는정보를얻을수있음. 만약 Advertising( 혹은 Broadcasting) 중에해당명령어를수행하면새로운 User Data 를적용뒤 Advertising( 혹은 Broadcasting) 을재시작한다. 6.21. AT+ADVDATA? 동작 HOST에서 BOT의 Advertising User Data를알고자할경우응답 Advertising User Data 응답완료커맨드수신후 16ms 이내 (9600bps 기준 ) 설명정상적으로 Request를받아명령을수행하였으면 Advertising User Data를표시 * CONNECTED 상태에서 AT COMMAND 모드로수행가능사용예 (HOST BOT) : AT+ADVDATA? (BOT HOST) : Beacon HOST 장치에서 BOT의 Advertising User Data가 Beacon 이라는정보를얻을수있음 6.22. AT+ADVINTERVAL=xxxx 동작 HOST 에서 BOT 의 Advertising Interval 을변경하고자할경우 21/25
응답 +OK 또는 +ERROR 응답완료커맨드수신후 8ms 이내 (9600bps 기준 ) 설명 사용예 정상적으로 Request 를받아명령을수행하였으면 +OK 를응답하고그렇지 않다면 +ERROR 를응답 Advertising Interval Range : 20~2560(ms) * Default Advertising Interval : 1280ms (HOST BOT) : AT+ADVINTERVAL=800 (BOT HOST) : +ADVERTISING Remote 장치에서 BOT 의 Advertising Interval 을 800ms 로설정 만약 Advertising( 혹은 Broadcasting) 중에해당명령어를수행하면새로운 Advertising Interval 을적용뒤 Advertising( 혹은 Broadcasting) 을재시작한다. 6.23. AT+ADVINTERVAL? 동작 HOST에서 BOT의 Advertising Interval을알고자할경우응답 Advertising Interval 표시 (20~2560) 응답완료커맨드수신후 5ms 이내 (9600bps 기준 ) 설명정상적으로 Request를받아명령을수행하였으면 Advertising Interval 표시 * CONNECTED 상태에서 AT COMMAND 모드로수행가능사용예 (HOST BOT) : AT+ADVINTERVAL? (BOT HOST) : 800 HOST 장치에서 BOT의 Advertising Interval이 800ms 라는정보얻을수있음 6.24. AT+CONNINTERVAL=xxxx 동작 HOST에서 BOT의 (Maximum) Connection Interval 을변경하고자할경우응답 +OK 또는 +ERROR 응답완료커맨드수신후 8ms 이내 (9600bps 기준 ) 설명정상적으로 Request를받아명령을수행하였으면 +OK 를응답하고, 그렇지않으면 +ERROR 를응답. 입력값은네자리 (10~1999) 까지입력받을수있고, 연결되는상대장치에따라실제 Negotiation되는 Connection Interval 값은다를수있으며상대장치의거절로인해 Connection Parameter Update 요청이실패할수도있다. * Advertising상태에서수행하면기존 Advertising을취소하고 Connection 22/25
Interval 을적용후재개한다. 사용예 (HOST BOT) : AT+CONNINTERVAL=30 (BOT HOST) : +ADVERTISING Connection Interval 을 30ms로요청만약 Advertising( 혹은 Broadcasting) 중에해당명령어를수행하면새로운 Connection Interval 을적용뒤 Advertising( 혹은 Broadcasting) 을재시작한다. 6.25. AT+CONNINTERVAL? 동작 HOST에서 BOT의 Connection Interval 설정값을알고자할경우응답 Connection Interval 표시 (Max Conn Interval) 응답완료커맨드수신후 5ms 이내 (9600bps 기준 ) 설명정상적으로 Request를받아명령을수행하였으면설정된 Connection Interval 표시 * CONNECTED 상태에서 AT COMMAND 모드로수행가능사용예 (HOST BOT) : AT+CONNINTERVAL? (BOT HOST) : 30 HOST 장치에서 BOT가현재설정한 Connection Interval이최대 30ms라는정보를얻을수있음 6.26. AT+DISCONNECT 동작 HOST에서 BOT가상대장치와연결된상태에서 AT COMMAND를통해연결을해제하고자할경우응답 +OK 후 +DISCONNECTED 또는 +ERROR 응답완료커맨드수신후 100ms 이내 (9600bps 기준 ) 설명정상적으로 Request를받아명령을수행하였으면 +OK 응답하고, +DISCONNECTED 를응답 * CONNECTED 상태에서 AT COMMAND 모드로수행가능사용예 (HOST BOT) : AT+DISCONNECT (BOT HOST) : +DISCONNECTED (BOT HOST) : +ADVERTISING HOST 장치에서현재연결된 BOT와상대장치의연결해제를요청하고연결이정상적으로해제 23/25
6.27. AT+NEGOCONN? 동작응답응답완료설명사용예 HOST에서 BOT가상대장치와 Negotiation 된 Connection Interval 설정값을알고자할경우현재 Negotiation된값 (ms) 을소수점두자리까지표시커맨드수신후 8ms 이내정상적으로 Request를받아명령을수행하였으면 Negotiation된 Connection Interval 표시 * CONNECTED 상태에서 AT COMMAND 모드로수행가능 (HOST BOT) : AT+NEGOCONN? (BOT HOST) : 18.75 HOST 장치에서 BOT가현재상대장치와 Negotiation된 Connection Interval 이 18.75ms 라는정보를얻을수있음 **BoT-nLE521의 v0.7.2버전이하의경우응답값에 1.25ms를곱한값이실제 interval time 임. 24/25
7. General Data transmission. SERVER와 CLIENT BLE device가연결된이후 UART를전달받은데이터나, 상대방장치에서 BLE link를통해전송된데이터는형태의변환이없이자동으로전송된다.. 상태 SERVER와 CLIENT가연결된상태사용예 (HOST BOT) : ABCD<CR> ( 상대방장치 ) : ABCD<CR> 8. Service UUID Information 상대장치와연결을위하여아래와같은 service UUID를통해 Custom Data 송수신 service 를제공한다. 따라서스마트폰또는여타장치에서 BOT를연결하여사용할경우아래의 UUID를사용하도록한다... 구분 UUID 속성 Custom Data service 0xFFF0 N/A (Primary) Data Out service 0xFFF1 Notification Data In service 0xFFF2 Write / Write without Response **BoT-nLE521 v0.7.2 이하는 Write 속성만을지원함. *16bit UUID 0xFFF0 to 128 bit UUID : 0000FFF0-0000-1000-8000-00805F9B34FB *16bit UUID 0xFFF1 to 128 bit UUID : 0000FFF1-0000-1000-8000-00805F9B34FB *16bit UUID 0xFFF2 to 128 bit UUID : 0000FFF2-0000-1000-8000-00805F9B34FB ** 속성설명 Notification : BoT-nLE52x로부터상대장치로데이터가전송시사용 Write : 상대장치로부터 BoT-nLE52x로데이터전송시사용하며, 데이터전송후 BoT-nLE52x의응답을통하여전송완료로판단 Write without Response : 상대장치로부터 BoT-nLE52x로데이터전송시사용하며, 데이터전송후 BoT-nLE52x로부터별도의응답이없음 25/25