ZLWeb API
ZLWeb提供ZLWeb_Init、ZLWeb_AddPostHandler、ZLWeb_AddTagHandler、ZLWeb_Process
4個API函數(shù)。
ZLWeb_Init
用于初始化ZLWeb模塊。
void ZLWeb_Init(
zl_u8 DT_XDATA * buf,
zl_u16 buf_size
);
ZLWeb_AddPostHandler
為用于遠(yuǎn)程控制的CGI功能設(shè)置句柄函數(shù)。
zl_u8 ZLWeb_AddPostHandler(
zl_u8 * FileName,
zl_u8 * variable,
PostHandler function
);
ZLWeb_AddTagHandler
為用于遠(yuǎn)程數(shù)據(jù)采集的Dynamic標(biāo)簽設(shè)置句柄。
zl_u8 ZLWeb_AddTagHandler(
zl_u8 * TagName,
TagHandler function
);
ZLWeb_Process
ZLWeb運行主進(jìn)程。
void ZLWeb_Process(
IP_ADDR ServerIP
);
編寫代碼
使用ZLWeb時編寫main函數(shù)為如下形式。另外需根據(jù)ZLWeb_AddPostHandler、ZLWeb_AddTagHandler的使用方法,編寫必要的句柄函數(shù)。
int main(void)
{
/* this devRTL will be used in tcp/ip, pointed
by NetIf->Info */
struct zlip_addr_info xdata addr_info=
{
ETHER_ADDR,
IPAddr,
NetMask,
GateWay
};
/*
* init
*/
ZLIP_Init(&addr_info);
ZLWeb_Init(data_buf_ex, DATA_SIZE);
ZLWeb_AddPostHandler("/control.html",
"LED_GREEN", &LedGreenHandler);
ZLWeb_AddPostHandler("/control.html",
"LED_RED", &LedRedHandler);
ZLWeb_AddTagHandler("key1_status",
&Key1Handler);
ZLWeb_AddTagHandler("key2_status",
&Key2Handler);
ZLWeb_Process(IPAddr);
ZLIP_Release();
return TRUE;
}
編寫ZLWeb的網(wǎng)頁
ZLWeb的網(wǎng)頁遵從HTML標(biāo)準(zhǔn)。在設(shè)計網(wǎng)頁前首先需要有一個網(wǎng)頁目錄“例如為“\工具\ZLFsCreate\web”,稱之為網(wǎng)頁根目錄。在網(wǎng)頁根目錄下必須有一個index.html文件,該文件是網(wǎng)頁首頁,網(wǎng)頁根目錄下可存在圖片和子目錄。由于51單片機(jī)存儲空間的限制,所有網(wǎng)頁文件總大小是有限制的,默認(rèn)為32KB。主要注意ZLWeb的CGI遠(yuǎn)程控制網(wǎng)頁和Dynamic標(biāo)簽網(wǎng)頁的寫法。
產(chǎn)生ZLFs文件系統(tǒng)
使用卓嵐的“\工具\ZLFsCreate\ZLFsCreate.exe”程序可以將設(shè)計好的網(wǎng)頁目錄打包為ZLFs格式的代碼。
1. 運行ZLFsCreate.exe,選擇Root Directory,將其選擇為設(shè)計好的網(wǎng)頁的根目錄。

2. 選擇Out put file為myoutput.txt,這可以是一個不存在的文件,系統(tǒng)會自動新建這個文件。

3. 設(shè)置“Max size of the Fs”,這可以設(shè)置整個文件系統(tǒng)大小的上限,可以采用默認(rèn)值——32K。
4. 點擊Create,界面顯示如下:
點擊確定。
5. 打開myoutput.txt,將其中的數(shù)據(jù)全部拷貝到myweb.c文件的末尾。
之后編譯連接產(chǎn)生myweb.hex。此時就可以下載運行了。