AT Command(Kor)
WIZ550S2E AT Command Set
이 장에서는 WIZ550S2E의 AT commands 목록과 개별 command에 대한 상세 정보를 제공한다. AT command와 해당 인자들은 UART 라 인을 통해서 입력된다. 모든 명령어들은 문자열 "AT"로 시작하고 그외 다른 문자열로 시작하는 경우에는 에러가 리턴된다. 명령과 인자들은 모두가 ASCII 문자셋이다. 즉, 사용자가 "AT+NSTAT"를 입력하고자 한다면 ASCII 문자 'A', 'T', '+', 'N', 'S', 'T', 'A', 'T'와 CR(0x0D), LF(0x0A)를 순차적으로 입력해야한다. 모든 명령어는 항상 CR(0x0D), LF(0x0A)로 끝나야한다. 어떤 인자들은 필수항목이고 또 다른 항목들은 옵션이다. 인자들은 명령어 표에 제시된 것과 같은 순서로 입력해야한다. 옵션 항목들이 사용하지 않는 경우라 할지라도 콤마 구분자는 반드시 명령어에 포함해야한다. 대부분의 경우에, 명령어가 유효한 경우에 WIZ550S2E는 [S]를 응답하고, 잘못된 명령에는 [F]를 응답한다. WIZ550S2E가 내 보낼 수 있는 응답은 Responses에 표시되어져있다.
아래는 사용자가 입력할 수 있는 예제들이다. 예제에서 볼 수 있는 것처럼, WIZ550S2E의 응답에도 항상 "\r\n"가 존재한다.
사용자의 입력 | AT\r\n (0x61 0x74 0x0d 0x0a) |
---|---|
WIZ550S2E의 응답 | [S]\r\n (0x5b 0x53 0x5d 0x0d 0x0a) |
Responses
Response Format
[(Type),(Id),(Param1),(Param2),(Param3),(Param4),(Param5),(Param6)]↓(Data)↓
- (Type): 응답의 종류. 'S', 'D', 'F', 'W', 'R', 'V' 중의 하나.
- (Id): 소켓 구분자. 이 인자는 비동기 모드일 때 필수항목이다.
- (Param1) ~ (Param6): 모듈의 각종 설정값을 확인할 때 모듈에 의해서 필수적으로 포함된다.
- ↓: 이것은 엔터키를 의미하며, 그 실제값은 CR(0x0D), LF(0x0A)이다.
- (Data): 가변길이의 많은 데이터가 필요할 때, 응답 종류 'D'와 'R'에 뒤따라서 'Data'가 출력된다. 응답 종류별 세부적인 내용은 다음과 같다.
Response | Description |
---|---|
Success Response | [S,(Id),(Param1),(Param2),(Param3),(Param4),(Param5),(Param6)]↓ 명령 수행 성공. 필요한 경우, 인자를 포함한 응답 |
Success Dump Response | [D,(Id),(Size)]↓(Data)↓ 명령 수행 성공. 대용량 데이터를 포함한 응답. |
Fail Response | [F,(Id),(ErrorCode),(ErrorParam)]↓ 명령 수행 실패, 필요한 경우 에러코드 포함한 응답 |
Wait Response | [W,(Id)]↓ 비동기 모드로 명령이 수행중임. 완료시 ID를 이용해서 표시함. |
Data Receive Response | [R,(SockId),(ReceivedSize),(SrcIP),(SrcPort)]↓(Data)↓ 데이터 수신을 알림. 소켓 ID로 수신 대상 구분. |
Event Response | [V,(Id),(EventCode)]↓ 이벤트 발생 알림. |
-
(Id): 0 - 시스템 ID or 0~n - 소켓 지정자
-
(Size): 출력한 데이터의 길이
-
(ErrorCode): 에러 코드
-
(ErrorParam): 에러 코드를 위한 Description 값
-
(SockId): 데이터를 수신한 소켓의 소켓 구분자
-
(ReceivedSize): 수신 데이터의 사이즈
-
(SrcIP): 송신자의 IP 주소. 이 인자는 UDP 소켓의 경우에는 필수 항목이지만, TCP 소켓의 경우에는 생략될 수 있다.
-
(SrcPort): 송신자 소켓의 포트 넘버. UDP 소켓의 경우에는 필수 항목이다.
-
(EventCode): 어떤 이벤트가 발생했는지에 대한 표시자.
Error Code
General Error Code
Code | Error Name | Description |
---|---|---|
0 | ERR_Undefined | 정의되지 않은 오류 |
1 | ERR_WrongOperator | 잘못된 명령어 |
2 | ERR_WrongCommandSign | 잘못된 명령 부호 |
3 | ERR_WrongArguments | 잘못된 인자들 |
4 | ERR_OurofRange | 지정범위를 벗어난 인자들 |
5 | ERR_FuncDisabled | 지정된 함수 사용불가 |
6 | ERR_NotAllowed | 허용되지 않음 |
7 | ERR_CommandBusy | 명령 수행중 |
8 | ERR_CommandTimeout | 명령 타임아웃 |
Socket Error Code
Code | Error Name | Description |
---|---|---|
10 | ERR_SockNotAvail | 소켓이 가용하지 않음 |
11 | ERR_SockClosed | 소켓이 닫힘 |
12 | ERR_SockPortNumNotAvail | 지정된 포트 넘버가 사용할 수 없음 |
13 | ERR_SockNotConnected | 연결되지 않음 |
14 | ERR_SockWrongAddr | 잘못된 주소 |
15 | ERR_SockDataNotAvailable | 사용가능한 데이터가 없음 |
Other Error Code
Code | Error Name | Description |
---|---|---|
20 | ERR_NoFreeMem | No Free Memory |
Event Code
Socket Event Code
Code | Socket Event Name | Description |
---|---|---|
0 | EVENT_SockConnected | 연결됨. 소켓 상태가 Listen 상태에서 연결상태로 변경됨 |
1 | EVENT_SockDisconnected | 연결해제됨. 소켓 상태가 연결상태에서 연결해제상태로 변경됨 |
2 | EVENT_SockClosed | 소켓 닫힘. 소켓 상태가 닫힘으로 바뀜 |
3 | EVENT_SockDataRcvd | 데이터를 수신함. 연결된 소켓이 상대방으로부터 데이터를 수신함 |
Network Commands
Command | Prop. | Input Parameter | Response |
---|---|---|---|
AT+NSET | None or ? | [S,,S,(IP),(SN),(GW),(DNS)] | |
::: | ::: | ::: | [S,,D] |
::: | = | S,(IP),(SN),(GW),(DNS) | [S] |
::: | ::: | D | [S] |
::: | - | num,Param | [S] |
AT+NSTAT | None or ? | [S,,S/D,(IP),(SN),(GW),(DNS)] | |
AT+NMAC | None or ? | [S,,(MAC)] | |
::: | = | (MAC) | [S] |
AT+NOPEN | = | S/C/U,(SrcPort),(DstIP),(DstPort) | [W,(SockId)] [S,(SockId)] |
::: | ::: | A | ::: |
AT+NCLOSE | = | (SockId) | [W,(SockId)] [S,(SockId)] |
AT+NSEND | = | (SockId),(size),(DstIP),(DstPort) | [W,(SockId)] [S,(SockId)] |
AT+NSOCK | None or ? | [D,,(Size)]↓(Data) | |
::: | = | (SockId) | [S,,S/C/U,(SrcPort),(DstIP),(DstPort)] |
AT+NMODE | = | S/C/U/M,(SrcPort),(DstIP),(DstPort) | [S] |
AT+NSET
- Format:
AT+NSET=<DHCP>,<IP>,<SN>,<GW>,<DNS>
- Meaning: 네트워크 정보를 확인하거나 설정한다
< DHCP>: Static/DHCP
Parameter | Meaning |
---|---|
S | DHCP Off, Static |
D | DHCP On, DHCP Client |
< IP>: IP 주소 (Optional)
< SN>: 서브넷 마스크 (Optional)
< GW>: 게이트웨이 주소 (Optional)
- Response:
[S]
-
Example 1:
AT+NSET\r\n
AT+NSET?\r\n
-
Meaning: 현재 설정된 네트워크 정보를 읽어온다
-
응답에 담겨진 주소(IP 주소, 서브넷, 게이트웨이 주소)는 실제 주소와 다르고 메모리에 저장된 주소입니다. 특히, DHCP 모드가 켜져 있을 때는 대개 실제 주소와 다릅니다.
-
Response:
[S,,S,192.168.11.100,255.255.255.0,192.168.11.1,8.8.8.8]
[S,,D]
-
-
Example 2:
AT+NSET-2,192.168.11.110\r\n
-
Meaning: 현재 설정된 네트워크 정보중 두번째 인자인 IP 주소만 지정된 값으로 변경한다
-
Response:
[S]
-
AT+NSTAT
- Format:
AT+NSTAT
AT+NSTAT?
-
Meaning: 현재 네트워크 상태값을 표시한다
-
Response:
[S,,<DHCP>,<IP>,<SN>,<GW>,<DNS>]
-
Example 1:
AT+NSTAT\r\n
AT+NSTAT?\r\n
-
Meaning: 현재 네트워크 상태값을 표시한다
-
Response:
[S,,S,192.168.11.100,255.255.255.0,192.168.11.1,8.8.8.8]
[S,,D]
-
AT+NMAC
- Format:
AT+NMAC
AT+NMAC?
-
Meaning: 모듈의 맥주소를 확인하거나 설정한다.
-
Response:
[S,,<MAC>]
- Response:
[S]
-
Example 1:
AT+NMAC=00:08:dc:1d:bb:8b\r\n
-
Meaning: 모듈의 맥주소를 지정된 값으로 변경한다
-
Response:
[S]
-
-
Example 2:
AT+NMAC\r\n
AT+NMAC?\r\n
-
Meaning: 현재 모듈의 맥주소를 표시한다
-
Response:
[S,,00:08:dc:1d:bb:8a]
-