ZLWeb API
ZLWeb提供ZLWeb_Init、ZLWeb_AddPostHandler、ZLWeb_AddTagHandler、ZLWeb_Process
4個API函數。
ZLWeb_Init
用于初始化ZLWeb模塊。
void ZLWeb_Init(
zl_u8 DT_XDATA * buf,
zl_u16 buf_size
);
ZLWeb_AddPostHandler
為用于遠程控制的CGI功能設置句柄函數。
zl_u8 ZLWeb_AddPostHandler(
zl_u8 * FileName,
zl_u8 * variable,
PostHandler function
);
ZLWeb_AddTagHandler
為用于遠程數據采集的Dynamic標簽設置句柄。
zl_u8 ZLWeb_AddTagHandler(
zl_u8 * TagName,
TagHandler function
);
ZLWeb_Process
ZLWeb運行主進程。
void ZLWeb_Process(
IP_ADDR ServerIP
);
編寫代碼
使用ZLWeb時編寫main函數為如下形式。另外需根據ZLWeb_AddPostHandler、ZLWeb_AddTagHandler的使用方法,編寫必要的句柄函數。
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的網頁
ZLWeb的網(wang)(wang)(wang)頁遵(zun)從HTML標(biao)準。在設計(ji)網(wang)(wang)(wang)頁前首(shou)先需要有一(yi)個網(wang)(wang)(wang)頁目錄“例如為(wei)“\工具\ZLFsCreate\web”,稱(cheng)之為(wei)網(wang)(wang)(wang)頁根(gen)目錄。在網(wang)(wang)(wang)頁根(gen)目錄下(xia)必須有一(yi)個index.html文(wen)件(jian),該文(wen)件(jian)是(shi)網(wang)(wang)(wang)頁首(shou)頁,網(wang)(wang)(wang)頁根(gen)目錄下(xia)可存在圖片和子目錄。由于51單片機存儲空間的限(xian)制(zhi),所有網(wang)(wang)(wang)頁文(wen)件(jian)總(zong)大小是(shi)有限(xian)制(zhi)的,默認(ren)為(wei)32KB。主要注意ZLWeb的CGI遠(yuan)程控制(zhi)網(wang)(wang)(wang)頁和Dynamic標(biao)簽網(wang)(wang)(wang)頁的寫法。
產生ZLFs文件系統
使用卓嵐的“\工具\ZLFsCreate\ZLFsCreate.exe”程序可以將設計好的網頁目錄打包為ZLFs格式的代碼。
1. 運行ZLFsCreate.exe,選擇Root Directory,將其選擇為設計好的網頁的根目錄。

2. 選(xuan)擇Out put file為myoutput.txt,這可以是一個不存在(zai)的文件,系統(tong)會(hui)自動(dong)新(xin)建這個文件。

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