新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Intemet與GSM的雙網(wǎng)遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)

Intemet與GSM的雙網(wǎng)遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)

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

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

本文引用地址:http://m.butianyuan.cn/article/152344.htm

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

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



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉