최초 배포 일자 : 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하고 실행 합니다.
WizFi360과 PC를 USB Cable을 통해 연결하고 Port를 확인하여 Terminal Port를 설정하고 엽니다.
Predefined Commands에서 System Control Commands를 선택하고, AT\r\n를 실행합니다. OK를 수신하면 정상 입니다.
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를 참조하십시오.