目前國外對于大型光電望遠鏡系統所采用的觀(guān)測站遠程監控系統已經(jīng)比較完善,但是國內還沒(méi)得到很好的應用。本課題將設計一個(gè)觀(guān)測站遠程監控系統,把 ARM- Linux嵌入式系統應用到該系統中,實(shí)現一個(gè)在線(xiàn)實(shí)時(shí)監測、控制于一體的低成本遠程監控系統。隨著(zhù)嵌入式系統的發(fā)展越來(lái)越成熟,嵌入式處理技術(shù)很好地解決和實(shí)現了高低端系統的實(shí)時(shí)性、多任務(wù)性、大數據量處理的要求。嵌入式Internet技術(shù)的產(chǎn)生,使得設備可以輕而易舉地接入Internet網(wǎng)絡(luò ),實(shí)現設備上網(wǎng)和設備的遠程監控。短消息服務(wù)(SMS)已成為一種成熟的技術(shù),其業(yè)務(wù)已為人們廣泛使用和喜愛(ài)。由于GSM網(wǎng)絡(luò )覆蓋面廣,可靠性高,采用無(wú)線(xiàn)網(wǎng)絡(luò )遠程監控也有很廣闊的應用前景。 1.系統工作原理及硬件組成 1.1 系統工作原理 基于Internet網(wǎng)絡(luò )的在線(xiàn)監控模式,一方面運行在Web服務(wù)器上的CGI程序根據客戶(hù)端瀏覽器的請求負責接收現場(chǎng)數據,并將數據進(jìn)行html轉換,發(fā)往客戶(hù)端瀏覽器;另一方面解析客戶(hù)端發(fā)來(lái)的命令數據,通過(guò)CGI程序發(fā)往現場(chǎng)設備,實(shí)現遠程控制;同時(shí)在客戶(hù)端對監控頁(yè)面進(jìn)行一定時(shí)間間隔的動(dòng)態(tài)刷新,以實(shí)現實(shí)時(shí)的遠程監控。 CGI(Common Gateway Interface)公共網(wǎng)關(guān)接口,是一種服務(wù)器與瀏覽器信息交換的標準接口。在物理上,CGI是一段程序,它運行在服務(wù)器上,提供客戶(hù)端HTML頁(yè)面接口,完成HTML無(wú)法做到的交互功能,CGI建立在客戶(hù)機/服務(wù)器機制上,為外部擴展應用程序與Web服務(wù)器交互提供了一個(gè)標準接口。按照CGI標準編寫(xiě)的外部擴展應用程序可以處理客戶(hù)端輸入的工作數據,完成客戶(hù)端與服務(wù)器的交互操作。 基于GSM網(wǎng)絡(luò )的無(wú)線(xiàn)監控模式,是采用手機短信息的方式進(jìn)行數據傳輸的。按照系統設定的命令發(fā)送短信息,根據用戶(hù)不同的短信息內容,GSM模塊內的 SIM 卡將以短信的形式返回現場(chǎng)的環(huán)境信息或相關(guān)設備開(kāi)關(guān)量的狀態(tài),還可控制現場(chǎng)相關(guān)設備的開(kāi)關(guān)量(在此用開(kāi)發(fā)板上的3個(gè)LED來(lái)模擬現場(chǎng)相關(guān)設備的開(kāi)關(guān)量),其框圖如圖1所示。 ![]() 1.2 系統硬件組成 監控系統控制器的核心CPU選用基于A(yíng)RM920T內核的16/32位RISC處理器 S3C2410A。該處理器功能強、性?xún)r(jià)比高、功耗低,提供了一套較完整的通用外圍設備接口,帶MMU(內存管理單元),可支持Linux、μC/OS- II、WindowsCE等多種操作系統的移植。系統硬件結構框圖如圖2所示。 ![]() 64 MB Nand Flash采用的是K9F1208,用于存儲大量的數據。其特點(diǎn)是高密度、低價(jià)格、較快的寫(xiě)入和擦除速度,較長(cháng)的復寫(xiě)壽命。本系統用來(lái)存儲嵌入式 Linux鏡像、根文件系統和應用程序;內存為64 MB SDRAM,由2片HY57V561620組成,工作在32位模式下的SDRAM是一種揮發(fā)存儲記憶體,不能永久保存數據,在嵌入式系統中用作代碼運行,系統和用戶(hù)數據、堆棧等均位于SDRAM存儲器中。 網(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ě)。 2.系統的軟件設計 2.1 系統的嵌入式軟件結構 整個(gè)系統軟件結構從下到上大體可分為3個(gè)層次,如圖3所示:底層的Bootloder、嵌入式Linux內核以及系統應用程序。 ![]() Bootloader移植的是廣泛支持PowerPC、MIPS、X86、ARM、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)GSM網(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)GSM網(wǎng)絡(luò )監控收發(fā)短信息的開(kāi)發(fā),對GSM模塊短信息格式的設定、傳送回報的打開(kāi),以及短消息的讀取和刪除等是通過(guò)AT指令完成的。AT指令都是以 AT開(kāi)始,結束,而AT指令回應的開(kāi)始與結束都是以結束。這是串口編程接收數據與發(fā)送數據標志。如果AT命令的語(yǔ)法有錯誤,GSM就返回ER-ROR。用手機實(shí)現遠程監控的GSM程序流程如圖4所示。 ![]() 3.系統運行效果 對目標板上電,系統的硬軟件先后啟動(dòng)。當遠程用戶(hù)通過(guò)瀏覽器訪(fǎng)問(wèn)存儲在嵌入式boa Web服務(wù)器上的網(wǎng)頁(yè)時(shí),首先通過(guò)以太網(wǎng)在普通瀏覽器中直接輸入正確的網(wǎng)址http://10.0.22.121即可看到測試主頁(yè),如圖5所示。 ![]() 要求用戶(hù)填寫(xiě)管理ID,并通過(guò)密碼驗證。只有通過(guò)驗證的用戶(hù)才能進(jìn)入下面的監控主頁(yè),監控主界面如圖6所示。 ![]() 該監控主頁(yè)面左側顯示有3個(gè)模塊:重新登陸頁(yè)面;觀(guān)測站遠程環(huán)境信息檢測系統,能方便實(shí)時(shí)地查詢(xún)現場(chǎng)的環(huán)境狀態(tài),如圖7所示;現場(chǎng)開(kāi)關(guān)的遠程監控系統,可以控制3個(gè)開(kāi)關(guān)量的開(kāi)關(guān),如圖8所示,并能查詢(xún)它們當前狀態(tài),設置監控頁(yè)面每隔15 s動(dòng)態(tài)刷新一次,如圖9所示,可實(shí)現實(shí)時(shí)的遠程監控。系統默認的是當前的實(shí)時(shí)查詢(xún),提交查詢(xún)后,用戶(hù)可以得到設備的運行情況。 手機用戶(hù)可以根據開(kāi)發(fā)程序中設定好的命令,發(fā)送短消息實(shí)現遠程監控。例如:發(fā)送“m”到GSM模塊的SIM卡中,即可返回現場(chǎng)的環(huán)境信息;發(fā)送“naw”或“faw”,可打開(kāi)或關(guān)閉LED1并且以短信的形式返回現場(chǎng)3個(gè)開(kāi)關(guān)量LED的狀態(tài)。 4.結論 ARM嵌入式系統與Internet網(wǎng)絡(luò )技術(shù)的融合在大型設備的遠程監控和診斷維護中的應用更加廣泛。本課題把ARM嵌入式系統引入觀(guān)測站的遠程監控系統中,通過(guò)Internet:及GSM雙網(wǎng)絡(luò )實(shí)現了遠程對大型光電望遠鏡設備所在環(huán)境信息的實(shí)時(shí)監測以及對現場(chǎng)一些開(kāi)關(guān)量的控制。系統強大的網(wǎng)絡(luò )功能不僅能實(shí)現跨地域的信息訪(fǎng)問(wèn),而且利用網(wǎng)絡(luò )低廉的通信費用給基于A(yíng)RM-Linux嵌入式的大型光電望遠鏡設備的監控診斷以及維護帶來(lái)了全新的活力和更高的效益?傊,基于嵌入式的雙網(wǎng)絡(luò )遠程監控技術(shù)將會(huì )廣泛運用,必將大大提高設備使用效能,有利于對大型光電望遠鏡設備的管理和維護。的結構示意圖和引腳排列圖,表1列出了各引腳在SPI模式下的定義和功能描述。主機與SD卡之間通過(guò)指令來(lái)實(shí)現交互。 參考文獻 1. 陳赟,趙東風(fēng),丁洪偉.嵌入式無(wú)線(xiàn)公交查詢(xún)系統的設計與研究[J].計算機應用研究,2005(7):185-186. 2. Samsung Electronics.S3C2410X 32-Bit RISC Microprocessor User's Manual,2003. 3. 李俊.嵌入式linux設備驅動(dòng)開(kāi)發(fā)詳解[M].北京:人民郵電出版社,2008:366-368. 4. 孫天澤,袁文菊.嵌入式設計及Linux 驅動(dòng)開(kāi)發(fā)指南--基于A(yíng)RM9 處理器[M].北京:電子工業(yè)出版社,2007:7-8. 5. 董煒,楊士元.嵌入式Internet與家庭網(wǎng)關(guān)技術(shù)[J].計算機應用研究,2005(6):223-224. 6. 華清遠見(jiàn)培訓中心.嵌入式Linux C語(yǔ)言應用程序設計[M].北京:人民郵電出版社,2007:256-268. 7. 韓冰,李芬華.GPRS 技術(shù)在數據采集與監控系統中的應用[J].電子技術(shù),2003(8):27-29. 8. 鄭文剛,趙春江,王紀華.手機短信(SMS) 在環(huán)境監測中的應用[J].計算機工程與科學(xué),2004,26(11):101-102. 作者:畢國玲(中國科學(xué)院長(cháng)春光學(xué)精密機械與物理研究所;中國科學(xué)院研究生院) 王鳴浩,陳濤,王建立,陰玉梅(中國科學(xué)院長(cháng)春光學(xué)精密機械與物理研究所) 來(lái)源:《單片機與嵌入式系統應用》 2009(8) |