BLE AT 커맨드 매뉴얼
아래의 명령들은 BLE에서 전용으로 사용하고 있는 명령들의 Manual 이다.
WIFI AT Command Command에서 설명했던 명령중에 WIFI 전용 명령이 아닌 명령들은 BLE에서도 공통으로 사용할 수 있다.
No | Command | Description |
W1701 | AT+BNAME | BLE 장치의 이름을 설정 또는 쿼리 |
W1702 | AT+BMAC | BLE 장치의 주소(MAC) 쿼리 |
W1703 | AT+BLE | BLE 기능을 ON/OFF |
W1704 | AT+BSTATUS | BLE 상태를 쿼리 |
W1705 | AT+BSEND | 커맨드모드에서 지정된 길이의 데이터 전송 |
W1706 | AT+BSERVUUID | 데이터전송-서비스에 대한 UUID 쿼리 또는 설정 |
W1707 | AT+BRXUUID | 데이터전송-서비스에서 RX Port(특성)에 대한 UUID 쿼리 또는 설정 |
W1708 | AT+BTXUUID | 데이터전송-서비스에서 TX Port(특성)에 대한 UUID 쿼리 또는 설정 |
W1709 | AT+BEVENT | BLE 이벤트 수신 기능 쿼리/설정 |
W1710 | AT+BROLE | 다바이스의 동작모드(Master/Slave) 설정 또는 쿼리 |
W1711 | AT+BINQ | Master Mode 커맨드, BLE 디바이스를 검색 |
W1712 | AT+BSINQ | Master Mode 커맨드, BLE 디바이스를 검색 중지 |
W1713 | AT+BCONN | Master Mode 커맨드, Peripheral 디바이스를 접속(Connect) 시킴 |
W1701 AT+BNAME 모듈의 이름을 설정 또는 쿼리
명령(설정) | AT+BNAME=<name> |
응답 | OK |
매개변수 | name= BLE의 장치 이름, 기본 이름은 MXCHIP으로 설정되어 있다. |
설명 | 장치이름을 변경하고 Reboot후 발효 |
명령(쿼리) | AT+BNAME? |
응답 | +BNAME:<name> |
매개변수 | name= BLE의 장치 이름 |
W1702 AT+BMAC BLE 장치의 주소(MAC ) 쿼리
명령(쿼리) | AT+BMAC? |
응답 | +BMAC:<mac> |
매개변수 | mac= xx:xx:xx:xx:xx:xx 형식의 MAC 주소, BLE 기능이 Off 상태에서는 mac=0 0 0 0 0 0을 출력 |
설명 | BLE 주소의 설정은 지원하지 않음 |
W1703 AT+BLE BLE 기능을 ON/OFF
명령(설정) | AT+BLE=<ON/OFF> |
응답 | OK |
매개변수 | |
설명 |
명령(쿼리) | AT+BLE? |
응답 | +BLE=ON 또는 OFF |
매개변수 | 설정 명령의 매개변수 참조 |
W1704 AT+BSTATUS BLE 상태를 쿼리.
명령(쿼리) | AT+BSTATUS? |
응답 |
+BSTATUS: <status> +BSTATUS:CLIENT, <conn_id> <status> OK |
매개변수 | <conn_id>, <status>=CONNECTED, DISCONNECTED |
W1705 AT+BSEND 커맨드모드에서 지정된 길이의 데이터 전송
실행명령(Slave) | AT+BSEND= <length>\r<data> |
실행명령(Master) | or AT+BSEND= <role> <conn_id> <length>r <data> |
응답 | > |
매개변수 | length= 전송 할 데이터의 길이, data=전송할 데이터 |
매개변수 | role= 0(Peripheral), 1(Central), conn_id=client의 ID를 참조 |
설명 |
“>” 응답을 받은 후 6초이내에 시리얼포트로 지정된 길이의 데이터를 보내야 함. BLE 모듈은 데이터를 수신하여 연결된 BLE 호스트로 전송한다 |
주의 |
BLE 모듈은 “>” 를 반환한 후 지정 된 시간 동안 데이터 입력을 기다리며, 시간이 초과되면 입력된 데이터만 전송한다. 타임아웃은 일반적으로 6초이다 |
Usage 1
AT+BROLE?\r +BROLE:0 OK AT+BLE=ON\r OK +BEVENT:CONNECTION,ON
→ 우측 2번째 이미지 이후 ← AT+BSEND=5\r >12345 → 우측 3번째 이미지로 결과 확인 ← |
Usage 2
BLE Master에서 MTU 사이즈가 23 Byte로 제한 되어 있을 경우 AT+SEND=20은 데이터 송신에 성공하지만, AT+SEND=21은 경우는 Error가 발생한다.
이때 Master 장치에서 MTU Size를 더 크게 변경해주면 더 큰 데이터 사이즈의 경우에도 전송할 수 있다.
아래는 LightBlue(Puch Trough)의 경우 BLE 앱에서 MTU Size 변경 화면을 예로 들고 있다.
W1706 AT+BSERVUUID 데이터전송-서비스에 대한 UUID 쿼리 또는 설정
명령(설정) | AT+BSERVUUID=<uuid> |
매개변수 | <uuid>= 16bit이 HEX String, EX) A00A |
응답 | OK |
설명 | 설정이 유효하려면 모듈을 리부팅 해야한다. |
명령(쿼리) | AT+BSERVUUID? |
응답 | +BSERVUUID:<uuid> OK |
매개변수 | <uuid>-16bit이 HEX String, EX) A00A |
Usage
AT+BSERVUUID=0000E0FF3C17D2938E4814FE2E4DA212\r
AT+BSERVUUID=0000E0FF3C17D2938E4814FE2E4DA212
OK
AT+REBOOT\r
OK
AT+BLE=ON\r
OK
W1707 AT+BRXUUID 데이터전송-서비스에서 RX Port(특성)에 대한 UUID 쿼리 또는 설정
명령(설정) | AT+BRXUUID=<uuid> |
매개변수 | <uuid>= 16bit이 HEX String, EX) F00A |
응답 | OK |
설명 | 설정은 Rebooting 후 적용된다. |
명령(쿼리) | AT+BRXUUID? |
응답 | +BRXUUID:<uuid> OK |
매개변수 | <uuid>-16bit이 HEX String, EX) B002 |
W1708 AT+BTXUUID 데이터전송-서비스에서 TX Port(특성)에 대한 UUID 쿼리 또는 설정
명령(설정) | AT+BTXUUID=<uuid> |
매개변수 | <uuid>= 16bit이 HEX String, EX) F00A |
응답 | OK |
설명 | 설정은 Rebooting 후 적용된다. |
명령(쿼리) | AT+BTXUUID? |
응답 | +BTXUUID:<uuid> OK |
매개변수 | <uuid>-16bit이 HEX String, EX) B002 |
W1709 AT+BEVENT BLE 이벤트 수신 기능 쿼리/설정
명령(설정) | AT+BEVENT=<state> |
매개변수 | <state>=ON(BLE 이벤트수신 활성화), OFF(BLE 이벤트수신 비활성화) |
응답 | OK |
설명 |
명령(쿼리) | AT+BEVENT? |
응답 |
+BTEVENT:<ON/OFF> OK |
매개변수 | ON= BLE EVENT 수신 활성화, OFF= BLE EVENT 수신 비활성화 |
W1710 AT+BROLE 다바이스의 동작모드(Master/Slave) 설정 또는 쿼리
명령(설정) | AT+BROLE=<Param> |
응답 |
+BROLE=<Param> OK: |
매개변수(Param) | Param= 0(Peripheral/Slave mode), 1(Central/Master Mode) |
셜명 | 설정은 Rebooting 후 적용된다. |
명령(쿼리) | AT+BROLE=<Param> |
응답 | +BROLE=<Param> |
매개변수 | Param= 0(Peripheral/Slave mode), 1(Central/Master Mode), 기본설정은 0으로 설정되어 있다. |
셜명 |
W1711 AT+BINQ BLE 디바이스를 검색, Master Mode Command
F) AT+BINQ=<num><string> | |
W) AT+BINQ=0,<ble_name> |
OK +BEVENT:SCAN,<conn_id>,<mac>,<rssi>, <ble_name> |
W) AT+BINQ=1,<service_uuid> |
OK +BEVENT:SCAN,<conn_id>,<mac>,<rssi> +BEVENT:SCAN,<conn_id>,<mac>,<rssi>, <ble_name> |
<num> |
Filtering mode on scan 0 filter based on service UUID 1 filter based on device name |
<string> | service_uuid or ble_name |
<service_uuid> | 16Bit or 128Bit UUID |
<ble_name> |
Example |
AT+BSINQ OK AT+BINQ=1,MXCHIP OK +BEVENT:SCAN,0,0478633EF854,-32,MXCHIP AT+BSINQ OK AT+BINQ=1,BABB OK +BEVENT:SCAN,0,0478633EF854,-30 +BEVENT:SCAN,0,0478633EF854,-30,MXCHIP |
W1712 AT+BSINQ Scanning 중지, Master Mode Command
F) AT+SINQ | |
W) AT+SINQ | OK |
Example |
AT+BSINQ OK |
W1713 AT+BCONN Peripheral 디바이스를 접속(Connect) 시킴, Master Mode 커맨드
F) AT+BCONN=<conn_id> | |
W) AT+BCONN=<conn_id> |
OK +BEVENT:CONNECTION,CLIENT,<conn_id>,ON |
<conn_id> | id obtained in response to the BINQ command |
Example |
AT+BCONN=0 OK +BEVENT:CONNECTION,CLIENT,0,ON |