當前位置:首頁 > 測試測量 > 測試測量
[導(dǎo)讀]摘要:在智能傳感器的基礎(chǔ)上結(jié)合了CGI和Java Applet技術(shù),在μC/OS-II操作系統(tǒng)下將μIP協(xié)議嵌入到傳感器的ROM中。利用傳感器內(nèi)嵌的Web服務(wù)器,用戶可以通過瀏覽器對遠程數(shù)據(jù)進行監(jiān)測。該系統(tǒng)解決了因距離影響被

摘要:在智能傳感器的基礎(chǔ)上結(jié)合了CGI和Java Applet技術(shù),在μC/OS-II操作系統(tǒng)下將μIP協(xié)議嵌入到傳感器的ROM中。利用傳感器內(nèi)嵌的Web服務(wù)器,用戶可以通過瀏覽器對遠程數(shù)據(jù)進行監(jiān)測。該系統(tǒng)解決了因距離影響被監(jiān)測區(qū)域數(shù)據(jù)的獲取問題,實現(xiàn)了真正意義上的網(wǎng)絡(luò)化監(jiān)測。
關(guān)鍵詞:Web網(wǎng)絡(luò)傳感器;遠程數(shù)據(jù)采集;Java Applet;CGI

引言
    隨著網(wǎng)絡(luò)技術(shù)和嵌入式技術(shù)的發(fā)展,將嵌入式系統(tǒng)與Internet相結(jié)合對系統(tǒng)進行數(shù)據(jù)、圖像監(jiān)控和管理,成為重要研究方向之一。嵌入式Web網(wǎng)絡(luò)傳感器技術(shù)是傳感器、嵌入式、分布式信息處理和Internet等相關(guān)技術(shù)交叉結(jié)合的技術(shù),它是在智能傳感器的基礎(chǔ)上把TCP/IP協(xié)議作為一種嵌入式應(yīng)用,嵌入現(xiàn)成智能服務(wù)器的ROM中,利用傳感器內(nèi)建的Web服務(wù)器,用戶可以通過瀏覽器采集遠程監(jiān)控對象的信息。

1 Web網(wǎng)絡(luò)傳感器數(shù)據(jù)采集系統(tǒng)工作原理
    用戶通過瀏覽器訪問Web服務(wù)器上的數(shù)據(jù),將遠程采集到的數(shù)據(jù)實時顯示到Internet網(wǎng)頁上。用戶需要實時看到數(shù)據(jù)的變化,而HTML網(wǎng)頁通常只能是靜態(tài)的數(shù)據(jù),為此在Web服務(wù)器上應(yīng)用動態(tài)網(wǎng)頁技術(shù)是必要的。動態(tài)網(wǎng)頁的實現(xiàn)技術(shù)有CGI和HTML腳本嵌入技術(shù)(如ASr、PHP、JSP等),由于網(wǎng)絡(luò)傳感器嵌入式系統(tǒng)采用的是單片機來實現(xiàn),其資源有限,為此采用CGI技術(shù)來實現(xiàn)動態(tài)網(wǎng)頁。
1.1 CGI原理
    CGI(Common Gateway Interface,公共網(wǎng)關(guān)接口)提供給Web服務(wù)器一個外部程序的通道,實現(xiàn)處理器與瀏覽器之間的通信。CGI是一種接口規(guī)范,可以處理客戶端(一般是瀏覽器)輸入的數(shù)據(jù),完成瀏覽器和服務(wù)器之間的交互操作。CGI是運行在Web服務(wù)器上的程序,由瀏覽器的輸入觸發(fā),是服務(wù)器和系統(tǒng)中其他程序的橋梁。CGI程序?qū)儆谝粋€外部程序,是運行在服務(wù)器端的一個可執(zhí)行文件。
    CGI程序的工作原理示意圖如圖1所示。


    客戶端的Web瀏覽器瀏覽到某個主頁后,利用一定的方式提交數(shù)據(jù),并通過HTTP協(xié)議向Web服務(wù)器發(fā)出請求。服務(wù)器端的HTTP Daemon(守護進程)將描述的主頁信息通過標準輸入(STDIN)和環(huán)境變量(environment variable)傳遞給主頁指定的CGI程序,并啟動此應(yīng)用程序進行處理(包括對數(shù)據(jù)庫的處理)。處理結(jié)果通過標準輸出(STDOUT)返回給HTTP Daemon,再通過HTTP協(xié)議返回給客戶端的瀏覽器,由瀏覽器負責解釋執(zhí)行,將最終的結(jié)果顯示給用戶。


1.2 基于CGI的數(shù)據(jù)采集流程
    CGI的數(shù)據(jù)采集流程如圖2所示。當用CGI實現(xiàn)遠程傳感器溫度數(shù)據(jù)采集時,CGI程序可以通過直接訪問硬件或調(diào)用驅(qū)動程序的方式獲得數(shù)據(jù)。當數(shù)據(jù)采集完畢后,CGI程序?qū)?shù)據(jù)組織成HTTP流并發(fā)送到Web服務(wù)器上,由Web服務(wù)器負責送到客戶端。

2 實時數(shù)據(jù)采集技術(shù)
2.1 連續(xù)數(shù)據(jù)采集的實現(xiàn)方法
    由于HTTP是基于請求/響應(yīng)模式的,客戶端和服務(wù)端進行一次交互時,開始于客戶提出的一個請求,并在服務(wù)器給出響應(yīng)后結(jié)束。而一次交互只能得到一組數(shù)據(jù),那么如何實現(xiàn)連續(xù)的數(shù)據(jù)采集呢? 一般有兩種方法:即客戶端牽引和建立TCP連接。
    客戶端牽引就是在網(wǎng)頁中插入定時刷新功能,它的數(shù)量級為s,可以使用戶看到數(shù)據(jù)的變化,但不能滿足強實時性的要求,而且其中會漏掉一些中間的數(shù)據(jù)。
    建立TCP連接就是通過在網(wǎng)頁中嵌入ActiveX控件或Java Applet小程序來增強客戶機的功能。其中,ActiveX控件只能在windows環(huán)境下運行,而Java Applet通用性強,可以實現(xiàn)跨平臺操作。所以本系統(tǒng)采用Java Applet來進行遠程數(shù)據(jù)的實時采集。
2.2 Java Applet
    Applet是用Java編寫的,含有可視化內(nèi)容的,并被嵌入Web頁面中用來產(chǎn)生特殊頁面效果的小程序,經(jīng)常被用于增加網(wǎng)頁多媒體效果,并使網(wǎng)頁產(chǎn)生互動功能。
    當用戶訪問帶有Java Applet的網(wǎng)頁時,Applet被下載到用戶計算機上執(zhí)行,但前提是用戶使用的是支持Java的網(wǎng)絡(luò)瀏覽器。由于Applet是在用戶計算機上執(zhí)行的,因此它的執(zhí)行速度是不受網(wǎng)絡(luò)寬帶或者MODEM存取速度的限制,用戶可以更好地查看網(wǎng)頁上Applet產(chǎn)生的多媒體效果。
    Applet必須將HTML的<applet>和</applet>一對標記或者<object></object>嵌入到Web網(wǎng)頁中,使用瀏覽器才能運行。在IE中用<obje-ct>標簽取代<applet>標簽,在Netscape 4使用<embed>標簽取代<applet>,但是<object>和<embed>都必須遵循Java Plug-in中的格式。

3 實時數(shù)據(jù)采集的具體實現(xiàn)
3.1 硬件實現(xiàn)
    嵌入式Web網(wǎng)絡(luò)傳感器的數(shù)據(jù)采集系統(tǒng)的硬件結(jié)構(gòu)如圖3所示。

    ADuC832是ADI公司推出的混合信號單片微控制器,是真正意義上完整的數(shù)據(jù)采集系統(tǒng)芯片,是集數(shù)據(jù)轉(zhuǎn)換電路、微控制器、閃存于一體的數(shù)據(jù)采集系統(tǒng)。它的主要特性有:8通道模擬I/O,247 ksps、12位ADC,2個12位(單調(diào)的)電壓輸出DAC片內(nèi)溫度傳感器;62 KB片內(nèi)閃速/電擦除程序存儲器,4 KB片內(nèi)閃速/電擦除數(shù)據(jù)存儲器,2 304字節(jié)的片內(nèi)數(shù)據(jù)RAM。
    主芯片通過74LS138譯碼器來進行片選外部數(shù)據(jù)存儲器KM62256,或者網(wǎng)卡控制器RTL8019AS。通過74HC573地址鎖存器進行當前地址的鎖存,使得輸出端的狀態(tài)不會隨輸入端的狀態(tài)變化而變化,僅在有鎖存信號時輸入的狀態(tài)被保存到輸出,直到下一個鎖存信號到來時才改變,也是為了實現(xiàn)地址的復(fù)用。
    在主電路上主要設(shè)計了一個信號輸入接口,用來接工業(yè)現(xiàn)場的4~20 mA信號的變送器;設(shè)計了一個RJ45的網(wǎng)口接口,通過網(wǎng)口可以直接接到Internet上,進行現(xiàn)場數(shù)據(jù)的上傳和共享;還設(shè)計了RS485接口和RS232接口,作為工業(yè)現(xiàn)場特殊情況下的數(shù)據(jù)接入和處理。
    現(xiàn)場傳感器將采集的4~20 mA信號傳送給信號調(diào)理板,將其信號轉(zhuǎn)換為0~2.5 V的電壓信號,然后通過ADuC832轉(zhuǎn)換為數(shù)字量,再通過程序轉(zhuǎn)換為相應(yīng)的溫度值,實時地將溫度值顯示在嵌有Java Applet的網(wǎng)頁上。
3.2 軟件實現(xiàn)
3.2.1 操作系統(tǒng)和協(xié)議棧的選用
    在嵌入式Web服務(wù)器上,選用μC/OS-II作為嵌入式實時操作系統(tǒng)。它是一個可移植、可固化、可裁剪、搶占式的實時操作系統(tǒng),比傳統(tǒng)的前后臺程序可靠性更高,效率更高。
    TCP/IP是個協(xié)議簇,是諸多開放的協(xié)議的集合,但是單片機是個小型的微處理器,內(nèi)部資源有限,因此必須要對協(xié)議進行裁剪。本系統(tǒng)采用精簡的小型TCP/IP協(xié)議棧——μIP協(xié)議棧。μIP協(xié)議代碼中包括了一些基本的通信協(xié)議:ARP協(xié)議、IP協(xié)議、ICMP協(xié)議和TCP協(xié)議,UDP協(xié)議、HTTP協(xié)議、Telnet協(xié)議、SMTP協(xié)議等。其中,ARP、IP、ICMP、TCP這4個協(xié)議就能實現(xiàn)網(wǎng)絡(luò)連接和通信的最基本的功能,同時還能實現(xiàn)CGI技術(shù)。其應(yīng)用層就是HTTP協(xié)議,采集數(shù)據(jù)嵌入在Web服務(wù)器網(wǎng)頁中以網(wǎng)頁的形式發(fā)布到Internet。
    對于μC/OS-II和μIP的移植,詳見參考文獻。整個系統(tǒng)的軟件結(jié)構(gòu)如圖4所示。


3.2.2 Java Applet嵌入網(wǎng)頁的實現(xiàn)
    應(yīng)用Applet實現(xiàn)嵌入式Web傳感器實時監(jiān)控程序RealtimeMonitor.java,主要結(jié)構(gòu)如下:
  
    其中,192.168.11.30是嵌入式Web服務(wù)器的IP地址,data.txt是傳感器經(jīng)處理器處理后的數(shù)據(jù),“wly.sleep(1000);”表示設(shè)置采集的時間間隔為1s。
    通過JDK軟件包,使用命令javac RealtimeMonitor.java將Java程序編譯成RealtimeMonitor.class,然后使用“<appletcode=Real-timeMonitor width=400 height=600></applet>”嵌入到HTML網(wǎng)頁中。
    最后,在已加載μC/OS-II和μIP程序的Web服務(wù)器上添加嵌入Applet的Monitotor.html網(wǎng)頁,將Monitor.html網(wǎng)頁的文本轉(zhuǎn)換成十六進制代碼,放置在μIP的fsdata.c文件中并嵌入到處理的ROM中,通過Keil將所有程序編譯生成HEX文件,下載到嵌入式Web處理器里。
    打開瀏覽器輸入IP地址192.168.11.30,訪問嵌入式Web服務(wù)器上的采集數(shù)據(jù)。網(wǎng)絡(luò)傳感器實時數(shù)據(jù)采集結(jié)果如圖5所示。



結(jié)語
    本文介紹了Web服務(wù)器的工作原理,將CGI和Java Applet技術(shù)內(nèi)嵌在嵌入式服務(wù)器上,通過客戶端的瀏覽器可以實現(xiàn)嵌入式Web網(wǎng)絡(luò)傳感器的實時數(shù)據(jù)采集,節(jié)約了諸多的硬件資源和人力資源,使得對遠程數(shù)據(jù)自動采集變得更加具有通用性,同時可以適合任何內(nèi)建嵌入式Web網(wǎng)絡(luò)傳感器,具有一定的現(xiàn)實意義。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉