《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于GR47和MCU的無線嵌入式Web Server
基于GR47和MCU的無線嵌入式Web Server
中電網(wǎng)
李煥英 董阿麗
摘要: GPRS是在現(xiàn)有的GSM(全球移動(dòng)通信系統(tǒng))網(wǎng)絡(luò)的基礎(chǔ)上增加一些硬件設(shè)備和進(jìn)行軟件升級而形成的一個(gè)新的網(wǎng)絡(luò)邏輯實(shí)體,,它是GSM Phase2+規(guī)范實(shí)現(xiàn)的內(nèi)容之一,,是基于GSM的移動(dòng)分組數(shù)據(jù)業(yè)務(wù),支持IP協(xié)議和X.25協(xié)議,。具有永遠(yuǎn)在線,、快速登錄、按量計(jì)費(fèi),、切換自如,、高速傳送、安全可靠等優(yōu)點(diǎn),。每一個(gè)移動(dòng)臺登錄GPRS網(wǎng)絡(luò)后均會(huì)被GPRS服務(wù)器分配一個(gè)IP地址,。通過此IP地址和對應(yīng)端口即可訪問位于GPRS網(wǎng)絡(luò)上的嵌入式Web Server。
Abstract:
Key words :

引言

嵌入式Web Server具有靈活性,、前沿性和解決問題的有效性等優(yōu)點(diǎn),,在網(wǎng)絡(luò)智能設(shè)備中發(fā)揮著越來越重要的作用。本文依托GPRS(通用分組無線電業(yè)務(wù))網(wǎng)絡(luò)來實(shí)現(xiàn)嵌入式Web Server的方法,,實(shí)現(xiàn)了遠(yuǎn)程無線接人嵌入式Web Server,。

嵌入式Web Server是一個(gè)簡單易用的網(wǎng)絡(luò)服務(wù)器,用戶可通過IE訪問服務(wù)器的IP看到Web頁面,。嵌入式Web Server的原理是把Web Server作為一個(gè)數(shù)據(jù)載體,,Web Server監(jiān)聽用戶端的服務(wù)請求,根據(jù)用戶請求類型提供相應(yīng)的服務(wù),,用戶端使用Web瀏覽器和Web服務(wù)器進(jìn)行通信,。Web服務(wù)器在接收到用戶端請求后,處理用戶請求并返回需要的數(shù)據(jù),,一個(gè)完整的HTYP服務(wù)一般由以下幾個(gè)階段組成:客戶和服務(wù)器建立TCP連接,;客戶向服務(wù)器發(fā)送請求;如果請求被接收,,則服務(wù)器發(fā)送應(yīng)答,,在應(yīng)答中包含狀態(tài)碼和所要的文件;客戶和服務(wù)器關(guān)閉連接,。嵌入式Web Serv-er可將本地的信息和數(shù)據(jù)通過網(wǎng)絡(luò)傳遞給遠(yuǎn)端發(fā)出請求的客戶,,這對遠(yuǎn)程監(jiān)控的實(shí)現(xiàn)很有意義。

GPRS是在現(xiàn)有的GSM(全球移動(dòng)通信系統(tǒng))網(wǎng)絡(luò)的基礎(chǔ)上增加一些硬件設(shè)備和進(jìn)行軟件升級而形成的一個(gè)新的網(wǎng)絡(luò)邏輯實(shí)體,,它是GSM Phase2+規(guī)范實(shí)現(xiàn)的內(nèi)容之一,,是基于GSM的移動(dòng)分組數(shù)據(jù)業(yè)務(wù),,支持IP協(xié)議和X.25協(xié)議。具有永遠(yuǎn)在線,、快速登錄,、按量計(jì)費(fèi)、切換自如,、高速傳送,、安全可靠等優(yōu)點(diǎn)。每一個(gè)移動(dòng)臺登錄GPRS網(wǎng)絡(luò)后均會(huì)被GPRS服務(wù)器分配一個(gè)IP地址,。通過此IP地址和對應(yīng)端口即可訪問位于GPRS網(wǎng)絡(luò)上的嵌入式Web Server,。

無線嵌入式Web Server在不需布線的情況下可以實(shí)現(xiàn)無線互聯(lián),并兼有Web的友好界面,,實(shí)現(xiàn)GPRS在HTTP應(yīng)用層上通信,方便二次開發(fā)和平臺移植,。

1無線嵌人式Web Server

目前中國移動(dòng)GPRS網(wǎng)絡(luò)路由分配給移動(dòng)臺的是內(nèi)部IP,,所以只能實(shí)現(xiàn)路由內(nèi)部局域網(wǎng)的訪問,即由一臺通過GPRS Modem上網(wǎng)的MCU來訪問嵌入式Web Server,,系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1,。

1.1 GR47 GPRS模塊

Sony Ericsson公司提供的具有內(nèi)置YCP/IP協(xié)議棧的GR47模塊,其功能強(qiáng)大,,使用方便,,性能穩(wěn)定,具有良好的技術(shù)服務(wù)支持,,性價(jià)比高,,向用戶提供了標(biāo)準(zhǔn)的AT命令接口和豐富的AT指令集,用戶可以很方便地將其集成到各種數(shù)據(jù)終端之中,。它的優(yōu)勢是始終保持在線連接,、數(shù)據(jù)傳輸快速穩(wěn)定,具備快速GPRS技術(shù),,根據(jù)實(shí)際測試,,掉線概率非常小。

使用AT命令操作GR47建立和斷開一個(gè)TCP/IP會(huì)話的步驟如下:

a)定義一個(gè)PDP上下文:

AT+CGDCONT=1,,"IP",,"CMNET"=>OK

b)激活已定義的PDP上下文:

AT*E2IPA=1.1=>OK

c)查詢模塊和移動(dòng)GPRS服務(wù)器的IP地址:

AT*E2IPI=0=>*E2IPI:10.165.192.25

AT*E2IPI=1=>*E2IPI:211.137.64.163

d)監(jiān)聽80端口,模塊處于在線數(shù)據(jù)狀態(tài)AT*E2IPL1=80,,1,,50,1

e)設(shè)置DTR低電平(TTL)并延遲一段時(shí)間,。置高=>OK,,此時(shí)模塊將返回在線命令狀態(tài)。

f)返回在線數(shù)據(jù)狀態(tài):

ATO=>OK

g)將DTR線置低,延遲再置高,,重新返回到在線命令狀態(tài),。

h)返回在線命令狀態(tài)后斷開IP連接:

AT*E2IPA=0.1=>OK

AT*E2IPC=>OK

GR47登錄GPRS網(wǎng)絡(luò)后,使用AT*E2IPL命令設(shè)置監(jiān)聽80端口,,等待客戶端HTTP連接,。

 

1.2嵌入式Web Server的實(shí)現(xiàn)

GPRS模塊GR47集成了TCP/IP協(xié)議,并且可以通過監(jiān)聽指令得到80端口數(shù)據(jù),,所以只需在MCU中軟件實(shí)現(xiàn)HTTP協(xié)議,,解析HTTP數(shù)據(jù)后,即可實(shí)現(xiàn)HTTP連接,。MCU采用TI公司的MSP430F149單片機(jī),,它是16位超低功耗、高性能的混合信號處理器,,具有處理能力強(qiáng),、運(yùn)行速度快、資源豐富,、開發(fā)方便等優(yōu)點(diǎn),,具有很高的性價(jià)比。

硬件結(jié)構(gòu)框圖見圖2,,F(xiàn)lash存儲器用來存儲頁面和圖片等固化資源,,MCU與GR47通過串口通信。

1.3客戶端訪問Web Server的實(shí)現(xiàn)

目前,,中國移動(dòng)GPRS對移動(dòng)終端分配的是動(dòng)態(tài)局域網(wǎng)IP,,以武漢市為例,GR47通過AT指令查詢模塊和移動(dòng)GPRS服務(wù)器的IP地址為:

AT*E2IPI=0=>*E2IPI:10.165.192.25

AT*E2IPI=1=>*E2IPI:211.137.64.163

模塊獲得IP后,,需通過其他方式來通知客戶端(PC或可以連接GPRS的移動(dòng)設(shè)備),,以短信或向一臺固定IP的PC機(jī)通知客戶端模塊獲得的IP,客戶端可以通過此IP連接遠(yuǎn)端的Web Server,。

 

2 HTTP協(xié)議解析和軟件設(shè)計(jì)

2.1 HTTP協(xié)議

HTTP(超文本傳輸協(xié)議)是WWW上的協(xié)議,。HTTP協(xié)議使Web服務(wù)器和瀏覽器可以通過Web交換數(shù)據(jù)。它是一種請求,、響應(yīng)協(xié)議,,即服務(wù)器等待并響應(yīng)客戶方請求。當(dāng)用戶通過其瀏覽器訪問一個(gè)頁面時(shí),,瀏覽器發(fā)送一個(gè)HTTP請求給HTTP服務(wù)器,,服務(wù)器會(huì)響應(yīng)這個(gè)請求,將指定的網(wǎng)頁傳送回去,,用戶就可以瀏覽網(wǎng)頁,。

HTTP協(xié)議不維護(hù)與客戶方的連接,,它使用可靠的TCP連接,通常采用TCP80端口,。HTTP非常簡單,,請求和應(yīng)答是1行或多行文本,它的結(jié)束標(biāo)志是一個(gè)換行符,。如果請求成功,,信息就沿該連接發(fā)送,直至傳送完成斷開連接,。

客戶/服務(wù)器傳輸過程可分為4個(gè)基本步驟:瀏覽器與服務(wù)器建立連接,;瀏覽器向服務(wù)器請求文檔;服務(wù)器響應(yīng)瀏覽器請求,;斷開連接,。

 

2.1.1 HTTP報(bào)文結(jié)構(gòu)

HTTP報(bào)文包括請求報(bào)文和響應(yīng)報(bào)文兩種報(bào)文類型,其中,,請求報(bào)文由客戶端如瀏覽器向Web服務(wù)器發(fā)送,,用于請求服務(wù)器提供某個(gè)類型的服務(wù);而響應(yīng)報(bào)文則是在服務(wù)器接到請求報(bào)文之后,,返回給客戶端的消息,表明服務(wù)器所作出的響應(yīng),。

1)請求報(bào)文格式

請求報(bào)文一般包括請求行,、首部和實(shí)體(有時(shí)包含)3部分。其中,,請求行包括請求方法,、URL(統(tǒng)一資源定位地址)和HTTP協(xié)議版本號3部分,其報(bào)文格式如圖3所示,。在請求行中,,請求方法是客戶端向服務(wù)器端發(fā)出的命令,URL是所請求網(wǎng)頁資源的地址,,HTTP版本是指報(bào)文所使用的HTTP協(xié)議版本號,。常用的請求方法有Get和Post兩種:Get方法通常只是用于請求服務(wù)器上的URL所指定的資源;Post方法用于客戶端向服務(wù)器端提供信息,,所提供的信息位于請求報(bào)文的實(shí)體部分,。

2)響應(yīng)報(bào)文的格式

響應(yīng)報(bào)文一般包括狀態(tài)行、首部和實(shí)體(有時(shí)包含)3部分,,其報(bào)文格式如圖4所示,。在響應(yīng)報(bào)文中,狀態(tài)行定義了響應(yīng)報(bào)文的狀態(tài),,并由響應(yīng)狀態(tài)碼和響應(yīng)狀態(tài)碼說明字段反應(yīng),。其中,,200系列的代碼用于指示成功的請求。

HTTP報(bào)文中的首部由多個(gè)首部行組成,,用以在客戶端與服務(wù)器之間交換一些附加的信息,。每個(gè)首部行由首部名、冒號,、空格和首部值組成,,并以回車換行符(\r\n)結(jié)尾。首部與實(shí)體之間有一空行進(jìn)行間隔,。

2.1.2 HTTP協(xié)議解析

HTTP協(xié)議解析過程分為接收和發(fā)送兩部分,。HTTP協(xié)議解析流程圖如圖5所示。

MCU接收HTTP方法并設(shè)定方法標(biāo)志位,,計(jì)算URL,,然后判斷HTTP方法。若HTTP方法為Get,,則判斷是否存在對應(yīng)的網(wǎng)頁,,如果存在,則確定接收HTTP方法并設(shè)定方法標(biāo)志,,然后返回,;如果不存在對應(yīng)的網(wǎng)頁,直接返回,。若HTTP方法為Post,,則接收并處理控制數(shù)據(jù),然后返回,。

2.2總體軟件

軟件采用C430編寫,,其工作過程為:上電開始;MCU初始化,;判斷GR47是否在線,,若不在線繼續(xù)等待,若在線就發(fā)送模塊IP,,GR47處于監(jiān)聽80端口狀態(tài),;判斷HTTP是否接入,若未接人GR47,,繼續(xù)處于監(jiān)聽80端口狀態(tài),,若接入,MCU對HTTP協(xié)議解析,;GR47發(fā)送數(shù)據(jù),,數(shù)據(jù)發(fā)送完畢,HTTP連接斷開,。軟件總體流程圖如圖6所示,。

3結(jié)束語

隨著IPV6的實(shí)施,,Internet上每個(gè)移動(dòng)臺和PC將分配到一個(gè)唯一的IP,對通過GPRS,、CDMA(碼分多址)或其他無線網(wǎng)絡(luò)技術(shù)登錄的嵌入式Web Server,,Internet上任一移動(dòng)臺或PC都能對其進(jìn)行訪問。無線嵌入式Web Server具有廣闊的應(yīng)用和發(fā)展空間,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。