WIZ752SR Command Manual
Supported Languages
WIZ752SR Command Overview
WIZ752SR은 제품의 설정 및 제어를 위해 다양한 커맨드 셋을 제공합니다. 각 커맨드는 2-byte의 알파벳 문자열로 구성되어 있으며, 대문자만 허용합니다. 이러한 커맨드를 활용하면 사용자의 시리얼 장치(혹은 메인 MCU)에 스크립트를 추가하여 상황에 따라 제품의 설정을 변경 할 수 있으며, 네트워크를 통해 WIZ752SR 모듈을 제어하는 전용 프로그램1을 제작 할 수도 있습니다.
각각의 커맨드는 parameter의 유무에 따라 읽기/쓰기 동작을 수행하도록 제작되어 있으며, 읽기 전용 커맨드2도 존재합니다.
시리얼 포트를 통한 제품의 커맨드 모드 전환과 커맨드 입력은 Data UART port를 통해 수행되며, Debug UART port는 커맨드의 입력과 수행을 지원하지 않습니다.
커맨드를 활용하여 시리얼과 이더넷 네트워크으로 제품을 설정 할 때, 동일한 2-byte 문자열 커맨드를 활용하지만 전송 프레임 형태에는 약간의 차이가 있습니다. 때문에 본 문서에는 커맨드 전체에 대한 설명과 함께 각각의 전송 방법에 대한 프레임 형태 및 가이드가 포함되어 있습니다.
각 방향의 커맨드 모드에 대한 진입 방법과 활용은 다음과 같습니다.
Abbreviations
CR | Carriage Return, 커서를 맨 왼쪽 시작 위치로 이동 ('\r', 0x0D) |
---|---|
LF | Line Feed, 커서를 한 칸 아래로 이동하여 새 줄 추가 ('\n', 0x0A) |
N | 커맨드의 개수 |
RW | 읽기와 쓰기 가능(Read / Write) |
RO | 읽기 전용(Read only) |
WO | 쓰기 전용(Write only) |
Usage of Command Set
Entering Serial Command Mode
다음 두 가지 방법을 통해 시리얼 커맨드 모드로 진입 할 수 있습니다.
-
1. 하드웨어 트리거 핀을 이용한 커맨드 모드 진입
-
WIZ752SR의 HW_TRIG 핀(EVB의 경우, HW_TRIG 스위치)을 이용하여 커맨드 모드로 진입 할 수 있습니다.
-
제품의 전원 인가 시, 해당 핀을 체크하여 커맨드 모드로 진입하며 이후 하드웨어 트리거 핀을 이용하여 다시 커맨드 모드로 진입하고자 하는 경우 제품을 Reboot 하여야 합니다.
-
해당 핀은 Pull-up 상태이며, Low Active로 동작합니다.
-
제품 동작 시, 초기에 한 번의 설정 변경 등이 필요한 경우 활용 할 수 있습니다.
- 하드웨어 트리거 핀(HW_TRIG)을 Low로 인가합니다.
-
EVB의 경우, HW_TRIG 스위치를 Command로 위치 시킵니다.
-
WIZ752SR을 Power on 시킵니다.
-
시리얼 커맨드 모드로 동작하는 경우, Debug UART port를 통해 다음 메시지를 확인 할 수 있습니다.
-
SEG:AT Mode
- 성공적으로 데이터 모드로 전환 된 경우, Debug UART port를 통해 다음 메시지를 확인 할 수 있습니다.
-
SEG:GW Mode
-
-
2. 커맨드 모드 전환 코드4를 이용한 커맨드 모드 진입
-
WIZ752SR 제품에서 지원하는 커맨드 모드 전환 코드를 이용하여 커맨드 모드로 진입 할 수 있습니다.
-
커맨드 모드 전환 코드는 제품 설정 프로그램에서 커맨드 모드 전환 코드 사용 여부가 허용(Enabled) 되어 있어야 활용 가능합니다. (default: Enabled)
-
커맨드 모드 전환 코드는 3-byte Hex 코드로 구성되어 있으며, 사용자의 목적에 맞게 다른 값으로 변경 가능합니다. 단 해당 코드는 Hex 값 만을 허용합니다. (default: Hex [2B][2B][2B]5)
-
제품 설정 프로그램(Configuration Tool)의 'Serial command mode switch code' 항목 Enable 여부와 3-bytes '커맨드 모드 전환 코드'를 확인합니다.
-
Data UART port로 커맨드 모드 전환 코드를 입력하여 모드를 변경합니다.
-
아래 **'커맨드 모드 전환 시 주의점'**을 확인하여야 합니다.
-
시리얼 커맨드 모드로 정상 변경된 경우, Debug UART port를 통해 다음 메시지를 확인 할 수 있습니다.
-
SEG:AT Mode
-
설정이 필요한 항목의 Command와 Parameter를 시리얼로 입력합니다.
-
EX 커맨드를 이용하여 데이터 전송 모드로 전환합니다.
- 성공적으로 데이터 모드로 전환 된 경우, Debug UART port를 통해 다음 메시지를 확인 할 수 있습니다.
-
SEG:GW Mode
-
Trigger code를 이용한 커맨드 모드 전환 시 주의점은 다음과 같습니다.
- 3-byte 커맨드 모드 전환 코드의 전, 후로 500ms 이상의 데이터 전송 없는시간 간격(Time gap)이 있어야 전환 코드로 인식합 니다.
- 3-byte 커맨드 모드 전환 코드의 각 byte 간 사이의 입력 시간 간격이 500ms이하여야 합니다.
- 커맨드 모드 전환 코드의 말미에는 CR과 LF를 붙이지 않습니다6.
- 커맨드 모드 전환 코드 전, 후 간격과 사이 간격의 초기 값은 500ms이며,시리얼 데이터 패킹 옵션의 Timer 값이 설정된 경우 간격 값은 설정된 Timer값으로 변경됩니다.
Serial Command Frame Format
각 커맨드의 끝에는 CR과 LF가 포함되어야 하며, 여러 개의 커맨드를 한 번에 입력 할 경우 각각 커맨드의 끝에 CR과 LF가 모두 포함되어야 합니다.
Get Request
[2-bytes Command Code] [CR] [LF]
- Parameter 없이 커맨드만 입력합니다.
- 입력한 커맨드에 해당하는 Response가 Return 됩니다.
Set Request
[2-bytes Command Code] [Parameters] [CR] [LF]
- 커맨드와 설정하고자 하는 parameters를 함께 입력합니다.
- 별도의 Response는 없으며, 커맨드에 해당하는 필드 값의 변경이 즉시 이루어집니다.
- 변경된 사항의 저장을 위해 서 SV 커맨드를 이용한 저장이 이루어져야 하며, IP 할당 방법 변경 등의 초기 동작 변경 사항은 RT 커맨드를 이용한 Reboot 이후에 적용됩니다.
* 참고: EC 커맨드를 이용하여 UART 입력의 Echoback을 확인 할 수 있습니다.
Command over Ethernet
다음과 같은 형태로 커맨드를 활용하면, Ethernet을 통해 제품을 제어하거나 모니터링 할 수 있습니다. 이 때 사용자는 UDP 혹은 TCP 클라이언트7를 활용하여 지정된 형태로 커맨드를 전송하여야 하며, 커맨드 처리를 위한 포트 번호는 50001번 입니다.
커맨드 전송을 위한 제품 네트워크 정보:
UDP / TCP Server : 50001
(사용자는 UDP / TCP Client로 제품에 커맨드 전송)
Ethernet Command Frame Format
Ethernet을 통해 제품을 제어 할 때는 커맨드 코드 전송 이전에 두 개의 커맨드가 추가로 필요합니다. 커맨드 전송 시, 필수 커맨드 두 개를 포함하여 하나의 프레임으로 전송되어야 합니다. 그 외 나머지 설정과 동작은 Data UART port를 이용한 시리얼 커맨드 전송 방법과 동일합니다.
추가로 필요한 커맨드는 MA, PW이며 다음과 같은 목적으로 사용됩니다.
- [MA] 커맨드
- [PW] 커맨드
- 제품의 설정 중 제품 그룹 식별을 위한 **'Search ID Code'**를 사용 할 경우, PW 커맨드 이후에 해당 제품의 설정 값을 포함시켜 전송하여야 합니다.
- 만약 **'Search ID Code'**를 사용하지 않는 경우, PW 커맨드와 CR/LF 사이의 필드(Search ID)를 비워서는 안되며, 0x2010 값이 입력되어야 합니다.
Ethernet을 통한 커맨드 전송 시의 커맨드 프레임은 반드시 MA -> PW -> (Command x N)의 순서로 구성되어야 합니다.
Get Request
단일 커맨드 전송 시
MA [MAC] [CR] [LF] PW [Search ID] [CR] [LF] [Command] [CR] [LF]
N개의 복수 커맨드 전송 시
MA [MAC] [CR] [LF] PW [Search ID] [CR] [LF] ([Command] [CR] [LF]) * N
- Get Request에 대한 Response는 Request와 동일한 포맷의 프레임에 Parameter를 포함한 형태로 응답합니다.11
Set Request
단일 커맨드 전송 시
MA [MAC] [CR] [LF] PW [Search ID] [CR] [LF] [Command] [Parameters] [CR] [LF]
N개의 복수 커맨드 전송 시
MA [MAC] [CR] [LF] PW [Search ID] [CR] [LF] ([Command] [Parameters] [CR] [LF]) * N
- Set Request의 경우, 별도의 응답 없이 제품의 설 정을 즉시 변경하도록 구성되어 있습니다.
- 만약 변경된 값을 확인하고 싶을 경우, Set Request 프레임 말미에 해당 커맨드를 parameter 없이 추가하여 Set + Get Request 형태로 전송하시면 됩니다.
Ethernet Command Examples
Example #1: UDP Get Command Frame
- UDP를 통해 다수 제품의 MAC과 Local IP 주소 요청 시
- Search ID는 사용하지 않음
Request from User |
---|
커맨드 프레임
MA [FF FF FF FF FF FF] [CR] [LF] PW [ ] [CR] [LF] MC [CR] [LF] LI [CR] [LF]
커맨드 프레임의 Hex 코드 표현
4D 41 FF FF FF FF FF FF 0D 0A 50 57 20 0D 0A 4D 43 0D 0A 4C 49 0D 0A
Response by WIZ752SR |
---|
커맨드 프레임
MA [00 08 DC 00 00 11] [CR] [LF] PW [ ] [CR] [LF] MC [00 08 DC 00 00 11] [CR] [LF] LI [192.168.11.2] [CR] [LF]
커맨드 프레임의 Hex 코드 표현
4D 41 00 08 DC 00 00 11 0D 0A 50 57 20 0D 0A 4D 43 00 08 DC 00 00 11 0D 0A 4C 49 31 39 32 2E 31 36 38 2E 31 31 2E 32 0D 0A
Example #2: TCP Get Command Frame
- TCP를 통해 MAC 주소가 00:08:DC:00:00:11인 제품의 Local IP 주소
요청 시
- Search ID는 사용하지 않음
Request from User |
---|
커맨드 프레임
MA [00 08 DC 00 00 11] [CR] [LF] PW [ ] [CR] [LF] LI [CR] [LF]
커맨드 프레임의 Hex 코드 표현
4D 41 00 08 DC 00 00 11 0D 0A 50 57 20 0D 0A 4C 49 0D 0A
Response by WIZ752SR |
---|
커맨드 프레임
MA [00 08 DC 00 00 11] [CR] [LF] PW [ ] [CR] [LF] LI [192.168.11.2] [CR] [LF]
커맨드 프레임의 Hex 코드 표현
4D 41 00 08 DC 00 00 11 0D 0A 50 57 20 0D 0A 4C 49 31 39 32 2E 31 36 38 2E 31 31 2E 32 0D 0A
Example #3: TCP Set Command Frame
- TCP를 통해 MAC 주소가 00:08:DC:00:00:11인 제품의 Local IP 주소
변경 요청 시
- Search ID가 HELLO로 설정된 경우
- Local IP 주소를 192.168.11.5로 변경하고자 할 경우
Request from User |
---|
커맨드 프레임
MA [00 08 DC 00 00 11] [CR] [LF] PW [HELLO] [CR] [LF] LI [192.168.11.5] [CR] [LF]
커맨드 프레임의 Hex 코드 표현
4D 41 00 08 DC 00 00 11 0D 0A 50 57 48 45 4C 4C 4F 0D 0A 4C 49 31 39 32 2E 31 36 38 2E 31 31 2E 35 0D 0A
Response by WIZ752SR |
---|
None
IP 주소 형식12 설정의 변경 시, '192.168.11.5'와 같이 '.'(dot, 0x2E)도 함께 함하여 전송하여야 합니다.
Command list
- 커맨드 입력 시 Parameter가 포함되면 해당 값을 설정하는 Set 커맨드로 동작합니다.
- 커맨드만 입력 시 해당 값을 읽어오는 Get 커맨드로 동작합니다.
- 별도로 Read only 표기가 없다면 Get / Set을 모두 지원하는 커맨드 입니다.
- Write only 커맨드는 Parameter 없이 제품의 동작을 제어하는 커맨드13 입니다.
- 기본 커맨드 리스트14와 확장 커맨드 리스트15로 분리 구성 되어 있습니다.
- 커맨드 모드를 통해 변경한 사항 중 IP 할당 방법 설정, DNS 동작 관련 설정16 등의 항목은 SV 커맨드를 이용한 '설정 저장' 이후 RT 커맨드를 이용한 '모듈 재시작'을 수행해야 정상적으로 적용됩니다.
Basic Commands
CMD | Category | Description | Type |
---|---|---|---|
MC | Device Information | MAC address | RO |
VR | ::: | Firmware version | RO |
MN | ::: | Product name | RO |
ST | ::: | 0번 채널용 Operation status | RO |
QS | ::: | 1번 채널용 Operation status | RO |
UN | ::: | UART interface(Str) | RO |
UI | ::: | UART interface(Code) | RO |
OP | Network Settings | 0번 채널용 Network operation mode | RW |
QO | ::: | 1번 채널용 Network operation mode | RW |
IM | ::: | IP address allocation method(Static/DHCP) | RW |
LI | ::: | Local IP 주소 | RW |
SM | ::: | 서브넷 마스크 | RW |
GW | ::: | 게이트웨이 주소 | RW |
DS | ::: | DNS 서버 주소 | RW |
LP | ::: | 0번 채널용 Local 포트 번호 | RW |
QL | ::: | 1번 채널용 Local 포트 번호 | RW |
RH | ::: | 0번 채널용 원격지(remote) IP 주소 / 도메인 | RW |
QH | ::: | 1번 채널용 원격지(remote) IP 주소 / 도메인 | RW |
RP | ::: | 0번 채널용 원격지(remote) 포트 번호 | RW |
QP | ::: | 1번 채널용 원격지(remote) 포트 번호 | RW |
BR | Data UART Settings | UART 0 Baud rate | RW |
EB | ::: | UART 1 Baud rate | RW |
DB | ::: | UART 0 Data bit | RW |
ED | ::: | UART 1 Data bit | RW |
PR | ::: | UART 0 Parity bit | RW |
EP | ::: | UART 1 Parity bit | RW |
SB | ::: | UART 0 Stop bit | RW |
ES | ::: | UART 1 Stop bit | RW |
FL | ::: | UART 0 Flow control | RW |
EF | ::: | UART 1 Flow control | RW |
PT | Serial Data Packing Options | 0번 채널용 Time 설정 값 | RW |
NT | ::: | 1번 채널용 Time 설정 값 | RW |
PS | ::: | 0번 채널용 Size 설정 값 | RW |
NS | ::: | 1번 채널용 Size 설정 값 | RW |
PD | ::: | 0번 채널용 Char 설정 값 | RW |
ND | ::: | 1번 채널용 Char 설정 값 | RW |
IT | Options | 0번 채널용 비활성 타이머 설정 값 | RW |
RV | ::: | 1번 채널용 비활성 타이머 설정 값1 | RW |
CP | ::: | 연결 비밀번호 사용 설정(TCP server only) | RW |
NP | ::: | 연결 비밀번호(TCP server only) | RW |
SP | ::: | 검색 ID 코드 | RW |
DG | ::: | 디버그 메시지 허용 설정 | RW |
KA | ::: | 0번 채널용 TCP Keep-alive 허용 설정 | RW |
RA | ::: | 1번 채널용 TCP Keep-alive 허용 설정 | RW |
KI | ::: | 0번 채널용 TCP Keep-alive 초기 간격 | RW |
RS | ::: | 1번 채널용 TCP Keep-alive 초기 간격 | RW |
KE | ::: | 0번 채널용 TCP Keep-alive 재시도 간격 | RW |
RE | ::: | 1번 채널용 TCP Keep-alive 재시도 간격 | RW |
RI | ::: | 0번 채널용 TCP 클라이언트 재연결 간격(TCP client only) | RW |
RR | ::: | 1번 채널용 TCP 클라이언트 재연결 간격(TCP client only) | RW |
EC | ::: | UART 입력 Echoback | RW |
TE | Command Mode Switch Settings | 커맨드 모드 전환 코드 허용 설정 | RW |
SS | ::: | 커맨드 모드 전환 코드(3-bytes Hex) | RW |
EX | Device Control | 커맨드 모드 종료 (Data 모드로 전환) | WO |
SV | ::: | 디바이스 설정 저장 | WO |
RT | ::: | 디바이스 Reboot | WO |
FR | ::: | 디바이스 공장 초기화 | WO |
Extended Commands
CMD | Category | Description | Type |
---|---|---|---|
CA | User I/O Settings | User I/O pin A type & direction | RW |
CB | ::: | User I/O pin B type & direction | ::: |
CC | ::: | User I/O pin C type & direction | ::: |
CD | ::: | User I/O pin D type & direction | ::: |
GA | User I/O Status / Value | User I/O pin A status or value | Digital out: RW Digital in: RO Analog in: RO |
GB | ::: | User I/O pin B status or value | ::: |
GC | ::: | User I/O pin C status or value | ::: |
GD | ::: | User I/O pin D status or value | ::: |
SC | Status I/O | Status pin S0 & S1 operation mode setting | RW |
S0 | ::: | Status of pin S0 (PHY link or DTR) | RO |
S1 | ::: | Status of pin S1 (TCP connect or DSR) | ::: |
Command Descriptions
Device Information
MC
-
Format:
MC[CR][LF]
-
Meaning: 제품의 MAC 주소 확인
-
Command Type: Read only
-
Return Type: String
-
Return Value:
MAC address with colons(:)
-
Response
- Without Parameter (Get)
- In ASCII:
MC00:08:DC:00:00:01\r\n
- In ASCII:
- Without Parameter (Get)
VR
-
Format:
VR[CR][LF]
-
Meaning: 제품에 탑재된 펌웨어의 버전 정보 확인
-
Command Type: Read only
-
Return Type: String
-
Return Value:
Firmware version with dots(.)
-
=> Major version number . Minor version number . Maintenance version number
-
Response
- Without Parameter (Get)
- In ASCII:
VR1.0.0\r\n
- In ASCII:
- Without Parameter (Get)
MN
-
Format:
MN[CR][LF]
-
Meaning: 제품의 모델명 확인
-
Command Type: Read only
-
Return Type: String
-
Return Value:
Device model name
-
=> Default: WIZ750SR
-
Response
- Without Parameter (Get)
- In ASCII:
MNWIZ750SR\r\n
- In ASCII:
- Without Parameter (Get)
ST
- ST : 0번 채널용 명령어
- QS : 1번 채널용 명령어
- Format:
ST[CR][LF]
- Meaning: 제품의 동작 상태(Status) 확인
- Command Type: Read only
- Return Type: String
- Return Value:
Status | Description |
---|---|
BOOT | Boot 모드 입니다. 제품의 설정과 펌웨어 업데이트가 가능합니다. |
OPEN | TCP 연결 성립 이전의 상태입니다. |
CONNECT | TCP 연결이 성립된 상태입니다. |
UPGRADE |