本發(fā)明專利技術(shù)公開一種控制嵌入式設(shè)備的方法,該嵌入式設(shè)備運(yùn)行HTTPD進(jìn)程,包括如下步驟:瀏覽器向所述嵌入式設(shè)備發(fā)送包含控制命令的請(qǐng)求報(bào)文;所述嵌入式設(shè)備調(diào)用所述HTTPD進(jìn)程,由所述HTTPD進(jìn)程建立子進(jìn)程處理所述請(qǐng)求報(bào)文,獲取中間數(shù)據(jù);所述嵌入式設(shè)備繼而對(duì)所述中間數(shù)據(jù)進(jìn)行解釋獲得控制命令;執(zhí)行所述控制命令得到執(zhí)行結(jié)果;將所述執(zhí)行結(jié)果返回給所述HTTPD進(jìn)程,并由HTTPD進(jìn)程將包含有執(zhí)行結(jié)果的響應(yīng)報(bào)文返回給瀏覽器;所述瀏覽器解析響應(yīng)報(bào)文,呈現(xiàn)控制命令的執(zhí)行結(jié)果。此外,還公開一種應(yīng)用上述方法的WEB嵌入式系統(tǒng)。上述方法和系統(tǒng),通過在嵌入式設(shè)備接入客戶端,對(duì)嵌入式設(shè)備進(jìn)行控制,從而不會(huì)受限于嵌入式系統(tǒng)開發(fā)所處于的階段。
【技術(shù)實(shí)現(xiàn)步驟摘要】
控制嵌入式設(shè)備的方法及WEB嵌入式系統(tǒng)
本專利技術(shù)涉及嵌入式,尤其是涉及一種控制嵌入式設(shè)備的方法及WEB嵌入式系統(tǒng)。
技術(shù)介紹
隨著WEB技術(shù)的不斷發(fā)展與完善,與嵌入式
結(jié)合日益密切。嵌入式系統(tǒng)是以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。隨著信息技術(shù)的發(fā)展和數(shù)字化產(chǎn)品的普及,嵌入式系統(tǒng)應(yīng)用與WEB的結(jié)合愈加密切。嵌入式系統(tǒng)開發(fā)的程序代碼運(yùn)行在硬件開發(fā)板上,在開發(fā)階段能夠使用串口線實(shí)時(shí)的查看開發(fā)板的信息與系統(tǒng)運(yùn)行情況,或者直接執(zhí)行一些系統(tǒng)命令。但在其他很多使用環(huán)境(如測(cè)試環(huán)境)下,則無法提供串口線來控制嵌入式設(shè)備,使開發(fā)工作(如測(cè)試)不能很好的進(jìn)行,無法為上一階段(如開發(fā)階段)的工作回饋更詳細(xì)有用的信息。
技術(shù)實(shí)現(xiàn)思路
基于此,有必要提供一種在開發(fā)的各個(gè)階段都能對(duì)嵌入式設(shè)備進(jìn)行控制的方法。一種控制嵌入式設(shè)備的方法,該嵌入式設(shè)備運(yùn)行HTTPD進(jìn)程,包括如下步驟:瀏覽器向所述嵌入式設(shè)備發(fā)送包含控制命令的請(qǐng)求報(bào)文;所述嵌入式設(shè)備調(diào)用所述HTTPD進(jìn)程,由所述HTTPD進(jìn)程建立子進(jìn)程處理所述請(qǐng)求報(bào)文,獲取中間數(shù)據(jù);所述嵌入式設(shè)備繼而對(duì)所述中間數(shù)據(jù)進(jìn)行解釋獲得控制命令;執(zhí)行所述控制命令得到執(zhí)行結(jié)果;將所述執(zhí)行結(jié)果返回給所述HTTPD進(jìn)程,并由HTTPD進(jìn)程將包含有執(zhí)行結(jié)果的響應(yīng)報(bào)文返回給瀏覽器;所述瀏覽器解析響應(yīng)報(bào)文,呈現(xiàn)控制命令的執(zhí)行結(jié)果。優(yōu)選地,所述控制命令是shell類型的命令。優(yōu)選地,所述獲取中間數(shù)據(jù)的步驟具體包括:對(duì)接收到的請(qǐng)求報(bào)文一一分解并把分解出來的結(jié)果作為環(huán)境變量;判斷所述環(huán)境變量是否是shell類型,若是則將所述環(huán)境變量作為中間數(shù)據(jù)。優(yōu)選地,所述得到控制命令的步驟具體包括:判斷所述中間數(shù)據(jù)是否完整,若是則進(jìn)一步判斷所述中間數(shù)據(jù)的關(guān)鍵字是否匹配,若匹配則得到執(zhí)行命令。優(yōu)選地,所述執(zhí)行控制命令得到執(zhí)行結(jié)果的步驟具體為:創(chuàng)建管道和fork()子進(jìn)程,執(zhí)行shell命令,判斷執(zhí)行時(shí)間是否超過5秒,若是,則結(jié)束執(zhí)行命令,否則直接讀取執(zhí)行結(jié)果。此外,還提供一種WEB嵌入式系統(tǒng)。一種WEB嵌入式系統(tǒng),包括運(yùn)行瀏覽器的客戶端、運(yùn)行HTTPD進(jìn)程和解釋器的嵌入式設(shè)備,其中:所述客戶端的瀏覽器用于向所述嵌入式設(shè)備發(fā)送包含控制命令的請(qǐng)求報(bào)文;所述嵌入式設(shè)備調(diào)用所述HTTPD進(jìn)程,由所述HTTPD進(jìn)程建立子進(jìn)程處理所述請(qǐng)求報(bào)文,獲取中間數(shù)據(jù);所述解釋器對(duì)獲得的中間數(shù)據(jù)進(jìn)行解釋獲得控制命令,并執(zhí)行所述控制命令得到執(zhí)行結(jié)果;嵌入式設(shè)備將執(zhí)行結(jié)果返回給所述HTTPD進(jìn)程,并由HTTPD進(jìn)程將包含有執(zhí)行結(jié)果的響應(yīng)報(bào)文返回給瀏覽器。優(yōu)選地,所述瀏覽器用于發(fā)送包含shell類型的控制命令的請(qǐng)求報(bào)文。優(yōu)選地,所述HTTPD進(jìn)程創(chuàng)建的子進(jìn)程對(duì)接收到的請(qǐng)求報(bào)文一一分解并把分解出來的結(jié)果作為環(huán)境變量,將判斷為shell類型的環(huán)境變量作為中間數(shù)據(jù)。優(yōu)選地,所述解釋器獲得執(zhí)行命令具體是:判斷所述中間數(shù)據(jù)是否完整,若是則進(jìn)一步判斷所述中間數(shù)據(jù)的關(guān)鍵字是否匹配,若匹配則得到執(zhí)行命令。優(yōu)選地,所述解釋器獲取執(zhí)行結(jié)果具體是:創(chuàng)建管道和fork()子進(jìn)程,執(zhí)行shell命令,判斷執(zhí)行時(shí)間是否超過5秒,若是,則結(jié)束執(zhí)行命令,否則直接讀取執(zhí)行結(jié)果。上述方法和系統(tǒng),通過在嵌入式設(shè)備接入客戶端,利用web互聯(lián)的方式,使客戶端上運(yùn)行的瀏覽器向嵌入式設(shè)備發(fā)送控制命令,對(duì)嵌入式設(shè)備進(jìn)行控制,從而不會(huì)受限于嵌入式系統(tǒng)開發(fā)所處于的階段?!靖綀D說明】圖1為一實(shí)施例的控制嵌入式設(shè)備的方法;圖2為一實(shí)施例的WEB嵌入式系統(tǒng)?!揪唧w實(shí)施方式】針對(duì)在嵌入式系統(tǒng)在開發(fā)過程中除開發(fā)階段外,不能用串口線對(duì)嵌入式設(shè)備進(jìn)行控制的問題,提供一實(shí)施例的控制嵌入式設(shè)備的方法。需要說明的是,本實(shí)施例的控制方法主要是針對(duì)互聯(lián)網(wǎng)應(yīng)用的嵌入式設(shè)備,通常這種嵌入式設(shè)備上應(yīng)當(dāng)運(yùn)行與web相關(guān)的進(jìn)程,例如本實(shí)施例中,被控制的嵌入式設(shè)備上運(yùn)行HTTPD進(jìn)程。HTTPD是Apache超文本傳輸協(xié)議(HTTP)服務(wù)器的主程序,被設(shè)計(jì)為一個(gè)獨(dú)立運(yùn)行的后臺(tái)進(jìn)程,它會(huì)建立一個(gè)處理請(qǐng)求的子進(jìn)程或線程的池。如圖1所示,本實(shí)施例的方法包括如下步驟:S110:瀏覽器向所述嵌入式設(shè)備發(fā)送包含控制命令的請(qǐng)求報(bào)文。瀏覽器運(yùn)行于某個(gè)客戶端,用以發(fā)出控制命令??蛻舳伺c作為服務(wù)器的嵌入式設(shè)備之間建立WEB連接,并傳遞報(bào)文進(jìn)行交互。當(dāng)要對(duì)嵌入式設(shè)備進(jìn)行控制時(shí),瀏覽器向所述嵌入式設(shè)備發(fā)送包含控制命令的請(qǐng)求報(bào)文。本實(shí)施例中控制命令是shell命令。S120:嵌入式設(shè)備調(diào)用所述HTTPD進(jìn)程,由所述HTTPD進(jìn)程建立子進(jìn)程處理所述請(qǐng)求報(bào)文,獲取中間數(shù)據(jù)。嵌入式設(shè)備運(yùn)行的HTTPD進(jìn)程被調(diào)用,監(jiān)聽嵌入式設(shè)備的HTTP/HTTPS端口,當(dāng)監(jiān)聽到HTTP請(qǐng)求時(shí),HTTPD進(jìn)程建立子進(jìn)程處理所述請(qǐng)求報(bào)文。對(duì)所述請(qǐng)求報(bào)文的處理主要包括:將請(qǐng)求報(bào)文進(jìn)行分解,獲得報(bào)文數(shù)據(jù),并判斷報(bào)文數(shù)據(jù)的變量name的類型是否為預(yù)設(shè)類型。本實(shí)施例中預(yù)設(shè)類型相應(yīng)為shell類型。S130:所述嵌入式設(shè)備繼而對(duì)所述中間數(shù)據(jù)進(jìn)行解釋獲得控制命令。對(duì)于分解后的請(qǐng)求報(bào)文,其變量name類型為shell類型時(shí),能否以此為依據(jù)得到控制命令仍然需要進(jìn)行判斷。即判斷所述中間數(shù)據(jù)是否完整,若是則進(jìn)一步判斷所述中間數(shù)據(jù)的關(guān)鍵字是否匹配,若匹配則得到執(zhí)行命令,否則將中間數(shù)據(jù)丟棄。關(guān)鍵字是事先約定的字符串,用以驗(yàn)證控制該嵌入式設(shè)備的客戶端發(fā)出的控制命令的來源是否合法。S140:執(zhí)行所述控制命令得到執(zhí)行結(jié)果。對(duì)于合法的控制命令,創(chuàng)建管道和fork()子進(jìn)程,執(zhí)行shell命令,判斷執(zhí)行時(shí)間是否超過5秒,若是,則結(jié)束執(zhí)行命令,否則直接讀取執(zhí)行結(jié)果。當(dāng)然在其他實(shí)施例中,也可以不對(duì)執(zhí)行的響應(yīng)時(shí)間進(jìn)行限制,或者設(shè)置其他的響應(yīng)時(shí)間。S150:將所述執(zhí)行結(jié)果返回給所述HTTPD進(jìn)程,并由HTTPD進(jìn)程將包含有執(zhí)行結(jié)果的響應(yīng)報(bào)文返回給瀏覽器。此步驟為HTTP交互的常規(guī)方式,不再贅述。S160:所述瀏覽器解析響應(yīng)報(bào)文,呈現(xiàn)控制命令的執(zhí)行結(jié)果。根據(jù)瀏覽器呈現(xiàn)的執(zhí)行結(jié)果即可獲知控制該嵌入式設(shè)備的效果。如圖2所示,為一實(shí)施例的WEB嵌入式系統(tǒng)。該WEB嵌入式系統(tǒng)包括運(yùn)行瀏覽器110的客戶端100、運(yùn)行HTTPD進(jìn)程210和解釋器220的嵌入式設(shè)備200??蛻舳?00與作為服務(wù)器的嵌入式設(shè)備200之間建立WEB連接,并傳遞報(bào)文進(jìn)行交互。瀏覽器110運(yùn)行于客戶端100,用以發(fā)出控制命令。當(dāng)要對(duì)嵌入式設(shè)備200進(jìn)行控制時(shí),瀏覽器110向嵌入式設(shè)備200發(fā)送包含控制命令的請(qǐng)求報(bào)文。本實(shí)施例中瀏覽器110用于發(fā)送包含shell類型的控制命令的請(qǐng)求報(bào)文。嵌入式設(shè)備200上運(yùn)行HTTPD進(jìn)程210。HTTPD進(jìn)程210是Apache超文本傳輸協(xié)議(HTTP)服務(wù)器的主程序,被設(shè)計(jì)為一個(gè)獨(dú)立運(yùn)行的后臺(tái)進(jìn)程,它會(huì)建立一個(gè)處理請(qǐng)求的子進(jìn)程或線程的池。HTTPD進(jìn)程210用于監(jiān)聽嵌入式設(shè)備200的HTTP/HTTPS端口,并當(dāng)監(jiān)聽到HTTP請(qǐng)求時(shí),HTTPD進(jìn)程210建立子進(jìn)程處理請(qǐng)求報(bào)文。HTTPD進(jìn)程210將經(jīng)過處理的請(qǐng)求報(bào)文,即中間數(shù)據(jù)發(fā)送給解釋器220。HTTPD進(jìn)程210創(chuàng)建的子進(jìn)程對(duì)接收到的請(qǐng)求報(bào)文一一分解并把分解出來的結(jié)果作為本文檔來自技高網(wǎng)...

【技術(shù)保護(hù)點(diǎn)】
一種控制嵌入式設(shè)備的方法,該嵌入式設(shè)備運(yùn)行HTTPD進(jìn)程,其特征在于,包括如下步驟:瀏覽器向所述嵌入式設(shè)備發(fā)送包含控制命令的請(qǐng)求報(bào)文;所述嵌入式設(shè)備調(diào)用所述HTTPD進(jìn)程,由所述HTTPD進(jìn)程建立子進(jìn)程處理所述請(qǐng)求報(bào)文,獲取中間數(shù)據(jù);所述嵌入式設(shè)備繼而對(duì)所述中間數(shù)據(jù)進(jìn)行解釋獲得控制命令;執(zhí)行所述控制命令得到執(zhí)行結(jié)果;將所述執(zhí)行結(jié)果返回給所述HTTPD進(jìn)程,并由HTTPD進(jìn)程將包含有執(zhí)行結(jié)果的響應(yīng)報(bào)文返回給瀏覽器;所述瀏覽器解析響應(yīng)報(bào)文,呈現(xiàn)控制命令的執(zhí)行結(jié)果。
【技術(shù)特征摘要】
1.一種控制嵌入式設(shè)備的方法,該嵌入式設(shè)備運(yùn)行HTTPD進(jìn)程,其特征在于,包括如下步驟:瀏覽器向所述嵌入式設(shè)備發(fā)送包含控制命令的請(qǐng)求報(bào)文;所述嵌入式設(shè)備調(diào)用所述HTTPD進(jìn)程,由所述HTTPD進(jìn)程建立子進(jìn)程處理所述請(qǐng)求報(bào)文,獲取中間數(shù)據(jù);所述嵌入式設(shè)備繼而對(duì)所述中間數(shù)據(jù)進(jìn)行解釋獲得控制命令;執(zhí)行所述控制命令得到執(zhí)行結(jié)果;將所述執(zhí)行結(jié)果返回給所述HTTPD進(jìn)程,并由HTTPD進(jìn)程將包含有執(zhí)行結(jié)果的響應(yīng)報(bào)文返回給瀏覽器;所述瀏覽器解析響應(yīng)報(bào)文,呈現(xiàn)控制命令的執(zhí)行結(jié)果;所述控制命令是shell類型的命令;所述得到控制命令的步驟具體包括:判斷所述中間數(shù)據(jù)是否完整,若是則進(jìn)一步判斷所述中間數(shù)據(jù)的關(guān)鍵字是否匹配,若匹配則得到執(zhí)行命令。2.如權(quán)利要求1所述的控制嵌入式設(shè)備的方法,其特征在于,所述獲取中間數(shù)據(jù)的步驟具體包括:對(duì)接收到的請(qǐng)求報(bào)文一一分解并把分解出來的結(jié)果作為環(huán)境變量;判斷所述環(huán)境變量是否是shell類型,若是則將所述環(huán)境變量作為中間數(shù)據(jù)。3.如權(quán)利要求1所述的控制嵌入式設(shè)備的方法,其特征在于,所述執(zhí)行控制命令得到執(zhí)行結(jié)果的步驟具體為:創(chuàng)建管道和fork()子進(jìn)程,執(zhí)行shell命令,判斷執(zhí)行時(shí)間是否超過5秒,若是,則結(jié)束執(zhí)行命...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:吳炳東,朱余浩,鐘英梅,黃楚恩,
申請(qǐng)(專利權(quán))人:深圳市共進(jìn)電子股份有限公司,
類型:發(fā)明
國(guó)別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。