国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式網(wǎng)關(guān)在分布式時(shí)域激電接收系統(tǒng)中的應(yīng)用

2017-11-24 11:53
關(guān)鍵詞:瀏覽器網(wǎng)關(guān)接收機(jī)

,

(1.中國(guó)地質(zhì)大學(xué) 信息工程學(xué)院,北京 100083;2.中國(guó)地質(zhì)大學(xué) 地球物理與信息技術(shù)學(xué)院)

嵌入式網(wǎng)關(guān)在分布式時(shí)域激電接收系統(tǒng)中的應(yīng)用

焦妍,曾衛(wèi)華2

(1.中國(guó)地質(zhì)大學(xué) 信息工程學(xué)院,北京 100083;2.中國(guó)地質(zhì)大學(xué) 地球物理與信息技術(shù)學(xué)院)

為了滿足分布式時(shí)域激電接收系統(tǒng)狀態(tài)監(jiān)測(cè)和控制的需求,研制了一種基于嵌入式網(wǎng)關(guān)的監(jiān)控接口。該接口以ARM Linux為操作系統(tǒng)平臺(tái),采用Client/Server結(jié)構(gòu),綜合運(yùn)用嵌入式Web服務(wù)器BOA與CGI、AJAX等網(wǎng)頁(yè)開發(fā)技術(shù),實(shí)現(xiàn)了接收機(jī)的控制和數(shù)據(jù)質(zhì)量監(jiān)測(cè)功能??蛻舳酥恍枰獮g覽器,無需配備特定硬件平臺(tái)和App,即可實(shí)現(xiàn)儀器的監(jiān)控功能。測(cè)試結(jié)果表明,這種基于嵌入式網(wǎng)關(guān)的監(jiān)控接口具有實(shí)用性。

嵌入式網(wǎng)關(guān);監(jiān)控接口;BOA服務(wù)器;AJAX;分布式接收系統(tǒng)

引 言

時(shí)域激發(fā)極化法是電法勘探的重要分支之一[1],發(fā)送機(jī)和接收機(jī)是實(shí)現(xiàn)該方法的主要裝備。國(guó)外,加拿大GDD公司研制生產(chǎn)的電法儀代表了時(shí)域激電儀器行業(yè)的先進(jìn)水平,其接收機(jī)采用基于WinCE操作系統(tǒng)的專用掌上電腦(Personal Digital Assistant, PDA)進(jìn)行控制和數(shù)據(jù)采集[2];國(guó)內(nèi),重慶奔騰數(shù)控技術(shù)研究所、中南大學(xué)、吉林大學(xué)等科研院所也研制并推出了各具特色的激電儀,這些電法儀在工程實(shí)踐中均獲得了較好的勘探效果[3]。但是,目前國(guó)內(nèi)外的時(shí)域電法儀大多采用基于特定操作系統(tǒng)的應(yīng)用程序(Application,App)或者操作面板進(jìn)行控制[2],專用App需要配備特定的軟硬件平臺(tái),開發(fā)難度較大,且程序無法跨平臺(tái)運(yùn)行,如基于iOS和Android的應(yīng)用程序無法兼容。為了提高儀器控制接口的兼容性,探索一種無需特定控制終端和特定App的儀器控制方法具有一定實(shí)用性。

中國(guó)地質(zhì)大學(xué)(北京)研制了如圖1所示的多接收機(jī)、多通道分布式接收系統(tǒng)[4]。該系統(tǒng)由電源站和多臺(tái)接收機(jī)組成。其中,電源站在該系統(tǒng)中充當(dāng)嵌入式網(wǎng)關(guān),通過該網(wǎng)關(guān),系統(tǒng)可實(shí)現(xiàn)接收機(jī)的控制(如接收機(jī)的上、下電,開始或停止記錄數(shù)據(jù)等)和數(shù)據(jù)質(zhì)量監(jiān)測(cè)功能。系統(tǒng)的用戶界面僅為與平臺(tái)無關(guān)的Web頁(yè)面,無需配備額外的控制硬件及專用App。本文將圍繞分布式接收系統(tǒng)中的嵌入式網(wǎng)關(guān)接口設(shè)計(jì)展開論述。

圖1 具有嵌入式網(wǎng)關(guān)接口的分布式時(shí)域激電接收系統(tǒng)

1 嵌入式網(wǎng)關(guān)硬件平臺(tái)

硬件平臺(tái)框圖如圖2所示,嵌入式網(wǎng)關(guān)硬件平臺(tái)采用工業(yè)級(jí)ARM芯片AT91SAM9G45作為核心處理器,配備128 MB DDR2 DRAM和256 MB NAND Flash,擴(kuò)展了用于接入嵌入式網(wǎng)關(guān)的10/100M有線以太網(wǎng)及無線WiFi接口。平臺(tái)還擴(kuò)展了2路高速RS485接口,分別用于下行命令的發(fā)送和上行數(shù)據(jù)的接收。在此基礎(chǔ)上,嵌入式網(wǎng)關(guān)移植了嵌入式Linux系統(tǒng)[5],包括引導(dǎo)加載器(BootLoader)、系統(tǒng)內(nèi)核(Linux Kernel-2.6.38)和根文件系統(tǒng)——無序區(qū)塊鏡像文件系統(tǒng)(Unsorted Block Image File System, UBIFS),該系統(tǒng)的構(gòu)建為嵌入式網(wǎng)關(guān)軟件的移植和運(yùn)行打下了基礎(chǔ)。

圖2 硬件平臺(tái)框圖

2 嵌入式網(wǎng)關(guān)軟件設(shè)計(jì)

圖3 軟件設(shè)計(jì)框圖

為實(shí)現(xiàn)分布式時(shí)域激電接收系統(tǒng)的控制和波形質(zhì)量監(jiān)測(cè)功能,用戶通過訪問嵌入式網(wǎng)關(guān)不僅可向接收機(jī)發(fā)送控制命令、配置相關(guān)參數(shù),而且可對(duì)采集數(shù)據(jù)進(jìn)行波形預(yù)覽,以保證接收機(jī)存儲(chǔ)數(shù)據(jù)的質(zhì)量。軟件系統(tǒng)采用前后臺(tái)設(shè)計(jì),嵌入式網(wǎng)關(guān)通過后臺(tái)運(yùn)行BOA嵌入式Web服務(wù)器程序,前臺(tái)運(yùn)行CGI、RS485通信程序和JavaScript腳本,從而為客戶端(瀏覽器)提供www服務(wù)。

2.1 軟件整體設(shè)計(jì)

軟件整體設(shè)計(jì)如圖3所示,電源站在該系統(tǒng)中起到嵌入式網(wǎng)關(guān)作用,是客戶端和接收機(jī)之間的監(jiān)控接口。嵌入式網(wǎng)關(guān)通過下行RS485總線實(shí)現(xiàn)接收機(jī)的控制,通過上行RS485總線實(shí)現(xiàn)接收機(jī)采集數(shù)據(jù)的動(dòng)態(tài)波形預(yù)覽。用戶無需使用特定控制終端及專用App,通過WiFi或以太網(wǎng)在任何已安裝網(wǎng)頁(yè)瀏覽器的移動(dòng)終端或PC機(jī)上即可訪問嵌入式網(wǎng)關(guān)Web頁(yè)面。

客戶端瀏覽器和嵌入式網(wǎng)關(guān)的BOA服務(wù)器采用AJAX交互方式,實(shí)現(xiàn)頁(yè)面定時(shí)局部刷新。用戶通過瀏覽器訪問嵌入式網(wǎng)關(guān)獲取Web頁(yè)面,通過單擊不同功能的按鈕,觸發(fā)在頁(yè)面中植入的JavaScript腳本調(diào)用AJAX引擎,AJAX引擎使用腳本中創(chuàng)建的XMLHttpRequest對(duì)象,向嵌入式網(wǎng)關(guān)的BOA服務(wù)器發(fā)送異步數(shù)據(jù)請(qǐng)求,服務(wù)器根據(jù)請(qǐng)求調(diào)用指定CGI程序,實(shí)現(xiàn)與RS485通信程序之間的數(shù)據(jù)交互。

軟件使用共享內(nèi)存來實(shí)現(xiàn)CGI程序和RS485進(jìn)程之間的通信。共享內(nèi)存是Linux下進(jìn)程間通信(Inter-Process Communication, IPC)的方法之一,進(jìn)程可以直接讀寫內(nèi)存,不需要任何數(shù)據(jù)的拷貝,即可實(shí)現(xiàn)兩同時(shí)運(yùn)行進(jìn)程間的數(shù)據(jù)傳遞和共享[6]。CGI程序?qū)碜钥蛻舳藶g覽器的控制命令按一定格式寫入共享內(nèi)存,下行命令發(fā)送進(jìn)程由阻塞變?yōu)檫\(yùn)行態(tài)。在波形預(yù)覽模式下,接收機(jī)將采集數(shù)據(jù)發(fā)送至上行RS485總線,上行數(shù)據(jù)接收進(jìn)程由阻塞變?yōu)檫\(yùn)行態(tài),將采集數(shù)據(jù)寫入共享內(nèi)存。CGI程序讀取共享內(nèi)存中的接收機(jī)數(shù)據(jù),并將其返回至BOA服務(wù)器。服務(wù)器將數(shù)據(jù)以XML(Extensible Markup Language)文檔形式返回給AJAX引擎。根據(jù)定時(shí)器設(shè)定的頁(yè)面刷新時(shí)間,JavaScript調(diào)用DOM(Document Object Model)的應(yīng)用程序編程接口(Application Programming Interface, API)定時(shí)局部更新HTML(Hypertext Markup Language)文檔,實(shí)現(xiàn)波形預(yù)覽功能。

2.2 嵌入式Web服務(wù)器的搭建

在嵌入式Linux系統(tǒng)中,常用的Web服務(wù)器有:BOA、Mini_httpd、GoAhead和Apache等。其中,BOA是一種基于HTTP、支持通用網(wǎng)關(guān)接口(Common Gateway Interface, CGI)且可靠穩(wěn)定的開源單任務(wù)服務(wù)器。與其他Web服務(wù)器的不同之處在于,它在內(nèi)部處理HTTP連接,產(chǎn)生獨(dú)立進(jìn)程來處理CGI程序,占用較少系統(tǒng)資源,具有很高的請(qǐng)求處理速度和效率[7]。因此,本系統(tǒng)的嵌入式網(wǎng)關(guān)采用BOA服務(wù)器。

為在硬件平臺(tái)搭建BOA服務(wù)器,需先從官網(wǎng)上下載新版本源碼包boa-0.94.13.tar.gz,再根據(jù)需要進(jìn)行相關(guān)定制[8]:對(duì)src目錄下的頭文件compat.h和源碼boa.c進(jìn)行修改,執(zhí)行源碼安裝命令,生成Makefile,并在當(dāng)前目錄下用arm-linux-gcc交叉編譯器編譯生成boa可執(zhí)行程序,修改BOA服務(wù)器的配置文件boa.conf。最后,將可執(zhí)行程序、配置文件以及宿主機(jī)中的mime.types拷貝到根文件系統(tǒng)的etc目錄下,修改根文件系統(tǒng)sbin目錄下的腳本文件rcs,確保BOA服務(wù)器隨系統(tǒng)上電自啟動(dòng)。完成上述配置后,在根文件系統(tǒng)的相關(guān)目錄下,編寫靜態(tài)頁(yè)面和簡(jiǎn)單的CGI程序以測(cè)試BOA服務(wù)器的運(yùn)行情況,分別驗(yàn)證瀏覽器能否正常獲取靜態(tài)頁(yè)面和執(zhí)行CGI程序,為動(dòng)態(tài)網(wǎng)頁(yè)的實(shí)現(xiàn)作好鋪墊。

2.3 動(dòng)態(tài)網(wǎng)頁(yè)的實(shí)現(xiàn)

為實(shí)現(xiàn)嵌入式網(wǎng)關(guān)的波形預(yù)覽功能,需對(duì)Web頁(yè)面進(jìn)行定時(shí)局部刷新。本系統(tǒng)在頁(yè)面中植入可調(diào)用CGI程序的JavaScript腳本,并結(jié)合AJAX(Asynchronous JavaScript And XML)技術(shù)實(shí)現(xiàn)頁(yè)面動(dòng)態(tài)顯示。

CGI是外部應(yīng)用程序和BOA服務(wù)器交互的一種標(biāo)準(zhǔn)接口。通過該接口,用戶可向CGI程序傳遞不同參數(shù),從而實(shí)現(xiàn)客戶端和服務(wù)器之間的交互[9]。在Web環(huán)境下,客戶端向BOA服務(wù)器發(fā)出數(shù)據(jù)請(qǐng)求,BOA服務(wù)器把接收到的有關(guān)數(shù)據(jù)放入環(huán)境變量,然后啟動(dòng)JavaScript腳本指定的 CGI程序,CGI程序從環(huán)境變量中獲取相關(guān)信息,處理來自客戶端的控制命令和接收機(jī)的采樣數(shù)據(jù),最后以HTML格式輸出相應(yīng)的執(zhí)行結(jié)果返回給客戶端瀏覽器[10]。

CGI程序可以用任何程序設(shè)計(jì)語(yǔ)言編寫,如 Shell 腳本語(yǔ)言、Perl、Fortran、Pascal、C語(yǔ)言等。但是用C語(yǔ)言編寫的 CGI 程序具有執(zhí)行速度快、安全性高等特點(diǎn),所以嵌入式網(wǎng)關(guān)選用C語(yǔ)言編寫CGI程序[11]。

AJAX是一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開發(fā)技術(shù),在用戶和服務(wù)器之間引入一個(gè)中間媒介——AJAX引擎。有別于傳統(tǒng)Web開發(fā)中采用的同步交互方式,該引擎允許用戶與應(yīng)用程序之間的交互過程異步進(jìn)行,由用戶操作觸發(fā)某事件,用JavaScript調(diào)用AJAX引擎在服務(wù)器創(chuàng)建一個(gè)XMLHttpRequest對(duì)象,通過XMLHttpRequest對(duì)象向BOA服務(wù)器發(fā)出異步HTTP請(qǐng)求和處理響應(yīng),而不阻塞用戶,減少了對(duì)服務(wù)器的資源占用,提高了系統(tǒng)的響應(yīng)速度,縮短了用戶的等待時(shí)間。服務(wù)器的響應(yīng)數(shù)據(jù)以XML文檔形式返回給客戶端瀏覽器,這些返回的XML文檔通過DOM技術(shù)可被準(zhǔn)確地解析。然后用JavaScript腳本來操作DOM定時(shí)更新HTML文檔[12],在不重新加載整個(gè)頁(yè)面的情況下,對(duì)數(shù)據(jù)進(jìn)行部分更新。嵌入式網(wǎng)關(guān)在Web頁(yè)面中植入JavaScript腳本,通過加入定時(shí)器每隔一定時(shí)間調(diào)用CGI程序,以獲取共享內(nèi)存中的接收機(jī)預(yù)覽數(shù)據(jù),并將數(shù)據(jù)通過Canvas繪制成動(dòng)態(tài)波形顯示在Web頁(yè)面上。Canvas是HTML5提供的實(shí)現(xiàn)繪圖功能的標(biāo)記元素,定義了一個(gè)API支持腳本化客戶端繪圖操作,該元素可通過JavaScript腳本調(diào)用其自帶函數(shù)進(jìn)行圖形繪制,可以創(chuàng)建用戶交互的動(dòng)態(tài)圖形[13-14]。

3 嵌入式網(wǎng)關(guān)測(cè)試

在完成嵌入式Linux系統(tǒng)的移植、BOA服務(wù)器的搭建、靜態(tài)和動(dòng)態(tài)網(wǎng)頁(yè)及RS485通信程序的設(shè)計(jì)后,對(duì)嵌入式網(wǎng)關(guān)的功能進(jìn)行測(cè)試。

在客戶端瀏覽器的地址欄中輸入嵌入式網(wǎng)關(guān)的IP,瀏覽器返回如圖4所示的分布式時(shí)域激電接收系統(tǒng)監(jiān)控頁(yè)面。嵌入式網(wǎng)關(guān)的頁(yè)面上方為接收機(jī)控制區(qū),用戶可選擇目標(biāo)接收機(jī)的設(shè)備號(hào)和通道號(hào),通過單擊“控制命令”欄中的相應(yīng)按鈕發(fā)送控制命令:?jiǎn)螕簟吧想姟焙汀跋码姟卑粹o,實(shí)現(xiàn)所選接收機(jī)的上、下電操作;單擊“開始自檢”按鈕,完成對(duì)所選接收機(jī)的模擬通道自檢功能,頁(yè)面下方的波形預(yù)覽區(qū)動(dòng)態(tài)顯示如圖4所示的自檢波形;單擊“開始預(yù)覽”按鈕,波形預(yù)覽區(qū)出現(xiàn)根據(jù)接收機(jī)采集的實(shí)時(shí)數(shù)據(jù)繪制的動(dòng)態(tài)波形,用戶可根據(jù)波形監(jiān)測(cè)采集數(shù)據(jù)的質(zhì)量,以保證接收機(jī)存儲(chǔ)數(shù)據(jù)的有效性;單擊“開始采集”按鈕,接收機(jī)開始采集數(shù)據(jù)并將其保存于本地非易失性存儲(chǔ)器;單擊“停止采集”按鈕,接收機(jī)停止采集數(shù)據(jù)。

圖4 分布式時(shí)域激電接收系統(tǒng)監(jiān)控頁(yè)面

用戶還可根據(jù)需要對(duì)接收機(jī)進(jìn)行參數(shù)配置,包括A/D采樣速率、接收機(jī)的同步方式以及RS485接口的上、下行數(shù)據(jù)傳輸速率。通過“自電補(bǔ)償”按鈕可對(duì)自然電位進(jìn)行補(bǔ)償。

結(jié) 語(yǔ)

[1] 張賽珍,王慶乙,羅延鐘.中國(guó)電法勘探發(fā)展概況[J].地球物理學(xué)報(bào),1994(S1):408-424.

[2] GDD Instrumentation.IP Receivers:Induced Polarization Receivers[EB/OL].[2017-08]. http://www.gddinstrumentation.com/ip-receivers.

[3] 嚴(yán)加永,孟貴祥,呂慶田,等.高密度電法的進(jìn)展與展望[J].物探與化探,2012(4):576-584.

[4] 曾衛(wèi)華.一種分布式時(shí)間域激電接收裝置及實(shí)現(xiàn)方法[P].CN104155696B,2016-10-05.

[5] 劉文峰,李程遠(yuǎn),李善平.嵌入式Linux操作系統(tǒng)的研究[J].浙江大學(xué)學(xué)報(bào):工學(xué)版,2004(4):60-65.

[6] 厲海燕,李新明.實(shí)時(shí)Linux中共享內(nèi)存的實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2001(11):75-76.

[7] 王慶輝,馮振國(guó).Web服務(wù)器Boa在BF561上的移植及其應(yīng)用[J].控制工程,2009(S3):74-76.

[8] 陳娟,李元,李萬國(guó).基于B/S模式的嵌入式系統(tǒng)測(cè)試方法與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2016(2):50-52,56.

[9] 張曦煌,柴志雷.嵌入式Web服務(wù)器中CGI的特點(diǎn)及實(shí)現(xiàn)[J].小型微型計(jì)算機(jī)系統(tǒng),2003(11):2046-2048.

[10] 梁泰文.基于嵌入式Web的CAN總線遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:清華大學(xué),2004.

[11] Chang Jun Han.Research on CGI in Embedded System[J].Applied Mechanics and Materials,2014(539):534-537.

[12] 呂林濤,萬經(jīng)華,周紅芳.基于AJAX的Web無刷新頁(yè)面快速更新數(shù)據(jù)方法[J].計(jì)算機(jī)應(yīng)用研究,2006(11):199-200,223.

[13] 劉維峰,左澤軍,趙利強(qiáng),等.基于HTML5的生產(chǎn)裝置實(shí)時(shí)監(jiān)測(cè)可視化[J].計(jì)算機(jī)工程與設(shè)計(jì),2015(3):809-813.

[14] Steve Fulton&Jeff Fulton.HTML5 Canvas開發(fā)詳解[M].任旻,等譯.北京:人民郵電出版社,2013.

焦妍(本科生),主要研究方向?yàn)殡娮油ㄐ殴こ?;曾衛(wèi)華(講師),主要研究方向?yàn)榈厍蛭锢韮x器。

ApplicationofEmbeddedGatewayinDistributedTimeDomainIPReceivingSystem

JiaoYan1,ZengWeihua2

(1.School of Information Engineering,China University of Geosciences,Beijing 100083,China;2.School of Geophysics and Information Technology,China University of Geosciences)

In order to meet the requirements of condition monitoring and controlling in distributed time domain IP receiving system,the monitoring interface based on embedded gateway is designed.The interface based on ARM Linux operating system platform adopts Client/Server (C/S) model,accomplishing the functions of controlling and data quality monitoring,with a comprehensive utilization of embedded Web server BOA and web development technologies including Common Gateway Interface (CGI) and Asynchronous JavaScript And XML (AJAX).Without specific hardware platform and applications,clients only need a browser.The test results indicate that the monitoring interface based on embedded gateway is practical.

embedded gateway;monitoring interface;BOA server;AJAX;distributed receiving system

TP368.1;TH762

A

2017-08-02)

猜你喜歡
瀏覽器網(wǎng)關(guān)接收機(jī)
反瀏覽器指紋追蹤
一種用于調(diào)幅接收機(jī)AGC的設(shè)計(jì)與實(shí)現(xiàn)
一種面向ADS-B的RNSS/RDSS雙模接收機(jī)設(shè)計(jì)
數(shù)字接收機(jī)故障維修與維護(hù)
基于多接收機(jī)的圓周SAR欺騙干擾方法
環(huán)球?yàn)g覽器
LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
應(yīng)對(duì)氣候變化需要打通“網(wǎng)關(guān)”
一種實(shí)時(shí)高效的伺服控制網(wǎng)關(guān)設(shè)計(jì)
基于Zigbee與TCP的物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)計(jì)