WizFi360 AT Command 소개

Taylor
WIZnet
Published in
15 min readApr 28, 2020

최초 배포 일자 : 2020/04/28
최종 수정 일자 : 2020/07/08

WizFi360은 UART1로 AT Command를 사용할 수 있는 F/W로 생산, 출고 됩니다. 사용자는 기존 System에서 UART만 WizFi360과 연결하여 Wi-Fi를 사용할 수 있습니다. WizFi360 AT Command 중 기본 명령은 ESP8266과 호환됩니다. 또한 MQTT 와 Azure IoT Hub를 사용할 수 있습니다.

자세한 내용은 AT Instruction set(영문, 국문)을 참조하십시오.

PC에서 AT Command를 사용하여 WizFi360의 기능을 시험해 볼 수 있습니다. 일반적인 Serial Port Terminal이면 가능하며, 여기서는 OpenSource인 Maettu의 YAT(Yet Another Terminal)를 사용합니다. YAT는 Predefined Commands를 지원하여 미리 저장된 AT Command를 입력하지 않고 전송할 수 있습니다.

YAT를 설치하고, WizFi360 Github Repository에서 WizFi360-Open.yat를 Download하고 실행 합니다.

https://github.com/wizfi/Release/tree/master/Tools/YAT
Saved WizFi360-Open.yat
YAT Port COM7 115200bps 8bit 1stop

WizFi360과 PC를 USB Cable을 통해 연결하고 Port를 확인하여 Terminal Port를 설정하고 엽니다.

Predefined Commands에서 System Control Commands를 선택하고, AT\r\n를 실행합니다. OK를 수신하면 정상 입니다.

Send AT

Wi-Fi AP Mode

Predefined Commands에서 Wi-Fi AP를 선택하고 아래와 같이 순서대로 실행합니다.

AT+CWMODE_CUR=2
: Wi-Fi AP Mode로 설정합니다.

AT+CWDHCP_CUR=0,1
: DHCP를 사용하도록 설정합니다.

AT+CWSAP_CUR=″WizFi360″,”0123456789",1,0
: Wi-Fi AP를 시작합니다.

AT+CIPAP_CUR?
AT+CIFSR
: Wi-Fi AP 정보를 확인할 수 있습니다.

AT+CWLIF
: Wi-Fi AP에 접속한 Station의 정보를 확인할 수 있습니다. 최대 4개(기본값)의 Station이 접속될 수 있습니다.

Wi-Fi Station

Predefined Commands에서 Wi-Fi Station을 선택하고 아래와 같이 순서대로 실행합니다.

AT+CWMODE_CUR=1
: Wi-Fi Station Mode로 설정합니다.

AT+CWDHCP_CUR=1,1
: DHCP로 할당받을 수 있도록 설정합니다.

AT+CWJAP_CUR=”Taylor-ipTimeN604plus-i”,”01234567"
: Wi-Fi Station으로 AP에 접속을 시도합니다.

AT+CIPSTA_CUR?
AT+CIFSR
: Wi-Fi Station 정보를 확인할 수 있습니다.

AT+CWQAP
: Wi-Fi Station으로 접속한 AP와의 연결을 끊습니다.

TCP Server

Wi-Fi Station으로 AP에 연결된 상태에서 Predefined Commands에서 TCP Server를 선택하고 아래와 같이 순서대로 실행합니다.

AT+CIPMUX=1
: Multiple Connection Mode로 설정합니다.

AT+CIPSERVER=1,8888
: TCP Server를 Port 8888로 엽니다.

AT+CIPSTATUS
: TCP Server에 접속한 Client 정보를 확인할 수 있습니다.

AT+CIPCLOSE=0
: Client ID 0로 접속한 TCP Client와 연결을 끊습니다.

AT+CIPCLOSE=1
: Client ID 1로 접속한 TCP Client와 연결을 끊습니다.

AT+CIPSERVER=0
: TCP Server를 닫습니다.

TCP Server Send

Predefined Commands에서 TCP Server Send를 선택하고 아래와 같이 순서대로 실행합니다.

AT+CIPSTATUS
: TCP Server에 접속한 Client 정보를 확인할 수 있습니다. Send할 Client ID를 확인합니다.

AT+CIPSEND=0,10
: Client ID 0로 전송할 10 Byte 값을 입력받습니다. 10 Byte를 입력 받으면 전송 합니다.

AT+CIPSENDBUF=0,10
: Client ID 0로 전송할 10 Byte 값을 Buffer에 입력받습니다. 10 Byte를 입력 받으면 전송 합니다. 전송 완료전에도 연속해서 Buffer 크기에 여유가 있는 동안 입력받을 수 있습니다.

AT+CIPSENDEX=0,10
: Client ID 0로 전송할 10 Byte 값을 입력받습니다. 10 Byte 값을 다 채우지 않아도 \0가 입력되면 전송 합니다.

AT+CIPSEND=1,10
: Client ID 1로 전송할 10 Byte 값을 입력받습니다. 10 Byte를 입력 받으면 전송 합니다.

AT+CIPSENDBUF=1,10
: Client ID 1로 전송할 10 Byte 값을 Buffer에 입력받습니다. 10 Byte를 입력 받으면 전송 합니다. 전송 완료전에도 연속해서 Buffer 크기에 여유가 있는 동안 입력받을 수 있습니다.

AT+CIPSENDEX=1,10
: Client ID 1로 전송할 10 Byte 값을 입력받습니다. 10 Byte 값을 다 채우지 않아도 \0가 입력되면 전송 합니다.

수신할 경우 +IPD,Client ID,Length:Data0 to Length 로 출력됩니다.

TCP Client

Wi-Fi Station으로 AP에 연결된 상태에서 Predefined Commands에서 TCP Client를 선택하고 아래와 같이 순서대로 실행합니다.

AT+CIPMUX=0
: Single Connection Mode로 설정합니다. Client ID 없이 Send할 수 있고, UART-WiFi Passthrough Mode를 사용할 수 있습니다.

AT+CIPSTART=”TCP”,”192.168.0.8",5000
: IP 192.168.0.8 Port 5000 TCP Server에 접속 합니다.

AT+CIPSTATUS
: TCP Server에 접속한 Client 정보를 확인할 수 있습니다.

AT+CIPCLOSE
: 접속한 TCP Server와 연결을 끊습니다.

AT+CIPMUX=1
: Multiple Connection Mode로 설정합니다. Client ID로 Send할 수 있고, UART-WiFi Passthrough Mode를 사용할 수 없습니다.

AT+CIPSTART=0,”TCP”,”192.168.0.8",5000
: Client ID 0로 IP 192.168.0.8 Port 5000, TCP Server에 접속 합니다.

AT+CIPSTART=1,”TCP”,”192.168.0.2",5000
: Client ID 1로 IP 192.168.0.2 Port 5000, TCP Server에 접속 합니다.

AT+CIPSTATUS
: TCP Server에 접속한 Client 정보를 확인할 수 있습니다.

AT+CIPCLOSE=0
: Client ID 0로 접속한 TCP Server와 연결을 끊습니다.

AT+CIPCLOSE=1
: Client ID 1로 접속한 TCP Server와 연결을 끊습니다.

TCP Client Send(Single Connection)

Predefined Commands에서 TCP Client Send를 선택하고 아래와 같이 순서대로 실행합니다.

AT+CIPMODE=0
: Normal Transmission Mode로 설정합니다.

AT+CIPSEND=10
: 전송할 10 Byte 값을 입력받습니다. 10 Byte를 입력 받으면 전송 합니다.

AT+CIPSENDBUF=10
: 전송할 10 Byte 값을 Buffer에 입력받습니다. 10 Byte를 입력 받으면 전송 합니다. 전송 완료전에도 연속해서 Buffer 크기에 여유가 있는 동안 입력받을 수 있습니다.

AT+CIPSENDEX=10
: 전송할 10 Byte 값을 입력받습니다. 10 Byte 값을 다 채우지 않아도 \0가 입력되면 전송 합니다.

AT+CIPMODE=1
: UART-WiFi Passthrough Mode로 설정합니다.

AT+CIPSEND
: 전송할 Data를 입력 받습니다. 이후 입력 되는 Data는 TCP Server로 즉시 전송됩니다.

+++
: 전송할 Data를 더이상 입력 받지 않습니다. 이후 입력 되는 Data는 AT Command로 처리 합니다.

TCP Client Multi Send

Predefined Commands에서 TCP Client Multi Send를 선택하고 아래와 같이 순서대로 실행합니다.

AT+CIPSTATUS
: 접속한 TCP Server 정보를 확인할 수 있습니다. Send할 Client ID를 확인합니다.

AT+CIPSEND=0,10
: Client ID 0로 전송할 10 Byte 값을 입력받습니다. 10 Byte를 입력 받으면 전송 합니다.

AT+CIPSENDBUF=0,10
: Client ID 0로 전송할 10 Byte 값을 Buffer에 입력받습니다. 10 Byte를 입력 받으면 전송 합니다. 전송 완료전에도 연속해서 Buffer 크기에 여유가 있는 동안 입력받을 수 있습니다.

AT+CIPSENDEX=0,10
: Client ID 0로 전송할 10 Byte 값을 입력받습니다. 10 Byte 값을 다 채우지 않아도 \0가 입력되면 전송 합니다.

AT+CIPSEND=1,10
: Client ID 1로 전송할 10 Byte 값을 입력받습니다. 10 Byte를 입력 받으면 전송 합니다.

AT+CIPSENDBUF=1,10
: Client ID 1로 전송할 10 Byte 값을 Buffer에 입력받습니다. 10 Byte를 입력 받으면 전송 합니다. 전송 완료전에도 연속해서 Buffer 크기에 여유가 있는 동안 입력받을 수 있습니다.

AT+CIPSENDEX=1,10
: Client ID 1로 전송할 10 Byte 값을 입력받습니다. 10 Byte 값을 다 채우지 않아도 \0가 입력되면 전송 합니다.

UDP

Wi-Fi Station으로 AP에 연결된 상태에서 Predefined Commands에서 UDP를 선택하고 아래와 같이 순서대로 실행합니다.

AT+CIPMUX=0
: Single Connection Mode로 설정합니다. Client ID 없이 Send할 수 있고, UART-WiFi Passthrough Mode를 사용할 수 있습니다.

AT+CIPSTART=”UDP”,”192.168.0.8",5000,8888
: IP 192.168.0.8 Port 5000 Local Port 8888로 UDP를 실행합니다.

AT+CIPSTATUS
: 실행한 UDP 정보를 확인합니다.

AT+CIPCLOSE
: 실행한 UDP를 종료합니다.

AT+CIPMUX=1
: Multiple Connection Mode로 설정합니다. Client ID로 Send할 수 있고, UART-WiFi Passthrough Mode를 사용할 수 없습니다.

AT+CIPSTART=0,”UDP”,"192.168.0.8"8",5000,8888
: Client ID 0로 IP 192.168.0.8 Port 5000 Local Port 8888로 UDP를 실행합니다.

AT+CIPSTART=1,"UDP","192.168.0.2",5000,8889
: Client ID 1로 IP 192.168.0.8 Port 5000 Local Port 8889로 UDP를 실행합니다.

AT+CIPSTATUS
: 실행한 UDP 정보를 확인합니다.

AT+CIPCLOSE=0
: Client ID 0로 실행한 UDP를 종료합니다.

AT+CIPCLOSE=1
: Client ID 1로 실행한 UDP를 종료합니다.

UDP Send

Predefined Commands에서 UDP Send를 선택하고 아래와 같이 순서대로 실행합니다.

AT+CIPSTATUS
: 실행한 UDP 정보를 확인합니다.

AT+CIPMODE=0
: Normal Transmission Mode로 설정합니다.

AT+CIPSEND=10
: 전송할 10 Byte 값을 입력받습니다. 10 Byte를 입력 받으면 전송 합니다.

AT+CIPSENDEX=10
: 전송할 10 Byte 값을 입력받습니다. 10 Byte 값을 다 채우지 않아도 \0가 입력되면 전송 합니다.

AT+CIPSEND=10,"192.168.0.8",5000
: IP 192.168.0.8 Port 5000 으로 전송할 10 Byte 값을 입력받습니다. 10 Byte를 입력 받으면 전송 합니다.

AT+CIPSENDEX=10,"192.168.0.8",5000
: IP 192.168.0.8 Port 5000 으로 전송할 10 Byte 값을 입력받습니다. 10 Byte 값을 다 채우지 않아도 \0가 입력되면 전송 합니다.

AT+CIPMODE=1
: UART-WiFi Passthrough Mode로 설정합니다.

AT+CIPSEND
: 192.168.0.8로 전송할 Data를 입력 받습니다. 이후 입력 되는 Data는 TCP Server로 즉시 전송됩니다.

+++
: 전송할 Data를 더이상 입력 받지 않습니다. 이후 입력 되는 Data는 AT Command로 처리 합니다.

UDP Multi Send

Predefined Commands에서 UDP Multi Send를 선택하고 아래와 같이 순서대로 실행합니다.

AT+CIPSTATUS
: 실행한 UDP 정보를 확인합니다.

AT+CIPSEND=0,10,"192.168.0.8",5000
: Client ID 0로 IP 192.168.0.8 Port 5000 으로 전송할 10 Byte 값을 입력받습니다. 10 Byte를 입력 받으면 전송 합니다.

AT+CIPSENDEX=0,10,"192.168.0.8",5000
: Client ID 0로 IP 192.168.0.8 Port 5000 으로 전송할 10 Byte 값을 입력받습니다. 10 Byte 값을 다 채우지 않아도 \0가 입력되면 전송 합니다.

AT+CIPSEND=1,10,"192.168.0.2",5000
: Client ID 1로 IP 192.168.0.2 Port 5000 으로 전송할 10 Byte 값을 입력받습니다. 10 Byte를 입력 받으면 전송 합니다.

AT+CIPSENDEX=1,10,"192.168.0.2",5000
: Client ID 1로 IP 192.168.0.2 Port 5000 으로 전송할 10 Byte 값을 입력받습니다. 10 Byte 값을 다 채우지 않아도 \0가 입력되면 전송 합니다.

DNS

Wi-Fi Station으로 AP에 연결된 상태에서 Predefined Commands에서 DNS를 선택하고 아래와 같이 순서대로 실행합니다.

AT+CIPDNS_CUR?
: 설정된 DNS Server 정보를 확인합니다.

AT+CIPDOMAIN=“google.com”
: google.com의 주소를 얻습니다.

AT+CIPDOMAIN=“www.google.com”
: www.google.com의 주소를 얻습니다.

이상으로 기본적인 Wi-Fi AP, Wi-Fi Station, TCP, UDP, DNS에 대하여 살펴 보았습니다. 이외 Wi-Fi AP-Station, SSL, MQTT, AZURE 기능은 추후 소개 됩니다.

자세한 WizFi360 Application Example은 WIZwiki를 참조하십시오.

--

--