網際網路遠端量測資料收集、處理與查詢系統
Data Collection, Processing and Inquiring System of Remote-end Measuring through Internet
*衛祖賞 **李信堅 **楊明興
*Tzuu-Shaang Wey **Hsin-Chien Li **Ming-Shing Young
*崑山科技大學電子工程系
**國立成功大學電機工程系
*Department of Electronic Engineering, Kun Shan University of Technology, Tainan, Taiwan, R.O.C.
**Department of Electrical Engineering, National Cheng University, Tainan, Taiwan, R.O.C.
摘 要
有許多實驗中需要利用儀器做長時間的監測及資料收集與記錄。本文提出一套利用網際網路以打破時間及空間限制,使我們能全天候在世界各地查看到任何時間所收集到的數據及結果。我們選用目前最方便取得的通訊媒體”網際網路”的環境來達成遠端傳輸的目的,使其在世界各地皆可傳輸及接收。然後利用網路伺服器長時間收集資料並存入資料庫,接著可以從資料庫取出原始資料做進一步分析結果,然後以網路伺服器上的網頁伺服器把原始資料及分析結果顯示出來,最後在PC端就可利用瀏覽器連上網際網路查詢資料及結果。
關鍵詞:網際網路、遠端量測、資料處理
ABSTRACT
Measuring instruments are frequently used as to monitor and acquire data for a long period. In this paper, we presented an inter based system you for researcher to inquire the stored experimental data or results through the internet all day long and all over the world .To send or get data worldwide, we fulfill the purpose of remote-end- delivery by the most popular and useful internet environment. We utilize the internet servers to acquire data, and store them in a specific database. Moreover, We can do some further analysis for the stored data and then upload all the analyzed results back to the internet server. Finally, all users can search the related raw data and analyzed results by the browser.
Keyword: Internet、Remote-end Measuring、Data Processing
壹、前言
當我們在做實驗時,數據的收集、分析及遠距離的傳輸往往佔很多的時間及人力。在這分秒必爭、知識爆炸的時代,時間及人力的花費越多則越不利實驗的進行。有些需要24小時全天候進行的實驗,更研究人員不眠不休的監控及紀錄才能完成實驗。有些實驗更需到偏遠山區或海邊才能進行,這時儀器的設置已是問題,更別說數據的收集及記錄了。有鑑於此,設計一套可克服上述困難的系統,以打破時間空間的限制來收集資料並記錄下來,之後實驗者也可以在任何時間及地點查看資料數據及分析結果,就變得意義非凡。
由於需要長時間及在世界各地皆可傳送資料及查詢結果,透過目前最流行也最普遍的”網際網路”環境就是首要的選擇,因為在此環境下,不管使用有線及無線的方式,市面上皆已有完整的設備及架構可使用,如MODEM、xDSL、ISDN、無線GPRS、衛星及藍芽技術…….等。當然要利用這環境時,所使用的量測儀器也需要能上網際網路,再者數據資料也必須透過網際網路收集及紀錄。為了讓實驗者能透過瀏覽器(例如:Internet Explorer、Netscape)來查詢數據資料及分析結果,本系統需要一部網路伺服器來收集資料及處理資料,而且也要一套資料庫系統(Database Server)及一套網頁伺服器(Web Server)。
在依照上述需求來建構系統過程中,我們選用目前可透過網際網路取得又穩定又不需版權費用的Linux作業系統;資料庫則使用在Linux上常使用的MySQL。至於網頁伺服器,則採用全世界佔有率最高的Apache Server[1]。而在作業系統方面,我們選用Perl程式語言寫程式碼來負責接收資料並把資料放到資料庫,再使用PHP程式語言寫程式碼來負責把紀錄及分析結果的數據從資料庫叫出並放到Apache Server讓研究者可查詢到數據資料。
貳、系統設計
本系統的研究是在網際網路上行之,所以整個架構設計是以網際網路上的作業系統、軟體設計及周邊設備為基礎來設計。此系統分為三大部份:
輸入單元:將遠端量測到的資料依據TCP/IP的通訊協定加以封裝,以便要在網
路上作傳輸。
處理單元:把資料作運算的動作所以包含三個項目,蒐收資料、資料庫的使用、
資料運算。
輸出單元:把運算結果放到網際網路上,讓使用者可以直接上網查詢結果。
在作業系統的選擇方面,考慮到要在網際網路上運作、穩定度、安全性、取得容易性、取得成本低、更改的可變性及硬體設備的要求等方面,所以選定Linux作業系統為我們的研發核心,所有要用到的系統軟體、應用程式、伺服器及硬體設備皆需要能在此系統運作才是選用的條件。
輸入單元只要能上網際網路的設備皆可使用。現今已有些量測儀器有這種模組,但仍有不少量測儀器只有RS232的端子。目前市面上已有一些RS232轉RJ45的網路模組,我們可以直接拿來使用,或者與PC連接再透過它把資料轉出到網際網路上,也是一個不錯方式,只不過要多一部PC來作處理比較不理想。
處理單元是這套系統的重點,之前我們選擇Linux為我們研究核心要用的作業系統,在這系統裡網際網路的功能早已建立,因Linux就是因為網際網路而興起茁壯。所以要完成這單元的三項工作,只要選擇此系統所使用的應用程式加以撰寫就可以達到我們所要求的功能,其選擇如下:
一、蒐收資料:
在此所要考慮的不只是收集的動作而已,還必需具有把資料放到資料庫的功能。在此,我們選用Perl程式語言來撰寫其功能,此程式語言是一種可以讓你容易把事情辦好的語言,它的設計理念在於簡化工作,甚至讓困難的工作也變成可能完成。例如,工作項目只要幾行指令就可以完成,其維護容易也易懂。
二、資料庫的使用:
資料庫系統是重點,考慮的不只是放入及取出的動作,必須講求多使用者的環境、處理速度要快、取得成本低及系統容錯和安全性。在此選擇MySQL Server作為我們所要用的資料庫系統,其特點如下:
1. 此系統是目前能找到最快速的資料庫系統[2]。
2. 高效能但相當容易使用,相對於大系統而言其安裝程序並不繁瑣。
3. 大部分的使用場合下是免費的。
4. 不只支援SQL(Structured Query Language)查詢語言,也可透過支援ODBC(Open Database Connectivity)的應用程式來存取此資料庫系統。
5. 可以承受同時多個用戶端的連線,用戶端也可以同時使用多個資料庫。提供各種語言的程式介面,例如:C、Perl、Java、PHP以及Python等等。
6. MySQL是完全網路化的系統,其資料庫可以從網際網路上的任何地方來存取,所以可以讓任何人在任何地方來分享資料。
7. 有存取權控制的安全機制,不該讓第三者看到的資料,他是無法看到的。
8. 不是只能在Linux系統上用,windows和OS/2皆可安裝,而且各種硬體都能執行,從家用電腦到高級的伺服器主機皆可。
9. 只要使用Web瀏覽器就可非常容易取得原始碼,以供進一部的研究及修改。
三、資料運算:
以上所選擇的Perl程式語言就可以做一些基本的運算功能,如需更高的運算能力,則可以用其它程式寫好再Call進來使用,非常方便。
輸出的方式因是採用網際網路,可使用網頁伺服器(Web Server)來達成。選用目前世界佔有率最高的Apach Server,不只使用容易,效能及穩定度皆很高,再配合使用PHP(PHP Hypertext Preprocessor的縮寫)與MySQL的結合來完成Server端的功能需求。PHP是一種伺服器端的嵌入式Scripting語言,言下之意是它運作在HTML文件裡而提供來取即付(on demand)的內容產生能力,我們可以把網站變成Web應用程式,而不是一個無法經常更新的靜態網頁倉庫[3]。此系統的整個架構配置如圖1所示。
四、伺服器的架設
本研究選擇RedHat 7.0版本,硬體需求如下:
1. CPU:386以上即可。(選用Pentium III 650)
2. RAM:8MB以上,X-Window需16MB以上。(使用128MB)
3. HDD:SCSI、IDE、EIDE皆可,最少剩下150MB空間。(選用EIDE 6GB)
4. 光碟機:使用SCSI或EIDE皆可。(選用EIDE 40倍速)
5. 網路卡:NE2000相容網路卡。(RTL8139C)
6. 顯示卡:任何Xfree86-4.0.1支援的顯示卡。(選用RAGELT PRO AGP)
所選用的硬體設備是目前容易取得,而無特殊規格的設備,安裝重點如下:
1. 硬碟空間規劃-因所使用的電腦要作為伺服器,考慮到系統的執行效率的問題,所以分割磁碟機時,Swap要設定為硬體所裝設RAM容量的兩倍容量。其餘必需包含下列分割區 /、/boot、/var、/usr及/home。
2. 系統的網域名稱、IP和可使用的網段的申請必須先完成,在這階段就會設定這項資料。網域名稱可向學校負責單位申請,校外可以向各區域的NIC負責單位或公司行號申請。
3. 網域名稱已申請好後,接著把DNS伺服器所需的網址對映的IP先規劃清楚。
4. 使用者務必要建立一個Root以外的一個USER以供測試使用,以免都是超級權限而不小心破壞系統。
5. 為了往後方便管理及使用伺服器,安裝Linux系統完成時加裝遠端管理工具(WebMin)。
6. 架設完成Linux Server時,請再加裝FTP Server以方便從網際網路下載系統套件及更新。
Perl程式語言的安裝重點如下:
1. 此程式所要扮演的角色就是接收網際網路所傳來的資料,所以必須要裝設網路模組的副程式[5]。(IO:: Socket)
2. 此程式另一重要工作是把接收到的資料放到資料庫伺服器,所以也必須要有支援使用資料庫的模組(DBD/DBI)。
MySQL資料庫的安裝重點如下:
1. 記憶體容量必須大於32MB[6]。
2. 硬碟容量最少需2GB的剩餘空間。
3. 因本次研究要與遠端管理程式配合使用,所以安裝的版本必須與其配合。
Apache Server的安裝裝重點如下:
1. 磁碟空間至少保留12M以上才能順利安裝,完成後至少要3M才能正常運作。
2. 要先確定Server的名稱,避免開機時會有錯誤而無法啟動。
3. Server的路徑要確定清楚,避免無法正確動作。
4. 要正式啟動前,要先啟動MySQL資料庫,才能正常操作查詢。
5. 要考慮到配合PHP設定的選項。
6. DNS Server要先設定好Apache Server的名稱對映IP,不然啟動後無法以名稱找尋主機。
PHP程式語言的安裝重點如下:
安裝時會參考到Apache Server的設定資料(Apache Server不需全部安裝完成),因此在安裝PHP之前,必須先設定Apache Server選項,等到PHP安裝完成之後,在回過頭把Apache Server安裝完成。
此系統所需的軟體分為三個部份,第一部份負責接收外部資料、第二部份負責將資料放到資料庫、第三部份負責將資料從資料庫放到網頁上供查詢。第一部份及第二部份我們使用Perl程式語言來撰寫,第三部份使用PHP Script程式語言來撰寫。
參、系統操作與測試
此系統分為資料傳輸、伺服器啟動及PC端查詢三大部份來操作,其中以伺服器啟動為此系統的核心,所有動作如沒有啟動Linux Server則皆無法動作,Linux Server的操作也最為複雜,只要一個環節沒有處理好,則整個動作會停擺無法使用。此系統的Linux Server操作流程如圖2所示:
之前我們有寫一段PC端的傳送測試程式(Linux Client),其中傳送資料包含時間、數值及傳送者,每執行一次程式傳送5筆資料,此次測試利用兩台PC作傳送端,如圖3~9所示
肆、討論
本次研究所使用的模組,是以手邊既有產品來使用,但使用上會因環境的不同,而有電源上、資料暫存記憶空間及傳輸格式的問題,使用起來會有所困擾。在電源上能設計的更省電,如能使用太陽能更好,這樣能使實驗的操作及紀錄時間加長。資料暫存空間加大,可以把上網傳輸的頻率降低外,還可以記錄較多較複雜的數據。傳輸格式能統一則伺服器的資料庫較易管理。傳輸模組目前只有支援RS-232的輸入方式,如能支援更多的傳輸介面則可用性更高,如USB、Blue Tooth…等。
伺服器是本系統的核心,其功能上可發揮很好的效能,但一開始的設定及操作卻困難度很高且複雜,往往一個步驟的疏忽導致整個Server運作不正常,又不意除錯。如能把整個安裝及設定,設計成一貫化的流程,則在架構及建立就可以省下很多的寶貴時間,也可使其能普及化且容易操作。
MySQL Server的使用及存取設定能更簡易,程式上的設計能更合乎邏輯及資料的需求,可讓演算及存取頻率減少,進而增加系統的效能。
在Perl程式設計上,需再加強多使用者輸入時的時效問題,MySQL資料庫伺服器的存取方式,尋找其它的程式來提昇存取的效能。
增加Apache Server的網頁程式(PHP)的功能,例如多條件查詢、多方式查詢、可設定多種計算方式來產生結果。加強網頁的美工能加強使畫面更活潑生動,增加互動式的溝通管道。
伍、未來展望
在現今通訊發達,科技進步的時代,資訊的量及傳輸的速度更是無法與過去相比。能夠利用工具在短時間內擁有大量資料、數據並保留起來供日後可再利用,並且不需發費大量人力、時間及置放空間,是現代人必備的能力。電腦及網際網路的應用更是日趨重要,此研究也有鑑於這種趨勢而構思形成。以往作實驗時,紀錄資料是一件非常不容易的事,不只是花費體力及時間,所得到的數據不能馬上作分析得到結果,且都必須透過紙上作業傳遞,例如郵寄、傳真、電報…等。後來,雖使用電腦,但也只能用撥接的功能來完成,比較受限於時間及空間,費用也較高。網際網路的興起造就了這方面的另一種更省錢、更快及不受時間空間約束的新通訊環境。
在實驗室的模擬使用中,此套系統所省下的時間及人力非常的可觀,如以往大老遠跑到台南市郊外的新化鎮做實驗,去一趟儀器架好開始做實驗就已接近中午,實驗沒做多少就到了傍晚又要收工了,這樣來回兩週才把實驗數據拿回到實驗室,改用這套系統可24H實驗收集數據資料並可利用電腦計算馬上得到所要的結果,而且遠在台北的同學可透過網際網路查詢的數據資料及結果,以便互相討論。
我們利用這個好環境,把此觀念做法呈現出來,將實驗數據透過電腦走向網際網路,把資料結果傳送出去。利用此系統能使實驗加快而更精確、更容易及更易取得。進而使過去做不到的方法或不易達成的方式,皆能找到答案來使實驗進行更順利,進而造福全人
參考文獻
1. David Pitts & Bill Ball原著﹐〝RedHat Linux徹底研究〞,第三波資訊股份有限公司,2000。
2. 李立功,趙楊﹐〝MySQL程式設計與資料庫管理〞文魁資訊股份有限公司,2000。
3. 趙啟志﹐〝實力導引活用PHP+MySQL建構Web世界〞,博碩文化股份有限公司,2000。
4. 施威銘研究室﹐〝Red Hat Linux 架站實務〞旗標出版股份有限公司,2000。
5. Sriram Srinivasan﹐〝Advanced Perl Programming〞O’REILLY,1999。
6. Paul DuBois﹐Michael Widenius﹐〝MySQL〞DrMaster Press Co.,Ltd.,2000。
7. 黃喜榮﹐〝The communication and control mechanisms of a distributed database management system 〞,1986。
附圖
圖1 系統架構配置圖
圖2 操作流程圖
圖3 第一部PC(Addison)傳送資料畫面
圖4 第二部PC(Candy)傳送資料畫面
圖5 Linux Server接收到的資料畫面
圖6 nckutest資料庫畫面
圖7 test表格畫面
圖8 test表格的資料結構畫面
圖9 PC使用Internet Explorer查詢結果畫面
沒有留言:
張貼留言