• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ARM9260的嵌入式無線Web設(shè)計(jì)與實(shí)現(xiàn)

      2013-01-31 05:22:56許春杰
      電視技術(shù) 2013年13期
      關(guān)鍵詞:命令網(wǎng)頁嵌入式

      許春杰,杜 仲,2

      (1.武漢郵電科學(xué)研究院,湖北 武漢430074;2.光纖通信技術(shù)和網(wǎng)絡(luò)國家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢430074)

      Internet和嵌入式技術(shù)在過去的十幾年里飛速發(fā)展,影響深遠(yuǎn),二者結(jié)合的產(chǎn)物——嵌入式Web服務(wù)器應(yīng)運(yùn)而生,在最近幾年的時(shí)間中影響逐步擴(kuò)大,發(fā)展勢頭良好,在實(shí)際生產(chǎn)中有廣泛的應(yīng)用。本文研究的嵌入式無線Web將無線技術(shù)融入其中,為管理、監(jiān)控嵌入式產(chǎn)品提供了一種基于無線IP的方法。在嵌入式終端中,可以通過嵌入式Web實(shí)現(xiàn)對(duì)設(shè)備的遠(yuǎn)程連網(wǎng)控制,無線技術(shù)將使遠(yuǎn)程控制變得更為靈活。通過本設(shè)計(jì)能夠?qū)崿F(xiàn):1)在互聯(lián)網(wǎng)的任意地點(diǎn)查看或控制設(shè)備的運(yùn)行狀態(tài);2)讓設(shè)備主動(dòng)上報(bào)自己的運(yùn)行狀態(tài)。

      1 功能結(jié)構(gòu)

      1.1 Linux操作系統(tǒng)

      Linux操作系統(tǒng)在嵌入式設(shè)備開發(fā)中被廣泛使用,它擁有穩(wěn)定的性能和成熟的API。節(jié)省成本的特點(diǎn)也備受青睞,讀者可以從“http://ww.kernel.org/Pub/linux/kernel/v2.6/”下載Linux 2.6.30版本內(nèi)核。

      1.2 GoAhead服務(wù)器

      現(xiàn)在的嵌入式設(shè)備由于功能越來越復(fù)雜以及智能化的需求,大多采用了嵌入式的操作系統(tǒng)作為其系統(tǒng)開發(fā)的平臺(tái),WebServer則作為其操作系統(tǒng)中的一個(gè)任務(wù)存在。本文所采用的WebServer是目前在市場中應(yīng)用較為廣泛的GoAhead WebServer。它支持ASP編程,Javascript,SSL加密、驗(yàn)證,標(biāo)準(zhǔn)的CGI、底層CGI處理GoFroms過程,廣泛使用在基于WinCE和Linux的嵌入式產(chǎn)品開發(fā)中。每秒可處理超過50個(gè)請(qǐng)求的響應(yīng)速度,可以很好地處理用戶對(duì)于嵌入式Web的需求。支持HTTP協(xié)議,支持多種操作系統(tǒng),包括eCos,QNX,LynxOS,linux,VxWorks和WinCE等。

      1.3 無線Modem

      無線Modem的工作模式有兩種:一種是與人們生活很貼近的GSM通信模式,另一種是TCP/IP通信模式?,F(xiàn)有的Modem大多內(nèi)置TCP/IP協(xié)議棧,但本文使用的是外置的協(xié)議?!狶inux內(nèi)核支持的TCP/IP協(xié)議棧。TCP/IP通信方式是基于IP網(wǎng)絡(luò)通信的方式,無線Modem基于IP網(wǎng)絡(luò)通信之前,首先要進(jìn)行PPP拔號(hào)過程,進(jìn)行PPP拔號(hào)過程時(shí)需要后臺(tái)計(jì)算機(jī)(也可能是其他設(shè)備)軟硬件資源支持。需依附于計(jì)算機(jī)操作系統(tǒng)(或者具有PPP拔號(hào)功能設(shè)備)之上才能完成PPP拔號(hào)過程,獲取到無線網(wǎng)絡(luò)IP地址進(jìn)行通信。無線Modem的選型主要考慮參數(shù)包括:1)支持的網(wǎng)絡(luò)模式;2)支持的業(yè)務(wù)功能;3)AT命令,AT命令不同,程序中做的處理也不同;4)支持的操作系統(tǒng)類型。

      不同的無線Modem生產(chǎn)廠家可能有自己定義的AT命令,但主要的AT命令相同,具體AT命令可以參看Modem的AT命令手冊。

      1.4 ARM9260系統(tǒng)平臺(tái)

      本設(shè)計(jì)選用的是搭載Linux操作系統(tǒng)的ARM9260系統(tǒng)平臺(tái),使用ARM926EJ-S處理器,ARM926EJ-S處理器是通用微處理器ARM9家族中的一員。ARM926EJ-S屬于5TEJ版ARM架構(gòu),針對(duì)的是多任務(wù)應(yīng)用,包括全儲(chǔ)存器管理,高性能、小核心尺寸和低功耗都是其重要的特點(diǎn)。圖1是在ARM9260平臺(tái)上基于Linux操作系統(tǒng)開發(fā)的應(yīng)用軟件功能結(jié)構(gòu)圖。

      圖1 功能結(jié)構(gòu)圖

      2 模塊功能描述

      嵌入式無線Web包含嵌入式WebServer、無線Modem控制以及硬件控制數(shù)據(jù)控制3個(gè)組成部分。系統(tǒng)上電后,依次啟動(dòng)Modem控制模塊、Webserver、數(shù)據(jù)監(jiān)控模塊,這3個(gè)模塊以3個(gè)進(jìn)程的形式存在于Linux操作系統(tǒng)中,3個(gè)進(jìn)程間通信需要依據(jù)一定的協(xié)議,這個(gè)協(xié)議可以依據(jù)功能需求來定制。

      2.1 Modem控制模塊

      Modem控制模塊主要完成的功能是對(duì)Modem工作狀態(tài)進(jìn)行控制,如在上電時(shí)進(jìn)行Modem探測,將探測到的狀態(tài)刷新到內(nèi)存中,以供運(yùn)行時(shí)查詢;在需要發(fā)送短信時(shí)填寫短信內(nèi)容以及要發(fā)往的電話號(hào)碼。協(xié)議接口3(由數(shù)據(jù)監(jiān)控模塊)發(fā)來的協(xié)議數(shù)據(jù)通常用于觸發(fā)Modem控制模塊工作方式變換。

      2.2 WebServer

      WebServer由GoAhead服務(wù)器實(shí)現(xiàn),提供Web服務(wù)器功能,在設(shè)備的文件系統(tǒng)中存放設(shè)計(jì)好的網(wǎng)頁文件,響應(yīng)來自瀏覽器的HTTP請(qǐng)求,通過輸入設(shè)備的聯(lián)網(wǎng)IP實(shí)現(xiàn)對(duì)網(wǎng)頁的訪問,隨時(shí)隨地管理設(shè)備。關(guān)于網(wǎng)頁過程的設(shè)計(jì)方法會(huì)在下文中介紹。WebServer通過協(xié)議接口1與Modem控制模塊通信,通過協(xié)議接口2與數(shù)據(jù)監(jiān)控模塊通信。當(dāng)用戶請(qǐng)求的網(wǎng)頁中包含GoAhead Asp及GoForm過程時(shí),這些過程會(huì)關(guān)聯(lián)到事先定義的處理函數(shù)中,有這些函數(shù)通過調(diào)用協(xié)議接口2查詢或設(shè)置數(shù)據(jù)。同時(shí)將包含處理結(jié)果的網(wǎng)頁通過HTTP協(xié)議返回給瀏覽器。

      2.3 數(shù)據(jù)監(jiān)控模塊

      完成的功能是:輪詢數(shù)據(jù)控制模塊,通過通信接口采集到新的數(shù)據(jù)來更新本地內(nèi)存中的數(shù)據(jù),提供給Web-Server查詢;根據(jù)需求設(shè)置數(shù)據(jù)到數(shù)據(jù)控制模塊中,當(dāng)WebServer下發(fā)了設(shè)置請(qǐng)求時(shí),數(shù)據(jù)監(jiān)控模塊要解析設(shè)置命令并將數(shù)據(jù)設(shè)置到系統(tǒng)狀態(tài)或外部模塊中;寫文件保存需要斷電保存的數(shù)據(jù)及信息;監(jiān)控告警狀態(tài),在告警處理中發(fā)出Modem控制信號(hào),例如,采集到的“溫度”高出設(shè)定的門限,數(shù)據(jù)監(jiān)控模塊此時(shí)將變被動(dòng)為主動(dòng),通過協(xié)議接口3告知Modem控制模塊發(fā)出告警短信,用戶收到提醒就能夠及時(shí)排查設(shè)備故障。其流程設(shè)計(jì)如圖2所示。

      圖2 數(shù)據(jù)監(jiān)控模塊流程圖

      3 功能實(shí)現(xiàn)

      3.1 PPP撥號(hào)

      PPP撥號(hào)成功會(huì)生成一個(gè)虛擬的網(wǎng)卡,它包含IP地址的信息,這個(gè)地址就是WebSever的網(wǎng)絡(luò)地址,有了它,設(shè)備才能與外界發(fā)生聯(lián)系。Linux下PPP撥號(hào)包含如下步驟:

      1)配置內(nèi)核,啟動(dòng)PPP撥號(hào)服務(wù);

      2)下載撥號(hào)源碼,執(zhí)行配置命令;

      3)將與Modem配套的撥號(hào)腳本放至對(duì)應(yīng)目錄;

      4)在應(yīng)用程序中啟動(dòng)撥號(hào)命令;

      5)撥號(hào)完成。

      撥號(hào)成功后執(zhí)行#ifconfig命令,可以看見新建了一個(gè)ppp0的網(wǎng)卡,上面的IP地址就是運(yùn)營商劃分給用戶的公網(wǎng)IP地址,表明撥號(hào)成功。在設(shè)備Web建立完成以后,就可以通過互聯(lián)網(wǎng)訪問設(shè)備了。注意:Modem要插放有效的SIM卡。圖3為用撥號(hào)成功后的網(wǎng)卡及路由信息打印,由圖可知,PPP撥號(hào)生成了與Internet聯(lián)系的信息,ppp0是由Modem外部協(xié)議棧生成的虛擬網(wǎng)卡,119.103.110.163為公網(wǎng)IP,通過它,可以訪問設(shè)備的Web,這樣Internet連接的通道就打通了。

      圖3 ppp撥號(hào)成功內(nèi)核打印信息(截圖)

      3.2 AT命令的組織及回應(yīng)

      AT命令的組織及回應(yīng)。當(dāng)設(shè)備向Modem發(fā)出AT命令后,Modem會(huì)對(duì)AT命令作出解析并給出回應(yīng)。如發(fā)“AT回車”探測Modem,若Modem在位則會(huì)回應(yīng)“OK”。在收發(fā)短信前需要探測短信功能是否正常,以及在收發(fā)GPRS數(shù)據(jù)前要事先確認(rèn)GPRS功能是否正常。也可以制作AT命令腳本,來開啟Modem的某些功能,如登錄GPRS或通信方式切換等。發(fā)短信一般包含兩個(gè)步驟,先發(fā)號(hào)碼回車等待“>”出現(xiàn),然后發(fā)送短信內(nèi)容。例如要發(fā)送的緩存是sendbuf,電話號(hào)碼是“136***”,modem_send執(zhí)行將發(fā)送緩存的內(nèi)容發(fā)送至Modem,執(zhí)行以下過程:

      Sendbuf的內(nèi)容為:“AT+CMGS=136*** ”;

      modem_send(sendbuf,strlen(sendbuf))。

      插有SIM卡的Modem則會(huì)回復(fù)“>”,此時(shí)再通過modem_send發(fā)送短信內(nèi)容,Modem則會(huì)將此次的內(nèi)容以短信形式發(fā)送到手機(jī)號(hào)為“136***”的手機(jī)上。

      本文涉及常用的AT命令有:

      AT+CMGS發(fā)送短信

      AT^IPIINT 初始化登陸命令

      AT^IPOPEN連接到指定IP及端口

      3.3 GoAhead ASP及GoForm過程

      Web服務(wù)器入口程序首先通過initWeb()函數(shù)實(shí)現(xiàn)一系列的初始化,包括訪問口令、服務(wù)器端口號(hào)、默認(rèn)頁面設(shè)置等。

      GoAhead Asp過程:ASP是一種服務(wù)器端腳本編寫環(huán)境,可以用來創(chuàng)建和運(yùn)行動(dòng)態(tài)網(wǎng)頁或Web應(yīng)用程序。ASP網(wǎng)頁可以包含HTML標(biāo)記、普通文本、腳本命令以及COM組件等。

      ASP文件是以“.asp”為擴(kuò)展名,在傳送到瀏覽器之前用嵌入式腳本插入動(dòng)態(tài)內(nèi)容,GoAhead Web Server支持一個(gè)運(yùn)行時(shí)選擇腳本引擎的開放式腳本結(jié)構(gòu)。要在ASP頁面中創(chuàng)建ASP腳本使用“<%---%>”定界符。例如:<h1> <% webpage_write("Hello World");%></h1>,webpage_write()的方法在底層實(shí)現(xiàn)。

      GoAhead GoForm過程:在嵌入式系統(tǒng)中,有時(shí)用戶需要通過瀏覽器向嵌入式設(shè)備查詢或發(fā)送信息。這就需要使用表單將用戶輸入的信息傳遞給嵌入式設(shè)備的相應(yīng)操作模塊。

      下面介紹如何在Goahead中調(diào)用goform過程,Go-Form過程則主要用來處理用戶指令以實(shí)現(xiàn)對(duì)設(shè)備的配置和管理等。GoForm過程網(wǎng)頁存在形式如下。formTest的方法在底層實(shí)現(xiàn),其作用是將頁面的表單數(shù)據(jù)帶入到內(nèi)存中處理,可以將表單的數(shù)據(jù)轉(zhuǎn)化為內(nèi)存控制信息。

      <form action=/goform/formTest method=POST>

      ……

      </form>

      GoAhead中常用API有:websGetVar函數(shù),可以用于獲取變量及其值;websWrite用于回填網(wǎng)頁內(nèi)容。圖4為一個(gè)簡易的監(jiān)控界面。

      圖4 無線Web界面(截圖)

      4 小結(jié)

      遠(yuǎn)程監(jiān)控廣泛應(yīng)用在工業(yè)生產(chǎn)中,本文提出并設(shè)計(jì)的無線連網(wǎng)監(jiān)控方案結(jié)合了當(dāng)前互聯(lián)網(wǎng)快速發(fā)展的趨勢,可以增加設(shè)備的可移動(dòng)性。在移動(dòng)終端快速發(fā)展的趨勢中,能夠使嵌入式Web控制擁有無線接入的優(yōu)勢,勢必會(huì)在環(huán)境復(fù)雜多變的工業(yè)控制中取得其一席之地。

      [1]郭欣.構(gòu)建高性能Web站點(diǎn)[M].修訂版.北京:電子工業(yè)出版社,2012.

      [2]單維鋒,白靈.ASP.NET Web應(yīng)用程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2010.

      [3]韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊[M].北京:人民郵電出版社,2008.

      [4](印)拉克什曼.Linux Shell腳本攻略[M].門佳,譯.北京:人民郵電出版社,2011.

      猜你喜歡
      命令網(wǎng)頁嵌入式
      只聽主人的命令
      基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計(jì)
      電子制作(2018年10期)2018-08-04 03:24:38
      移防命令下達(dá)后
      搭建基于Qt的嵌入式開發(fā)平臺(tái)
      基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
      電子制作(2017年2期)2017-05-17 03:54:56
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      這是人民的命令
      網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
      電子測試(2015年18期)2016-01-14 01:22:58
      10個(gè)必知的網(wǎng)頁設(shè)計(jì)術(shù)語
      Altera加入嵌入式視覺聯(lián)盟
      宜宾县| 隆昌县| 镇宁| 东山县| 资溪县| 邛崃市| 株洲县| 兴隆县| 佛冈县| 鲁山县| 四平市| 瑞金市| 南丹县| 抚州市| 延安市| 双流县| 仲巴县| 剑河县| 甘谷县| 鄂温| 河津市| 册亨县| 阳高县| 神木县| 海宁市| 泾源县| 密云县| 重庆市| 萍乡市| 囊谦县| 西青区| 宣威市| 东乡| 涡阳县| 区。| 秀山| 永顺县| 宝丰县| 惠东县| 固原市| 惠水县|