新四季網

一種嵌入式家庭網關web伺服器系統的製作方法

2023-06-23 14:18:51 1


專利名稱::一種嵌入式家庭網關web伺服器系統的製作方法
技術領域:
:本發明涉及數字家庭網關的網絡管理
技術領域:
,具體涉及到家庭網關,路由器以及其他一些嵌入式系統中的網絡管理平臺的架構及實現方法。
背景技術:
:隨著網絡技術和通信技術的不斷發展及人們對生活質量要求的不斷提高,智能建築、數字家庭、數字小區、數字城市等概念應運而生。在數字家庭中將各種家庭通信產品、計算機產品、消費類電子產品,按照各類家庭數位化需求,形成家庭網絡,通過外部網絡接入與社會全方位的信息交互,組成家庭信息、娛樂、控制服務和信息功能系統。家庭網絡是指將家庭範疇裡的信息設備、通信設備、娛樂設備、家用電器、水電氣暖計量表、健康保健設備、照明系統和安全系統等連接在一起組成的一種區域網,各種終端設備通過家庭網絡實現網絡化,實現各種網絡化的管理和服務,實現資源和服務的共享。家庭網絡通過家庭網關服務實現家庭內部網絡和外部網絡的連接,將家庭網絡系統擴展至社區和網際網路等外部網絡,使數字家庭成為智能住宅小區和智能社會的基本單元。數字家庭網絡的構架包括家庭內部網絡系統、數字家庭網關及家庭內部網絡與外部hternet網絡之間的數據通信。其中,數字家庭網關是數字家庭網絡的一個重要組成部分,起到治理、控制和與外部網絡通信的核心作用。它是連接家庭智能內部和外部網絡的物理接口,實現家庭內部同外部通信網絡之間的數據交換功能,同時還負責家庭設備的治理和控制。本發明作者在長期從事家庭網關產品設計及其開發中發明了一種嵌入式家庭網關web伺服器系統,通過該系統,管理員能夠更好的管理數字家庭內部網絡設備。
發明內容本發明提供一種嵌入式家庭網關web伺服器系統,通過該系統,管理員能夠更好的管理數字家庭內部網絡設備。1、一種嵌入式家庭網關web伺服器系統,能夠更好的管理家庭網關中的網絡設備。2、該嵌入式家庭網關web伺服器系統,包括家庭網關系統結構與功能,嵌入式web伺服器BOA系統,嵌入式資料庫系統SQLite系統,CGI控制模塊,基於web伺服器BOA應用開發的簡單過程。3、嵌入式web伺服器BOA系統,包括對BOA系統的配置與移植。4、嵌入式資料庫系統SQLite系統,包括多SQLite系統的配置與移植。5、CGI控制模塊,包括對CGI程序控制模塊的設計以及對CGI系統工作流程的詳細描述。6、基於web伺服器BOA應用開發的簡單過程,包括=SQLite資料庫的配置與移植,如何設資料庫。上述技術方案可以看出,由於本發明實施例採用了一種嵌入式家庭網關web伺服器系統,通過該系統,管理員能夠更好的管理數字家庭內部網絡設備。為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。圖1是嵌入式家庭網關功能結構圖;圖2是BOA執行流程圖;圖3是CGI表單信息獲取流程圖;圖4是設備查詢流程圖。具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其它實施例,都屬於本發明保護的範圍。本發明實施例提供在ARM開發板下,基於ARM-Linux作業系統的,通過BOAWEB伺服器和SQLite資料庫系統將動態TOB技術應用到家庭網關中,從而實現一種嵌入式家庭網關web伺服器系統。以下分別進行詳細說明。如圖1所示是嵌入式家庭網關功能結構圖,其功能主要是進行協議轉換,在hternet和家庭控制網絡之間建立一個溝通的橋梁。其工作流程如下1、用戶通過WEB瀏覽器以表單形式提交對網絡家用電器的訪問請求。2、Web伺服器接收該請求,將它轉發給CGI(CommonGatewayInterface,通用網關接口)控制模塊。3、CGI對數據進行解析和提取,再將相應消息轉發給家庭內部控制網絡通信模塊。4、家庭內部控制網絡通信模塊接收到消息,生成相應的控制信號發給家用設備。5、家用設備完成動作後,最終將結果通過CGI模塊顯示在用戶的Web瀏覽器上。如圖2所示是BOA伺服器執行流程圖。BOA是一種專門為嵌入式設備設計的WEB伺服器,該WEB伺服器在存貯空間和運行時所佔有的內存空間都很少,是單進程伺服器,只有在完成一個用戶請求後才能響應另一個用戶的請求,而無法並發響應,但這在嵌入式設備應用場合已經足夠了。BOA伺服器執行流程為瀏覽器將用戶輸入的數據送到WEB伺服器,WEB伺服器將數據送給CGI程序,在執行CGI程序後,可能會訪問存儲數據,最後輸出HTML形式的結構文件,經WEB伺服器送回瀏覽器顯示給用戶。要使用BOA伺服器,必須先把BOA伺服器移植到相應的嵌入式系統中,一般BOA伺服器的移植過程如下1、解壓源碼。先執行tarxzfboa-***,tar.gz解壓,然後進入目錄boa/src,需要對裡面的幾個文件做修改。2、交叉編譯BOA:./configure生成Makefile文件,然後根據交叉編譯工具實際安裝的路徑和使用的工具來進行設置,設置好Makefile文件後,編譯執行make,即能成功進行編譯了,最後就能成功得到可執行程序BOA了。3、配置BOA:為了能夠在家庭網關上運行Β0Α,需配置boa.conf,關於配置文件的詳細配置方式可查閱相關資料。最後將修改好的配置文件boa.conf存放於家庭網關系統根文件系統/etc/boa目錄下,根據boa.conf中的設置在根文件系統中建立相應的目錄。如創建HTML文檔的主目錄/host/boa/WEB,將HTML網頁存入該目錄下,創建CGI腳本所在目錄/host/boa/cgi-bin,將cgi的腳本存放在該目錄下,還要將mine,type文件複製/host/boa目錄下。如圖3所示是CGI表單信息獲取流程圖。CGI是外部擴展應用程式與Web伺服器交互的一個標準接口,它本身是一個伺服器端的程序。當用戶的瀏覽器向伺服器發出請求時,通常是請求一個網頁文件,但對於CGI來說,請求由CGI程序來執行,它動態地生成網頁代碼。這樣,用戶在瀏覽器上所看到的網頁實際上是CGI程序動態生成的。CGI程序一般完成Web網頁中表單(Form)數據的處理、查詢等,可以用任何程序設計語言(如Fortran、PasCal、C等)來編寫,也可以用伺服器上系統所支持的腳本語言(如SielLPerl等)來編寫。但對於BOA這個Observer而言,不支持任何的腳本,只支持C代碼的CGI程序。採用C語言編寫的CGI程序執行速度快,安全性和效率都很高。該CGI表單信息獲取流程如下301等待用戶提交一個HTMLForm,WEB瀏覽器首先對R)rm中的數據以名字/值對的形式進行編碼,並發給Web伺服器,然後由Web伺服器傳遞給CGI程序。其格式為「NAME1=VALUE1&NAME2=VALUE2」。若參數值中間有空白,則以「+」代替,特殊字符以「%xx」代替,其中XX為特殊字符的十六進位ASCII碼。這些特殊字符包括了「&」、「=」、中文以及ASCII碼值〉1的字符。信息經這樣包裝後,則以「+」代替,特殊字符以「%xx」代替,其中XX為特殊字符的十六進位ASCII碼。這些特殊字符包括了「&」、「=」、中文以及ASCII碼值>128的字符。302判斷用戶信息提交的方式,若為GET則轉到303,若為POST則轉到304。303若為GET方式,被包裝的信息將會被送入QUERY_STRING的環境變量中,通過調用函數getenv(「QUERY_STRING」)讀取即可。304若為POST方式,則程序先從C0NTENT_LENGTH環境量得到數據的字長,然後從標準輸入中讀取相應長度的字符串,即可得到提交的數據。305讀取環境變量QEQUEST_METH0D。306:為讀取的變量申請一塊存儲區。307從標準輸入獲取一個字節。308判斷是否到達存儲區長度或標準輸入末尾。309程序返回給用戶頁面。如圖4是家庭網關web伺服器系統對家庭內部設備查詢的流程圖。由於數字家庭管理系統中需管理的家電設備信息較多(如設備註冊信息、設備狀態信息等),故需採用嵌入式資料庫對各種數據進行管理。可用嵌入式資料庫SQlite。SQlite是一種開放原始碼的資料庫,且有功能齊全的C語言API函數,能較好地支持SQL-92標準,同時也支持Β0Α,故該實施例中選擇SQlite-3.3.8。該資料庫的移植過程如下1、將sqlite-3.3.8.tar.gz下載到/ccp目錄下,解壓縮sqlite-3.3.8.tar.gz#tarzxvfsqlite-3.3.8.tar.gz角軍壓後會在/ccp目錄下生成sqlite-3.3.8/子目錄。該目錄包含了編譯所需所有源文件和配置腳本,而所有原始碼文件都位於sqlite-3.3.8/src/目錄下。在sqlite-3.3.8/目錄下有一個。2、首先通過命令拷貝此文件,並重命名為Makefile:#cpMakefile.1inux-gccMakefiIe接下來,用vi打開MakefiIe文件,並手動修改MakefiIe文件的內容。改動如TOP=../sqlite修改為TOP=.TCC=gcc-06修改為TCC=arm-linux-gcc_06AR=arcr修改為AR=arm-linux-arcrRANLIB=ranlib修改為RANLIB=arm-1inux-ranlibMKSHLIB=gcc-shared修改為MKSHLIB=arm-linux-gcc-shared。3、對Makefile的修改主要包括兩個方面。首先是將編譯器、歸檔工具等換成交叉工具鏈中的對應工具,如gcc換成arm-linux-gcc,ar換成ar-linux-ar,ranlib換成arm-1inux-ranlib等;其次是去掉與相關的編譯選項默認情況下會將編譯SQlite3的TCL語言綁定,但是在移植至ARM-Linux時並不需要,因此將兩個與TCL有關的行注釋掉,注釋掉以下兩行TCL_FLAGS=-I/home/drh/tcltk/8.41inux;LIBTCL=/home/drh/tcltk/8.41inux/libtcl8.4g.a-lm-ldl。4、接下來修改文件main,mk,因為Makefile包含這個文件。找到該文件中的下面一行selec.tοtable,οtclsqlite.οtokenize.οtrigger.ο\把它替換成selec.tοtable,οtokenize.οtrigger.o\SQlite3^TCL語言綁定。此時,修改工作已完成,接下來就可以開始編譯SQlite3了,通過make命令即可完成。5、編譯完成後,將在sqlite3.3.8/目錄下生成庫函數文件libsqlite3.a和頭文件sqlite3.h,這就是所需要的兩個文件。編譯完成後,就可以編寫自己的應用程式,然後編譯,最後下載到ARM板上。編譯時要指定頭文件、庫函數文件、要連結的靜態庫文件目錄。舉例如下#arm-1inux-gcc-I/ccp/sqlite-3.3.8/-L/ccp/sqlite-3.3.8_otesttes.tc_lsqlite3其中,-I/ccp/sqlite-3.3.8指出了頭文件sqlite3.h所在的目錄,_L/ccp/sqlite3.3.8指定了庫函數文件libsqlite3.a所在的目錄,_otest指定編譯生成的文件名為tes,ttes.tc是源程序文件,_lsqlite3指明要連結靜態庫文件libsqlite3.a。家庭網絡數據中存儲了用戶信息、設備註冊信息、狀態信息等。需要說明的是,上述裝置和系統內的各單元之間的信息交互、執行過程等內容,由於與本發明方法實施例基於同一構思,具體內容可參見本發明方法實施例中的敘述,此處不再贅述。本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,該程序可以存儲於一計算機可讀存儲介質中,存儲介質可以包括只讀存儲器(ROM,ReadOnlyMemory)、隨機存取存儲器(RAM,RandomAccessMemory)、磁碟或光碟等。以上對本發明實施例所提供的一種嵌入式家庭網關web伺服器系統,進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。權利要求1.一種嵌入式家庭網關web伺服器系統,其特徵在於,包括家庭網關系統結構與功能,嵌入式web伺服器BOA系統,嵌入式資料庫系統SQLite系統,CGI控制模塊,基於web伺服器BOA應用開發的簡單過程。2.根據權利要求2所述的嵌入式家庭網關web伺服器系統,其特徵在於,包括對BOA系統的配置與移植。3.根據權利要求2所述的嵌入式家庭網關web伺服器系統,其特徵在於,嵌入式資料庫系統SQLite系統,包括多SQLite系統的配置與移植。4.根據權利要求2所述的嵌入式家庭網關web伺服器系統,其特徵在於,CGI控制模塊包括對CGI程序控制模塊的設計以及對CGI系統工作流程的詳細描述。全文摘要本發明公開了一種嵌入式家庭網關web伺服器系統。本發明的方法包括家庭網關系統結構與功能,嵌入式web伺服器BOA的配置移植,嵌入式資料庫系統SQLite的配置與移植,CGI控制模塊的設計以及基於web伺服器BOA應用開發的簡單過程。本發明技術方案能夠更好的管理數字家庭內部網絡設備。文檔編號H04L12/66GK102164102SQ201110111459公開日2011年8月24日申請日期2011年4月29日優先權日2011年4月29日發明者羅晴明,羅笑南,韓冠亞申請人:中山大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀