Skip to main content

Tutorials(Kor)

Overview

WIZ550web의 I/O 제어는 CGI를 이용하여 I/O의 제어와 모니터링을 수행한다. 웹 페이지는 🌎HTTP GET / POST method를 활용하여 웹 서버의 상태 값을 얻거나(GET) 웹 페이지의 변경된 값을 웹 서버로 전달(POST)하도록 구성되어 있으며, 이러한 동작을 수행하기 위하여 웹 페이지의 HTML / JavaScript(AJAX)와 웹 서버의 CGI handler가 일치하도록 구현되어 있어야 한다. CGI에 관한 설명은 'Getting Started Guide: WIZ550web의 CGI'에 설명되어 있다.

사용자는 Tutorial을 통해 WIZ550web에 구현된 I/O interface function의 이해와 활용이 가능하다. 이를 통해 사용자는 원격지에서 웹 서버로 접속하고, 사용자 device의 상태를 모니터링 하거나 I/O의 on/off 기능을 수행하는 사용자만의 WIZ550web용 웹 페이지를 제작할 수 있다.

본 Tutorial 에서는 다음과 같은 내용을 다룬다.

Tutorial 0: Introduce the I/O Interface functions and test webpage

  • Web browser와 WIZ550web의 기본적인 동작에 대해 소개하고, 사용자가 웹 페이지만 수정하 여 원하는 형태의 I/O 제어용 웹 사이트를 구성 할 수 있도록 미리 정의된 I/O interface function과 테스트 페이지를 소개한다.

**Tutorial 1: Set the Digital I/O Status**

  • WIZ550web에서 제공하는 Digital I/O (16)의 On - Off 상태를 제어 할 수 있는 Web page 제작에 대해 다룬다. 이를 통해 사용자는 웹을 통해 제품의 LED / Relay 등을 제어 할 수 있다. 이 Tutorial을 통해 학습한 기능을 응용하면 Digital I/O의 Direction (Input / Output / None) 제어 기능도 제작 할 수 있다.

Tutorial 2: Get the Digital I/O Status Tutorial 3: Get the Analog Input Value Tutorial 4: Get/Set the WIZ550web IP Settings Tutorial 5: Real-time Data Update on WIZ550web Web page Tutorial 6: How to Make Custom Interface Functions with WIZ550web

미리 정의된 I/O Function에 대한 명세는 다음 가이드에서 확인 할 수 있다.

Guide Document WIZ550web Get/Set Interface Functions Guide

Tutorial 0: Introduce the I/O Interface functions

Interface Functions Guide for WIZ550web

Overview

WIZ550web은 펌웨어의 수정 없이 웹 페이지의 제작만으로 장치 이름 및 Network 설정, 각각의 Digital I/O와 Analog input의 제어와 모니터링을 수행할 수 있도록 CGI를 위한 HTTP Request function set을 제공한다.

GET / SET interface로 나뉘어 구현되어 있으며, 사용자는 JavaScript와 AJAX를 이용한 HTTP GET / POST method로 각 기능에 해당하는 CGI를 요청하는 방법을 활용하면 손쉽게 WIZ550web을 제어할 수 있는 웹 페이지를 구현 및 제작 할 수 있다. GET 명령의 경우 해당하는 요청에 대한 JavaScript Callback function의 형태로 값을 얻도록 구성 되었으며, SET 명령의 경우 CGI 요청과 함께 설정하고자 하는 값을 지정된 Web form element의 형태로 HTTP request에 포함하여 WIZ550web으로 전송하면 된다.

WIZ550web의 CGI에 관한 내용은 'Getting Started Guide: WIZ550web의 CGI' 챕터를 참조하기 바란다.

Get/Set interface CGI를 이용한 테스트 용 웹 페이지 및 펌웨어는 다음 링크에서 다운로드 할 수 있다.

WIZ550web GitHub Repository

🌎https://github.com/Wiznet/WIZ550web

WIZ550web GitHub Repository: Webpage source code

🌎GET/SET Interface functions Testpage

WIZ550web GET/SET Interface

WIZ550web의 GET/SET interface를 위한 CGI 리스트는 아래와 같다.

GET Function List

Get: Functions Table

HTTP Request CGIname Description
widget.cgiGet Basic Settings
io.cgiGet I/O all status, include pin 90,91 on-board LED
io_alias.cgiGet all I/O status. direction and port names
adc.cgiGet all ADC Status/values
get_devinfo.cgiGet Device info
get_netinfo.cgiGet Network info
get_serial_data.cgiGet serial data from buffer (Console port)
get_uart0info.cgiGet Serial port 0 settings (UART1, Console)
get_uart1info.cgiGet Serial port 1 settings (UART2, AT command)
get_dio0.cgi ~ get_dio15.cgiGet I/O status per port
get_ain0.cgi ~ get_ain3.cgiGet ADC info per port
SectionCGI nameJavaScript Callback ParameterReturn TypeDescriptionValue (Example)Note
Device Informationget_devinfo.cgifwverStringFirmware version1.0.0-
devnameStringDevice nameWIZ550web-
pcodeStringProduct identifier1-2-0 For WIZ configuration tool mac String MAC address 00:08:DC:xx:xx:xx-
Network Informationget_netinfo.cgiipStringIP address192.168.11.2-
gwStringGateway IP address192.168.11.1-
subStringSubnet Mask255.255.255.0-
dnsStringDNS server IP address8.8.8.8-
dhcp1-digit numberDHCP enable0 or 11 : Enabled,0 : Disabled
Serial Port Informationget_uart0info.cgi get_uart1info.cgibaud1-digit numberBaud rate0 ~ 90:600,1:1200,2:2400,3:4800,4:9600,5:19200,6:38400,7:57600,8:115200,9:230400
databit1-digit numberData bit0 or 10:Databit8 1:Databit9
parity1-digit numberParity bit0 ~ 20:None 1:Odd 2:Even
stopbit1-digit numberStopbit0 or 10:Stopbit1 1:Stopbit2
flow1-digit numberFlow control0 ~ 30:None 1:RTS/CTS,2:RS-422,3:RS-485
16-Digital I/O(0 ~ 15)get_dio0.cgi~get_dio15.cgidio_p1 or 2-digit numbersI/O Pin Info.0-
dio_s1-digit numberI/O State0 or 10 : Low,1 : High
dio_d1-digit numberI/O Direction0/1/20 : NotUsed,1 : Input,2 : Output
dio_aStringI/O AliasDigital I/O #0-
4-Analog Inputs(12-bit ADC)get_ain0.cgi~get_ain3.cgiain_p1-digit numberAnalog input pin0 ~ 3-
ain_v1 ~ 4-digit numbersAnalog input value0 ~ 4095The values need to transform for use.

Get: JavaScript Callback Function Name Table

HTTP Request CGI nameJavaScript Function Name on Web page
get_devinfo.cgifunction DevinfoCallback(o)
get_netinfo.cgifunction NetinfoCallback(o)
get_uart0info.cgifunction UartinfoCallback(o)
get_uart1info.cgi
get_dio0.cgi~get_dio15.cgifunction DioCallback(o)
get_ain0.cgi~get_ain3.cgifunction AinCallback(o)

SET Function List

Set: Functions Table

HTTP Request CGI nameDescription
config.cgiSet Basic Settings for 🌎DemoPages
dout.cgiSet I/O port On/Off
save_alias.cgiChange name of I/O port
dir_change.cgiChange I/O direction
tx_serial_data.cgiSend serial data to UART1(Console port)
set_default_io_status.cgiIO Settings Factory Reset and Reboot
set_devinfo.cgiSet Device info (changes takes effect after reboot)
set_netinfo.cgiSet Network info (changes takes effect after reboot)
set_uart0info.cgiSet Serial port 0 settings (UART1, Console) (changes takes effect after reboot)
set_uart1info.cgiSet Serial port 1 settings (UART2, AT command) (changes takes effect after reboot)
set_diodir.cgiChange I/O direction. same as dir_change.cgi
set_diostate.cgiSet I/O port On/Off. almost the same as dout.cgi
set_dioalias.cgi

config.cgi is for 🌎DemoPages.

Other common APIs are from set_devinfo.cgi

SectionCGI nameParameterWebform ElementDescriptionParameter ExampleNote
Device Configurationconfig.cgidevicenameParam: StringDevice namedevicename=WIZ550WEB
dhcpParam: 0 or 1DHCP enabledhcp=01 : Enabled 0 : Disabled
libParam: StingLocal IP addresslip=192.168.11.100Including dots
gw Param: StringGateway IP addressgw=192.168.11.254
subParam: StringSubnet Masksub=255.255.255.192
dnsParam: StringDNS server IP addressdns=168.126.63.1
baudrateParam: 1-digit numberBaud ratebaud=8
databitParam: 8~9Data bitdatabit=88:Databit8,9:Databit9
parityParam: 0~2Parity bitparity=00:None ,1:Odd ,2:Even
stopbitParam: 1~2Stopbitstopbit=11:Stopbit1 2:Stopbit2
flowcontrolParam: 0~3Flow controlflowcontrol=00:None,1:RTS/CTS,2:RS-422,3:RS-485
Device Informationset_devinfo.cgidevnameParam: StringDevice namedevname=Server1-
Network Informationset_netinfo.cgiipParam: StringIP addressip= 192.168.11.3Including dots
gwParam: StringGateway IP addressgw= 192.168.11.254
subParam: StringSubnet Mask sub= 255.255.255.192
dnsParam: StringDNS server IP addressdns= 168.126.63.1
dhcpParam: 0 or 1DHCP enabledhcp=01 : Enabled 0 : Disabled
Serial Port Informationset_uart0info.cgi set_uart1info.cgibaudParam: 1-digit numberBaud ratebaud=80:600,1:1200,2:2400,3:4800,4:9600,5:19200,6:38400,7:57600,8:115200,9:230400
databitParam: 8~9Data bitdatabit=88:Databit8,9:Databit9
parityParam: 0~2Parity bitparity=00:None,1:Odd,2:Even
stopbitParam: 1~2Stopbit stopbit=11:Stopbit1,2:Stopbit2
flowParam: 0~3Flow controlflow=00:None,1:RTS/CTS,2:RS-422,3:RS-485
16-Digital I/O(0 ~ 15)set_diostate.cgipin / valParams: digit numbersI/O Statepin=0&val=1pin:0~15,val=0(Low/On),val=1(High/Off)
set_diodir.cgipin / valI/O Directionpin=1&val=2pin:0~15 ,val=0(Not used),val=1(Input),val=2(Output)
set_dioalias.cgipin / valParams: digit numbers / StringI/O Aliaspin=1&val=pin#1pin:0~15 value:string