目前國外對于大型光電望遠鏡系統所采用的觀測站遠程監控系統已經比較完善,但是國內還沒得到很好的應用。本課題將設計一個觀測站遠程監控系統,把ARM- Linux嵌入式系統應用到該系統中,實現一個在線實時監測、控制于一體的低成本遠程監控系統。隨著嵌入式系統的發展越來越成熟,嵌入式處理技術很好地解決和實現了高低端系統的實時性、多任務性、大數據量處理的要求。嵌入式Internet技術的產生,使得設備可以輕而易舉地接入Internet網絡,實現設備上網和設備的遠程監控。短消息服務(SMS)已成為一種成熟的技術,其業務已為人們廣泛使用和喜愛。由于GSM網絡覆蓋面廣,可靠性高,采用無線網絡遠程監控也有很廣闊的應用前景。
1.1 系統工作原理
基于Internet網絡的在線監控模式,一方面運行在Web服務器上的CGI程序根據客戶端瀏覽器的請求負責接收現場數據,并將數據進行html轉換,發往客戶端瀏覽器;另一方面解析客戶端發來的命令數據,通過CGI程序發往現場設備,實現遠程控制;同時在客戶端對監控頁面進行一定時間間隔的動態刷新,以實現實時的遠程監控。
CGI(Common Gateway Interface)公共網關接口,是一種服務器與瀏覽器信息交換的標準接口。在物理上,CGI是一段程序,它運行在服務器上,提供客戶端HTML頁面接口,完成HTML無法做到的交互功能,CGI建立在客戶機/服務器機制上,為外部擴展應用程序與Web服務器交互提供了一個標準接口。按照CGI標準編寫的外部擴展應用程序可以處理客戶端輸入的工作數據,完成客戶端與服務器的交互操作。
基于GSM網絡的無線監控模式,是采用手機短信息的方式進行數據傳輸的。按照系統設定的命令發送短信息,根據用戶不同的短信息內容,GSM模塊內的SIM 卡將以短信的形式返回現場的環境信息或相關設備開關量的狀態,還可控制現場相關設備的開關量(在此用開發板上的3個LED來模擬現場相關設備的開關量),其框圖如圖1所示。
1.2 系統硬件組成
監控系統控制器的核心CPU選用基于ARM920T內核的16/32位RISC處理器 S3C2410A。該處理器功能強、性價比高、功耗低,提供了一套較完整的通用外圍設備接口,帶MMU(內存管理單元),可支持Linux、μC/OS- II、WindowsCE等多種操作系統的移植。系統硬件結構框圖如圖2所示。
64 MB Nand Flash采用的是K9F1208,用于存儲大量的數據。其特點是高密度、低價格、較快的寫入和擦除速度,較長的復寫壽命。本系統用來存儲嵌入式 Linux鏡像、根文件系統和應用程序;內存為64 MB SDRAM,由2片HY57V561620組成,工作在32位模式下的SDRAM是一種揮發存儲記憶體,不能永久保存數據,在嵌入式系統中用作代碼運行,系統和用戶數據、堆棧等均位于SDRAM存儲器中。
網絡接口模塊中的以太網接口芯片為10/100M自適應以太網控制芯片DM9000。GPRS無線模塊選用法國Wavecom公司設計的Q2403A,雙波段(900/1800 MHz)工作,支持通用的AT命令。串口采用標準RS232接口。在小擴展板上具有JTAG口轉并口電路的JTAG調試模塊,用并口線將該模塊與主機的并口相連,同時在主機上運行協議轉換軟件,就能夠進行代碼下載、仿真調試和Flash ROM固化等工作。在本系統目標板的Bootload-er設計階段,用于Bootloader的調試和燒寫。
2 系統的軟件設計
2.1 系統的嵌入式軟件結構
整個系統軟件結構從下到上大體可分為3個層次,如圖3所示:底層的Bootloder、嵌入式Linux內核以及系統應用程序。
Bootloader移植的是廣泛支持PowerPC、MIPS、X86、ARM、XScale等諸多常用系列處理器的u-boot。
嵌入式Linux操作系統的內核源代碼開放且精簡、速度快、可靠性高、功能強大,可以根據需要對內核進行定制。嵌入式Linux內核是整個軟件系統的主體,它不僅為應用程序提供真正的多任務運行環境,還提供強大的硬件驅動、網絡和文件系統支持。本系統采用2.6.22版本的嵌入式Linux內核和 Yaffs根文件系統。Web服務器選用的是適合嵌入式系統的Boa,為了功能的擴展和大數據量的傳輸的存儲,移植了適合嵌入式系統的數據庫 sqlite。
另外,嵌入式Linux具有一套完整的免費交叉編譯環境,利用S3C2410能實現低成本的設計并開發出滿足自己需要的嵌入式系統。該系統的開發主要是采用NFS網絡文件系統的交叉開發模式。用NFS方式建立宿主機和開發板的通信,在開發調試階段利用NFS服務,在內核啟動過程掛接NFS網絡文件系統,這樣不用頻繁地寫入Flash,縮短開發周期。通過Minicom設置,監視串口工作狀態,接收顯示串口收到的信息。
2.2 軟件的開發
軟件開發包括以下5個方面:相關驅動的開發,串口數據通信程序的開發,靜態頁面的開發,CGI程序的開發,無線GSM網絡監控收發短信息程序的開發。
嵌入式Linux設備文件主要分為字符設備、塊設備和網絡設備3種類型。根據課題需要主要針對DM9000網卡驅動和Nand Flash的驅動進行改寫,以及對LED字符設備的驅動開發。然后將其編譯進內核,實現相應設備的驅動。
在嵌入式Linux系統中訪問串口設備要把串口看作是一個設備文件,用戶可以使用文件操作函數實現對串口的基本操作:如用open()函數打開串口,用 read()、write()來讀/寫串口,操作完成后用close()關閉串口等。對串口的設置包括波特率設置、奇偶校驗位、停止位和模式設置。對串口的設置主要是設置struct termios()結構中各成員的值。在讀串口程序中使用select函數實現多路復用式串口讀寫。串口0和串口1分別與GPRS模塊和氣象儀連接。
用html語言對靜態頁面的開發,在主界面中采用ht-ml的框架技術,具有以下優點:頁面結構清晰;功能列表放在左邊,系統功能一目了然;便于頁面跳轉;安全性高,不管提交的表單數的方式是GET方式還是POST方式,在IE地址欄都不會顯示出相關信息,保證了數據傳遞的安全性。
該遠程監控系統采用瀏覽器/服務器(B/S)通信模式,利用動態網頁技術CGI,使得監控端能直觀地對現場進行集中監控。一般來講,CGI程序可以分為3 個部分:解碼部分,即對從客戶端獲取的諸多環境變量進行分析,得到支持CGI程序運行的必要信息,解碼屬于CGI編程范疇;功能部分,即利用得到的信息完成CGI程序所要實現的功能;輸出部分,即將運行的結果返回服務器,最終返回給客戶端。
無線GSM網絡監控收發短信息的開發,對GSM模塊短信息格式的設定、傳送回報的打開,以及短消息的讀取和刪除等是通過AT指令完成的。AT指令都是以 AT開始,《CR》結束,而AT指令回應的開始與結束都是以《CR》結束。這是串口編程接收數據與發送數據標志。如果AT命令的語法有錯誤,GSM就返回ER-ROR。用手機實現遠程監控的GSM程序流程如圖4所示。
3 系統運行效果
對目標板上電,系統的硬軟件先后啟動。當遠程用戶通過瀏覽器訪問存儲在嵌入式boa Web服務器上的網頁時,首先通過以太網在普通瀏覽器中直接輸入正確的網址http://10.0.22.121即可看到測試主頁,如圖5所示。
要求用戶填寫管理ID,并通過密碼驗證。只有通過驗證的用戶才能進入下面的監控主頁,監控主界面如圖6所示。
該監控主頁面左側顯示有3個模塊:重新登陸頁面;觀測站遠程環境信息檢測系統,能方便實時地查詢現場的環境狀態,如圖7所示;現場開關的遠程監控系統,可以控制3個開關量的開關,如圖8所示,并能查詢它們當前狀態,設置監控頁面每隔15 s動態刷新一次,如圖9所示,可實現實時的遠程監控。系統默認的是當前的實時查詢,提交查詢后,用戶可以得到設備的運行情況。
手機用戶可以根據開發程序中設定好的命令,發送短消息實現遠程監控。例如:發送“m”到GSM模塊的SIM卡中,即可返回現場的環境信息;發送“naw”或“faw”,可打開或關閉LED1并且以短信的形式返回現場3個開關量LED的狀態。
4、結 論
ARM嵌入式系統與Internet網絡技術的融合在大型設備的遠程監控和診斷維護中的應用更加廣泛。本課題把ARM嵌入式系統引入觀測站的遠程監控系統中,通過Internet:及GSM雙網絡實現了遠程對大型光電望遠鏡設備所在環境信息的實時監測以及對現場一些開關量的控制。系統強大的網絡功能不僅能實現跨地域的信息訪問,而且利用網絡低廉的通信費用給基于ARM-Linux嵌入式的大型光電望遠鏡設備的監控診斷以及維護帶來了全新的活力和更高的效益。總之,基于嵌入式的雙網絡遠程監控技術將會廣泛運用,必將大大提高設備使用效能,有利于對大型光電望遠鏡設備的管理和維護。的結構示意圖和引腳排列圖,表1列出了各引腳在SPI模式下的定義和功能描述。主機與SD卡之間通過指令來實現交互。
責任編輯:gt
評論
查看更多