<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Intemet與GSM的雙網(wǎng)遠程監控系統設計

Intemet與GSM的雙網(wǎng)遠程監控系統設計

作者: 時(shí)間:2009-09-21 來(lái)源:網(wǎng)絡(luò ) 收藏

網(wǎng)絡(luò )接口模塊中的以太網(wǎng)接口芯片為10/100M自適應以太網(wǎng)控制芯片DM9000。GPRS無(wú)線(xiàn)模塊選用法國Wavecom公司的Q2403A,雙波段(900/1800 MHz)工作,支持通用的AT命令。串口采用標準RS232接口。在小擴展板上具有JTAG口轉并口電路的JTAG調試模塊,用并口線(xiàn)將該模塊與主機的并口相連,同時(shí)在主機上運行協(xié)議轉換軟件,就能夠進(jìn)行代碼下載、仿真調試和Flash ROM固化等工作。在本系統目標板的Bootload-er階段,用于Bootloader的調試和燒寫(xiě)。

本文引用地址:http://dyxdggzs.com/article/152344.htm

2 系統的軟件
2.1 系統的嵌入式軟件結構
整個(gè)系統軟件結構從下到上大體可分為3個(gè)層次,如圖3所示:底層的Bootloder、嵌入式Linux內核以及系統應用程序。

Bootloader移植的是廣泛支持PowerPC、MIPS、X86、、XScale等諸多常用系列處理器的u-boot。
嵌入式Linux操作系統的內核源代碼開(kāi)放且精簡(jiǎn)、速度快、可靠性高、功能強大,可以根據需要對內核進(jìn)行定制。嵌入式Linux內核是整個(gè)軟件系統的主體,它不僅為應用程序提供真正的多任務(wù)運行環(huán)境,還提供強大的硬件驅動(dòng)、網(wǎng)絡(luò )和文件系統支持。本系統采用2.6.22版本的嵌入式Linux內核和 Yaffs根文件系統。Web服務(wù)器選用的是適合嵌入式系統的Boa,為了功能的擴展和大數據量的傳輸的存儲,移植了適合嵌入式系統的數據庫 sqlite。
另外,嵌入式Linux具有一套完整的免費交叉編譯環(huán)境,利用S3C2410能實(shí)現低成本的設計并開(kāi)發(fā)出滿(mǎn)足自己需要的嵌入式系統。該系統的開(kāi)發(fā)主要是采用NFS網(wǎng)絡(luò )文件系統的交叉開(kāi)發(fā)模式。用NFS方式建立宿主機和開(kāi)發(fā)板的通信,在開(kāi)發(fā)調試階段利用NFS服務(wù),在內核啟動(dòng)過(guò)程掛接NFS網(wǎng)絡(luò )文件系統,這樣不用頻繁地寫(xiě)入Flash,縮短開(kāi)發(fā)周期。通過(guò)Minicom設置,監視串口工作狀態(tài),接收顯示串口收到的信息。
2.2 軟件的開(kāi)發(fā)
軟件開(kāi)發(fā)包括以下5個(gè)方面:相關(guān)驅動(dòng)的開(kāi)發(fā),串口數據通信程序的開(kāi)發(fā),靜態(tài)頁(yè)面的開(kāi)發(fā),CGI程序的開(kāi)發(fā),無(wú)線(xiàn)網(wǎng)絡(luò )監控收發(fā)短信息程序的開(kāi)發(fā)。
嵌入式Linux設備文件主要分為字符設備、塊設備和網(wǎng)絡(luò )設備3種類(lèi)型。根據課題需要主要針對DM9000網(wǎng)卡驅動(dòng)和Nand Flash的驅動(dòng)進(jìn)行改寫(xiě),以及對LED字符設備的驅動(dòng)開(kāi)發(fā)。然后將其編譯進(jìn)內核,實(shí)現相應設備的驅動(dòng)。
在嵌入式Linux系統中訪(fǎng)問(wèn)串口設備要把串口看作是一個(gè)設備文件,用戶(hù)可以使用文件操作函數實(shí)現對串口的基本操作:如用open()函數打開(kāi)串口,用 read()、write()來(lái)讀/寫(xiě)串口,操作完成后用close()關(guān)閉串口等。對串口的設置包括波特率設置、奇偶校驗位、停止位和模式設置。對串口的設置主要是設置struct termios()結構中各成員的值。在讀串口程序中使用select函數實(shí)現多路復用式串口讀寫(xiě)。串口0和串口1分別與GPRS模塊和氣象儀連接。
用html語(yǔ)言對靜態(tài)頁(yè)面的開(kāi)發(fā),在主界面中采用ht-ml的框架技術(shù),具有以下優(yōu)點(diǎn):頁(yè)面結構清晰;功能列表放在左邊,系統功能一目了然;便于頁(yè)面跳轉;安全性高,不管提交的表單數的方式是GET方式還是POST方式,在IE地址欄都不會(huì )顯示出相關(guān)信息,保證了數據傳遞的安全性。
采用瀏覽器/服務(wù)器(B/S)通信模式,利用動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)CGI,使得監控端能直觀(guān)地對現場(chǎng)進(jìn)行集中監控。一般來(lái)講,CGI程序可以分為3 個(gè)部分:解碼部分,即對從客戶(hù)端獲取的諸多環(huán)境變量進(jìn)行分析,得到支持CGI程序運行的必要信息,解碼屬于CGI編程范疇;功能部分,即利用得到的信息完成CGI程序所要實(shí)現的功能;輸出部分,即將運行的結果返回服務(wù)器,最終返回給客戶(hù)端。
無(wú)線(xiàn)網(wǎng)絡(luò )監控收發(fā)短信息的開(kāi)發(fā),對模塊短信息格式的設定、傳送回報的打開(kāi),以及短消息的讀取和刪除等是通過(guò)AT指令完成的。AT指令都是以 AT開(kāi)始,CR>結束,而AT指令回應的開(kāi)始與結束都是以CR>結束。這是串口編程接收數據與發(fā)送數據標志。如果AT命令的語(yǔ)法有錯誤,GSM就返回ER-ROR。用手機實(shí)現監控的GSM程序流程如圖4所示。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>