freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于以太網(wǎng)的電熱爐溫度遠程控制系統(tǒng)-資料下載頁

2025-06-19 12:44本頁面
  

【正文】 分。它包括選擇合適的庫、初始化靜態(tài)數(shù)據(jù)及其結(jié)構(gòu)和表,定義合適的網(wǎng)絡(luò)配置,如用ximport 或 zimport 來指定文件路徑。下面的一些表格會在初始化時建立:湖南工程學院畢業(yè)設(shè)計論文25圖 應(yīng)用模塊圖Ruletype:這個表的建立只是在使用文件時需要。用于對資源的訪問允許。靜態(tài)資源表(The static resource table):在 Dynamic C 中這是一種典型的定義資源的方式,可選 。MIMEtype 表格:該表格用于告訴用戶如何使用瀏覽器顯示內(nèi)容,必須被服務(wù)器程序定義,盡管服務(wù)器不一定要知道實現(xiàn)的細節(jié)。(2)運行初始化部分。在主函數(shù) main( )中需要調(diào)用一些特殊的庫函數(shù)。如:sock_init( ),用于初始化 TCP/IP 網(wǎng)絡(luò)系統(tǒng);_init( )用于初始化 HTTP 服務(wù)等。(3)主函數(shù)部分。在主函數(shù)中都會在指令的最后調(diào)用 _handler( )函數(shù),用于允許HTTP 服務(wù)器處理來自網(wǎng)絡(luò)的請求。(4)實際應(yīng)用程序。用于實現(xiàn)所要完成的具體功能,如處理 I/O,處理某些定義變量。(5)CGI 程序。 CGI 代表通用網(wǎng)關(guān)接口(Common Gateway Interface)。與瀏覽器交互需要用到 CGI 程序。本課題就是建立在以上模塊上進行設(shè)計。用 RabbitWeb 編寫服務(wù)器與與瀏覽器交互程序,因為相對于以前 CGI 程序,編寫交互式程序用 RabbitWeb 更簡便,程序也更通俗易懂。以下是本課題的 Web 服務(wù)器程序,主要實現(xiàn)與因特網(wǎng)的通信,有關(guān)溫度控制的程序在前面的溫度控制程序中已經(jīng)講述。最后將兩個程序合并,把溫度控制程序嵌入 Web 服務(wù)器程序。基于以太網(wǎng)的電熱爐遠程控制系統(tǒng)26用 Dynamic C 進行編寫 Web 服務(wù)器程序時,需要對某些參數(shù)進行配置及對宏進行定義。下面做一些簡單的介紹。int wd1web wd1 groups=all(ro)用C語言定義整形變量wd1,用于保存當前溫度值,利用 “web”表達方式注冊一個web服務(wù)的 C變量。在上面的語句中用groups=all(ro) 定義了變量temp1 的屬性為只讀,該變量可以被用戶組中的所有用戶訪問。int wd2web wd2((600=$temp2)?1:WEB ERROR(“toolow”))amp。amp。($temp=1000)?1:WEB ERROR(“too high”)) all(ro),group1這兩條指令創(chuàng)建了一個變量wd2,在配置頁面時給溫度一個指定值。注意 wd2限定了它的范圍,即整形變量wd2只能是600到1000間的某一個值。所以用戶在指定恒溫值時只能是600到1000間的某一個值,否則系統(tǒng)會提示用戶輸入的是一個非法值,要求重新輸入。并且會提示輸入值是偏大還是偏小,如:如果輸入的溫度值超過1000,那么就會提示“too high”;在上面語句中,美元符號$表示的是最近提交的變量值,而不是最近執(zhí)行的變量值??梢钥闯?,變量wd2的訪問權(quán)限是,所有用戶都可以讀取,但只有 group1用戶組中的用戶才可以分配它。注意在書寫時不能寫為web temp2((600=$temp2)?1:WEB ERROR(“too low”))amp。amp。($temp=1000)?1:WEB ERROR(“too high”)) group1,all(ro)否則,用戶組group1也只有只讀的權(quán)限,而不能寫入。同樣可以定義其它幾個PID參數(shù)變量如下:int blblweb blbl (0$blbl) groups=all(ro),group1int jfblweb jfbl (0=$jfbl) groups=all(ro),group1int wfblweb wfbl (0=$wfbl) groups=all(ro),group1上面變量分別對應(yīng)于溫度調(diào)節(jié)的參數(shù)P、I、D,這幾個變量會在溫度控制程序中使用,用于溫度調(diào)節(jié)。關(guān)于其具體作用,已經(jīng)在PID算法中做了詳細說明。define TCPCONFIG 1宏TCPCONFIG主要用于配置網(wǎng)絡(luò)參數(shù)。采用它的默認值,定義為1。即設(shè)置板子湖南工程學院畢業(yè)設(shè)計論文27,,網(wǎng)關(guān)地址為 ,網(wǎng)絡(luò)用宏定義。用以下的語句定義:define MYIPADDRESS define MYNETMASK define MYGATEWAY 其中IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)地址都是可變的,可以根據(jù)連接時具體的網(wǎng)絡(luò)來進行配置。define USE_RABBITWEB 1該定義是聲明應(yīng)用RABBITWEB來編寫應(yīng)用程序。只有該宏被置1時,才表明應(yīng)用RabbitWeb程序編程。memmap xmem該語句使程序在芯片里運行,在擴展代碼窗口下被編譯。define use HTTP_BASIC_AUTHINTICATION該定義指出在系統(tǒng)中需要最基本的用戶驗證。ximport “samples/tcpip/rabbitweb/pages/” monitor_zhtmlximport “samples/tcpip/rabbitweb/pages/” admin_zhtml用“ximport”語句將HTML網(wǎng)頁復制到Rabbit的存儲器中,其中第一頁是狀態(tài)頁,用來顯示當前溫度值;第二頁是參數(shù)(如PID參數(shù))配置頁。由于應(yīng)用程序是用RabbitWeb程序編寫的,因此制作的網(wǎng)頁以“.zhtml”為擴展名。use “”use “兩個“use ”語句使編譯器按照庫文件配置編譯代碼。應(yīng)用程序可以使用TCPIP庫()和 HTTP服務(wù)庫。SSPEC_MIMETABLE_STARTSSPEC_MIME_FUNC(.zhtml, text/html, zhtml_handler),SSPEC_MIME(.html, text/html)SSPEC_MIMETABLE_END這里建立了MIME表,當一個文件名是“.zhmtl”時它允許調(diào)用zhml_handler( )來進行處理。SSPEC_RESOURCETABLE_STARTSSPEC_RESOURCE_XMEMFILE(/, monitor_zhtml),SSPEC_RESOURCE_XMEMFILE(/admin/, admin_zhtml)基于以太網(wǎng)的電熱爐遠程控制系統(tǒng)28SSPEC_RESOURCETABLE_END建立靜態(tài)資源表,利用該表來給出訪問剛才用ximport復制過來的文件的方法和路徑,其中第一個參數(shù)是文件的屬性,第二個參數(shù)是文件的位置。面,配置頁需要用戶給出用戶名和密碼。這將在后面制作網(wǎng)頁時給出更詳細的介紹。web_groups group1,group2RabbitWeb 服務(wù)有用戶集團的概念,用戶集團的創(chuàng)建是在編譯時由web_group指令來完成的。用戶可以利用API函數(shù)sauth_adduser( )和 sauth_remover( )來添加或刪除。創(chuàng)建用戶集團的目的是保護指令和變量的訪問權(quán)限,防止被非法用戶隨意更改參數(shù)。int wd1web wd1 groups=all(ro)用C語言定義整形變量wd1,用于保存當前溫度值,利用 “web”表達方式注冊一個web服務(wù)的 C變量。在上面的語句中用groups=all(ro) 定義了變量temp1 的屬性為只讀,該變量可以被用戶組中的所有用戶訪問。int wd2web wd2((600=$temp2)?1:WEB ERROR(“toolow”))amp。amp。($temp=1000)?1:WEB ERROR(“too high”)) all(ro),group1這兩條指令創(chuàng)建了一個變量wd2,在配置頁面時給溫度一個指定值。注意 wd2限定了它的范圍,即整形變量wd2只能是600到1000間的某一個值。所以用戶在指定恒溫值時只能是600到1000間的某一個值,否則系統(tǒng)會提示用戶輸入的是一個非法值,要求重新輸入。并且會提示輸入值是偏大還是偏小,如:如果輸入的溫度值超過1000,那么就會提示“too high”;在上面語句中,美元符號$表示的是最近提交的變量值,而不是最近執(zhí)行的變量值。可以看出,變量wd2的訪問權(quán)限是,所有用戶都可以讀取,但只有 group1用戶組中的用戶才可以分配它。注意在書寫時不能寫為web temp2((600=$temp2)?1:WEB ERROR(“too low”))amp。amp。($temp=1000)?1:WEB ERROR(“too high”)) group1,all(ro)否則,用戶組group1也只有只讀的權(quán)限,而不能寫入。同樣可以定義其它幾個PID參數(shù)變量如下:int blblweb blbl (0$blbl) groups=all(ro),group1int jfbl湖南工程學院畢業(yè)設(shè)計論文29web jfbl (0=$jfbl) groups=all(ro),group1int wfblweb wfbl (0=$wfbl) groups=all(ro),group1上面變量分別對應(yīng)于溫度調(diào)節(jié)的參數(shù)P、I、D,這幾個變量會在溫度控制程序中使用,用于溫度調(diào)節(jié)。關(guān)于其具體作用,PID算法中會有詳細說明。下面是Dynamic C語言的一些重要指令,介紹他們的作用。int sock_init( void ) 該函數(shù)用來初始化 TCP/IP 協(xié)議棧函數(shù),使協(xié)議棧開始處理入棧數(shù)據(jù),這個函數(shù)必須在使用其它 DCRTCP 函數(shù)之前調(diào)用。初始化成功,返回值為 0 ;初始化失敗,返回值為 1。int _init( void ) 初始化 Web 服務(wù)器。這個函數(shù)必須在調(diào)用 sock_init( )之后, _handler( )循環(huán)之前使用。它用于設(shè)置根目錄,并默認文件名為 。如果要修改目錄或文件名可以調(diào)用函數(shù) _set_path( )來重新設(shè)置。int tcp_tick( void *s ) 這個函數(shù)有兩個用途:①支持后臺處理的最新信息;②測試 TCP 套接字的狀態(tài)。void _handler( void ) 它用于控制 HTTP 服務(wù),與瀏覽器進行交流,同時在后臺對 HTTP 的運行進行測試。它在進行網(wǎng)絡(luò)通信時必須反復調(diào)用,主要對瀏覽器的請求進行解析,其它服務(wù)的處理都是建立在它的基礎(chǔ)上,如hmpl_handler,shtml_handler 以及 zhtml_handler 或 CGI 程序的處理。sauth_adduser( ) 該函數(shù)用于設(shè)置用戶名,增加客戶瀏覽機的用戶。sauth_setusermask( ) 該函數(shù)用于把經(jīng)sauth_adduser( ) 函數(shù)設(shè)置的用戶加入用戶組中,使得新設(shè)置的用戶享有用戶組的權(quán)限。sspec_addrule (“/admin”, “pet”, group1/group2, group1,SERVER_ANY, SERVER_AUTH_BASIC, NULL) 配置web 服務(wù)器,給group1中的成員以讀寫的權(quán)利。其中第二個參數(shù)“pet”是域名(realm )。下面寫出主程序,PID算法沒有包括在內(nèi)。void main(void){int user1,int user2;sspec_addrule (“/admin”, “pet”, group1/group2, group1, SERVER_ANY,SERVER_AUTH_BASIC, NULL)。user1 = sauth_adduser(“group1”, “group1”, SERVER_HTTP)。sauth_setusermask(user1, group1, NULL)。 //add user group1user2 = sauth_adduser(“group2”,“group2”,SERVER_HTTP)?;谝蕴W(wǎng)的電熱爐遠程控制系統(tǒng)30sauth_setusermask(user2, group2, NULL)。//add user group2brdinit()。 //initialize the BL2022boardsock_init()。 // initialize TCP/IP stack_init()。 // initialize web server_set_path(/, )。tcp_reserveport(80)。while(1) {_handler()。 // call the server}}在主函數(shù)中,首先定義兩個局部變量useruser2 ,注冊用戶名(把用戶名賦給它們兩個變量),接下來調(diào)用brdinit( )函數(shù),對板子初始化,初始化內(nèi)容包括系統(tǒng)I/O口,把所有的A/D及DAC標定常數(shù)從閃存裝入靜態(tài)存儲器中供程序使用。再調(diào)用函數(shù)sock_init( )和 _init( ),分別對 TCP協(xié)議棧和web服務(wù)器進行初始化。要注意,函數(shù)_init( )初始化 web服務(wù)器時設(shè)置的根目錄是 “/”。所以這里要調(diào)用_set_path( ),.如前面所看到的,只要函數(shù)_set_path( )中的第一個參數(shù)保持不變,仍然設(shè)為“/”, 即可。如果不用_set_path( )函數(shù)來重新設(shè)置目錄和文件名。sauth_adduser( ) 函數(shù)來增加用戶,設(shè)置一個用戶名為group1,密碼也為group1,接著調(diào)用函數(shù)sauth_setusermask( )把用戶group1 加入用戶組名為group1的組。這樣, 。只有屬于group1 用戶組的成員(在這里是用戶group1)( 配置參數(shù)的網(wǎng)頁 )。同樣道理,把用戶名為g
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1