IoT Wireless

WizFi250 <Air Command mode> 개요 본문

WiFi module

WizFi250 <Air Command mode> 개요

DH0815 2014. 11. 24. 18:49

1. WizFi250의 <Air Command mode> 란 


<WizFi250 Air Command>는 일반적으로 Serial(UART)을 통해서 사용할 수 있었던 AT Command를 WiFi를 통해서 사용할 수 있게 해준다. 그래서, <WizFi250 Air Command>를 이용하면, Serial이라는 물리적인 인터페이스 없이도, PC나 스마트폰으로 대부분의 WizFi250 AT Command 기능을 구현할 수 있다.


예를 들어서, 

- WiFi Provisioning(접속하려는 AP의 SSID, Passphrase, IP 등을 설정)

- Serial-To-WiFi 기능의 소켓 제어(AT+SCON를 이용)

- WizFi250의 GPIO 제어(스마트폰으로 WizFi250에 연결된 LED를 제어)

- 현재 WizFi250이 접속된 WiFi 상태 정보 보기(AT+WSTAT)

- WizFi250 원격 리셋 

등등의 기능을 (WiFi를 통해서) 스마트폰이나 PC를 이용하여 가능하게 해준다.


주의할 점은 WizFi250 <Air Command mode>는 F/W <1.0.1.8> 버전 이상에서만 동작한다.


2. WizFi250의 <Air Command mode>를 구동시키는 방법


WizFi250의 <Air Command mode>를 구동시키는 방법은 (a) AT Command를 이용해서 구동하는 방법과 (b) GPIO를 이용해서 구동하는 방법 두 가지가 있다.


(a) AT Command를 이용해서 구동하는 방법

먼저 AT Command를 이용해서 <Air Command mode>를 구동하는 명령어는 아래와 같다.

AT+MAIRCMD=<OpenType>,<SocketType>,<LocalPort>,<Reserved>

   <OpenType> : O(open at Once), S(register as a Service)

   <SocketType> : T(TCP Server), U(UDP Server

   <LocalPort> : 

   <Reserved> : Reserved


위의 설명대로, 명령어를 입력해보자. 

AT+MAIRCMD=O,T,50001,0
[ERROR: WiFi Status]
 

여기서 오류가 발생한 것은 WizFi250의 WiFi Network가 구성이 되어 있지 않았지 때문이다. 

즉, WizFi250이 AP에 접속되어 있거나 AP mode로 동작하고 있지 않은 상태에서 소켓 Open을 할 수 없어서 발생한 오류이다.


자, 그럼 WizFi250을 AP mode로 설정하고 Air Command 동작 명령을 다시 내려 보겠다.

AT+WSET=1,WizFi250_AIRCMD
[OK]
AT+WSEC=1,WPA2,123456789
[OK]
AT+WNET=0,192.168.11.1,255.255.255.0,192.168.11.1
[OK]
AT+WJOIN

[Link-Up Event]
  IP Addr    : 192.168.11.1
  Gateway    : 192.168.11.1
[OK]

AT+MAIRCMD=O,T,50001,0
[OK]
이제, WizFi250은 Soft AP로 동작하면서, TCP 50001번으로 Air Command 준비를 하고 있는 상태가 되었다.

(b) GPIO를 이용해서 구동하는 방법

굳이 AT Command를 이용하지 않더라도 <Air Command mode>로 동작시키는 방법도 있다.

WizFi250-EVB에 있는 Function Button(Pin42)을 한 번 클릭해서, WizFi250을 AP mode로 동작시키면, 자동적으로 <Air Command mode>로 동작하게 된다.

    
Set AP Mode & Web Server Launch
[OK]

[Link-Down Event]
WizFi250 Version 1.0.1.8 (WIZnet Co.Ltd)

[Link-Up Event]
  IP Addr    : 192.168.12.1
  Gateway    : 192.168.12.1

3. <Air Command mode> 사용 방법

<Air Command mode>인 WizFi250에 AT Command를 전송하려면 "WizFi250AirCmd:" (15byte)를 패킷의 첫 부분에 보내고, 처리하고자 하는 AT Command를 보내고, 마지막에 <CR>(Carriage Return, 0x0d) 1 byte를 추가하면 된다. 단, <15 Byte Header>, <실제 AT Command>, <CR>은 모두 하나의 패킷에 포함되어서 전송되어야 한다. 

실제 사용 예제를 보면 아래와 같다.


(TX) 
WizFi250AirCmd:AT+MINFO\r (24 Byte)
(RX) 
FW version/HW version
1.0.1.8/WizFi250 Rev 1.0
[OK]

(TX) 
WizFi250AirCmd:AT+WSEC=?\r (25 Byte)
(RX) 
1,WPA2,123456789
[OK]

(TX) 
WizFi250AirCmd:AT+WSEC=1,WPA2,aaaabbbb\r (39 Byte)
(RX) 
[OK]

(TX) 
WizFi250AirCmd:AT+MMAC=?\r (25 Byte)
(RX) 
00:08:DC:00:55:76
[OK]
4. <Air Command mode>를 이용한 WizFi250 무선 설정하기 예제

(TX)
WizFi250AirCmd:AT+WSET=0,MySSID\rAT+WSEC=0,,12345678\rAT+WNET=1\rAT+MPROF=S\r
(RX)
[OK]
[OK]
[OK]
[OK]

(TX)
WizFi250AirCmd:AT+MRESET\r

이것은 WizFi250이 내부적으로 아래의 명령을 수행한 것과 같다.


AT+WSET=0,MySSID
AT+WSEC=0,,12345678
AT+WNET=1
AT+MPROF=S
AT+MRESET


재부팅된 WizFi250에서 설정된 WiFi Provisioning 값들을 보면, 제대로 설정되어 있는 것을 확인할 수 있다.


WizFi250 Version 1.0.1.8 (WIZnet Co.Ltd)

at+mprof=vd
+WSET=0,MySSID,,0
+WSEC=0,,12345678
+WNET=1,192.168.13.1,255.255.255.0,192.168.13.1
+WREG=AU
+SCON=O,TSN,,0,5000,1
+SFORM=111111111,7b,2c,7d,0d,0a
+MMSG=2
+MMAC=00:08:DC:00:55:76
+USET=115200,N,8,1,N
+MECHO=1
+FWEBS=0,M
+FGPIO={1,1,3,0},{1,5,3,0},{1,6,3,0},{1,7,3,0},{1,8,3,0}
[OK]