天地科技股份有限公司上海分公司 曾 苛
虛擬平臺的B-S架構污水遠程監測系統研究與設計
天地科技股份有限公司上海分公司 曾 苛
排水與污水處理是維系城市人民健康生活的重點環節,目前國家也越來越重視污水的排放問題。隨著虛擬化技術的不斷成熟和穩定,本設計通過對時下VPS技術與云技術進行了研究,提出并設計了以STM32為現場數據采集裝置的控制核心,通過GPRS將數據傳送至云主機,在主機里對數據進行挖掘及分類存儲后進行B-S架構的監控中心設計。主要完成了對污水的數據的采集和云存儲。通過JSP編程實現監控端通過瀏覽器的方式瀏覽相關監測數據。
數據采集;JSP;GPRS;云存儲;服務器
目前國家對環保越來越重視,城鎮的排污處理已經立法,偷排污水將受法律的嚴懲。污水處理是人們在水資源利用過程中必不可少的一個環節。我國大部分污水排放都得不到監測,有的處于人工監測階段, 數據監測難度大, 實施艱難, 很難體現企業和城市污水排放的實時變化情況。部分污水處理廠已安裝了一些實時監控的傳感器和系統,但好多設備復雜,價格昂貴,功能單一,只能檢測水質的變化,并不能實時監測污水成分信息和滿足可靠性監測的要求。而且對于一些大型的城市,采用原來的zigbee節點傳輸方式,布點繁多,增加成本投入,而且維護困難。
云服務器具有數據保障安全、自助管理、故障自恢復和網絡安全保障等高級功能,這樣很大程度的簡化了研發規劃過程,運行使用成本大大降低,搭建可以按用戶需求拓展的網站架構,通過對云端進行對應的編程,實現功能多樣化,從而更適應快速多變的互聯網應用特性。

圖1.1 系統整體結構
本系統有三個部分組成(圖1.1),分別為:現場數據檢測采集傳感器、數據采集處理中心以及B-S架構的實時監測控制中心,監測控制中心采用阿里云服務。主要完成對監測點污水的溶解氧和PH值等實時數據進行監測,通過GPRS將數據傳送至云主機。通過一定的算法對采集的數據進行分類處理。通過網頁瀏覽器的方式監測各個測點的數據。
現場數據檢測采集傳感器主要包括數據采集,數據存儲和數據發送三部分。具體功能如下:污水監測點的傳感器將采集到模擬量通過AD轉換成數據通過單片機處理進行存儲。如果是正常的數據每隔半個小時通過單片機發送給GPRS將數據傳輸出去,若是超標的數據,數據值超過規定值的百分之五則判定為超標污水,這時單片機間隔三分鐘將采集到的數據傳輸出去。為節約用電,GPRS在不發送數據時,將處于斷電狀態。
傳感器的MCU采用Cortex?-M3 為核的32位ARM芯片(圖2.1)。此CPU具有轉換時間為1us的2路12位A/D轉換器,并有16個通道可以實現多路采集。可以高精度的采集污水的監測信息。供電電路采用蓄電池組進行供電,經LM2596開關電源調節器輸出3.3V和5V電壓來分別為系統供電和作為A/D采樣的基準電壓。
GPRS部分主要包括GPRS開關機電路、SIM卡部分電路設計、射頻部分及網絡狀態指示等外圍電路。

圖2.1 GPRS數據采集總框架
2.2.1 供電電源及抗干擾設計
本設計的GPRS模塊采用芯訊通公司的SIM900A模塊。該模塊是單電源供電,直流供電VBAT范圍 3.2~4.8V 之間,模塊發射數據時,功耗會增加,導致電壓降低,這時峰值電流最高會達到2A以上,因此供電電源應達到2A,將VBAT引腳并聯大電容。LM2596是降壓型電源管理單片集成電路,能夠輸出最大3A的電流,具有很好的線性和負載調節特性。
為了增強模塊的抗EMC能力,保證在惡劣環境下設備工作正常,我們在外部電源輸入端增加一些共模電感、TVS管等元器件如圖2.2所示:在電源芯片的輸出端增加了100uf的鉭電容和1uf的獨石電容,來濾除干擾。

圖2.2 電源供電電路圖
2.2.2 開關機電路設計
因GPRS在發射數據時的功耗很大,所以在不工作時我們將GPRS的電源關掉,以節省電能的消耗。SIM900A模塊內部開關引腳通過100K電阻上拉到3V電壓,因此設計時候要注意模塊的電壓。電路如圖2.3所示,通過控制NPN三極管8050導通和斷開,來控制GPRS模塊的電源。

圖2.3 驅動開關機圖

SIM卡電路設計
2.2.3 SIM卡部分電路設計
模塊支持DC1.8/3.0V的SIM卡。在設計這部分電路時,電容以及ESD器件需要放置在靠近SIM卡座的位置。電路中給SIM卡供電的SIM_VDD需要并0.1uF或0.22uF 電容,以保障電源輸出穩定,減小紋波干擾; SIM_DATA并接20pF電容,SIM_RST并接4.7nF電容,用于防止高頻干擾。
2.2.4 射頻電路設計
SIM900A的第60腳為天線接口,可以用微帶線或者其他類型的可控的阻抗為50歐姆的射頻走線和SIM900A的第60腳相連。在射頻部分設計時應預留∏型網絡,前期可以安裝0歐姆電阻、電容可以不裝,以方便后續天線調試匹配。
網絡狀態指示電路。NETLED信號用來監測網絡狀態的,通過三極管來驅動發光二極管。通過發光二極管的閃爍狀態可以判斷當前的網絡狀態。
酸堿度傳感器采用HA151-PH型耐堿pH電極,其測量范圍為0~14pH ,溫度范圍為0~100℃,耐壓0.6MPa。該探頭采用耐高溫凝膠電介質和耐高溫固體電介質雙液接界結構,可直接用于高粘性懸浮液、乳濁液、含蛋白質等液體的酸堿度檢測。耐堿性敏感膜,適用于堿性液體實時測量。無需補充電介質,基本不用維護。
溶解氧傳感器采用適合各種工業監測使用的覆膜式電流式傳感器。該傳感器的透氣膜采用抗污染特氟隆膜,膜厚50μm,測量上限為20mg/L(ppm), 測量下限為0.02mg/L(ppm)(20℃)。安裝方便,只需直接將探頭浸入被測液體。
信息管理中心主要完成兩個任務,一是對GPRS數據采集終端進行監聽,當各個監控終端的數據發送上來時,分別收集解析,并根據相應的編碼格式進行數據處理存儲。信息管理中心的第二個任務是作為JSP代碼的WEB服務器。對于監控調度中心,可以通過打開瀏覽web網頁的方式查看各監測點的數據,并根據各人的權限可以進行相應的操作。
本系統設計采用的是基于阿里云自主研發的飛天大規模分布式計算系統,通過虛擬化技術整合,為本系統提供互聯網基礎設施服務。
系統通過傳感器數據采集后將數據發送給信息管理中心,在云主機里用Socket編程實現對數據采集端口的監聽。云主機兼做數據處理,數據庫管理和JSP服務器。在傳感器數據采集端采用的相當于C-S架構即客戶端-服務器結構,在數據監控調度中心則采用B/S架構,即瀏覽器/服務器結構。
云主機各組件的主要功能如下:
JSP服務組件:該組件的設計主要功能是完成JSP訪問我的SQL數據庫的編程,在云服務器中將編寫好的java服務器頁面與數據庫動態鏈接,監控調度室可以通過web訪問查看相關參數。
數據接收組件:該組件的主要功能是從網絡中讀取傳感器通過GPRS發送來的數據信息。
數據存儲組件:該組件的主要功能是將接收到的數據按照預先規定的格式寫入指定的SQL數據庫中,便于JSP通過JDBC數據庫連接訪問SQL數據庫。
數據整合組件:將SQL中每日保存的數據整理成日報表,根據日報表整理出月報表,根據月報表整理出年報表。
在數據采集傳感器主要是完成數據采集處理和發送。采集后的數據按照規定的協議將匹配好的數據通過GPRS網絡發送給服務器。
每隔三分鐘MCU對數據進行采集,當采集到的數據超過10次后啟動GPRS與Web server進行連接,與服務器建立連接上后,自動打包將數據發送。
在本系統設計中,數據采集主要運用socket編程實現對遠程數據的監聽,數據采集服務器接收從傳感器發送過來的數據。云數據采集及處理主要功能是完成接收GPRS數據并將數據進行解析,提取出有用的信息,將信息經過云處理后存入數據庫。因此,云數據采集存儲效率更高更安全。在通訊方面,網絡通訊程序的實現是采用基于TCP/IP基礎的Socket編程。Socket通常也稱“套接字”,用于描述IP地址和端口,是一個通信鏈的句柄,可以用來實現不同虛擬機或不同計算機之間的通訊。應用程序通常通過“套接字”向網絡發出或者應答請求。TCP/IP是目前廣為應用的互聯網協議,無論從可使用性、可移植性、還是從未來發展上來看,采用該協議來開發通信軟件是一個最合理的選擇。Socket正如其英文原意那樣,像一個多孔插座。已逐漸成為網絡通信軟件研發的規范和標準,具有功能完善、技術成熟、跨平臺的特點。
B/S結構即瀏覽器/服務器結構,用戶可以通過www瀏覽器的訪問方式來查看監控信息。本設計采用B/S架構,上位機只需要安裝瀏覽器。這樣可以通過登陸權限,系統使用部門可以對排污情況進行查看,同時相關管理部門也可以集中調度監控。其主要的實物邏輯由服務端進行實現。將開發工作主要集中在服務器上,大大簡化了系統的開發和維護。只要在服務器上安裝一套數據庫軟件,瀏覽器可以與數據庫直接進行交互。
JDBC是一種能夠用于執行SQL語句的應用程序設計接口API。可以為多種關系數據庫提供統一訪問,它由一組用JAVA語言編寫的類和接口組成。JDBC組成包括一些JAVA語言編寫的類和界面。簡單的說JDBC 可以做三件事:與數據庫建立連接、發送、操作數據庫的語句并處理結果。為數據前臺與數據庫的交互提供了一種標準的程序應用設計接口,方便了JAVA程序開發人員編寫數據庫操應用程序。使用JDBC可以把SQL語句很方便的傳送給數據庫。可跨平臺運行,并且不受數據庫供應商的限制,這是繼承了Java語言的“一次編譯,到處運行”的特點。JDBC是純JAVA的ODBC解決方案。
JDBC連接數據的流程如下:
(1) 首先在開發環境中裝載數據庫的驅動程序。
(2) 在Java程序中加載驅動程序。
(3) 創建數據連接對象。
(4) 創建Statement對象,用于把 SQL 語句發送到 DBMS。
(5) 調用Statement對象,使用適當的方法執行相對應的 SQL 語句。
(6) 關閉數據庫連接。
根據實際操作人員的不同,系統后臺分別對訪問者進行了不同權限規劃。以不同身份登錄該系統時,系統會進入不同的界面和操作權限。根據地區特點,界面將整個地區劃分為五個區,每個地區有11個監測點,每個監測點都有不同的編號。這樣就可以根據需求點擊界面下面的按鈕來查看相關地點的污水信息。
隨著云計算的不斷發展和完善,越來越多的企業注意到云的商業價值。其可靠性和低維護成本深受廣大企業的歡迎,也都在考慮將企業的資源移建到云服務端。本文充分利用云平臺,基于阿里云設計了污水遠程監測系統。在云上建立了自己的數據采集中心,通過GPRS采集終端數據,并對數據處理和存儲。利用云計算的優勢將采集的數據進行處理并存入數據庫。云與GPRS數據采集終端是一個類C-S結構,通過本地可以登錄到云端,通過JSP編程實現了對B/S結構的數據監測中心數據訪問。實現了遠程數據的采集,遠程數據的傳輸,遠程數據的數據庫存儲,監控調度管理人員可以查看各個廠家排放的污水情況,相關單位也可以登陸網站查看自己的排污情況,具有實用價值。
[1]牲煥軍,張維勇,劉國田.ZigBee網絡的路由協議研究.奩懲工疊大學學攘:鑫然辯學叛,2008,31(10):1617-1621.
[2]黃緒勇,劉沛,苗世洪,等.無線傳感自組網在電力監控中的應用動態[J].電力系統自動化,2007,31(7):99-103.
[3]喬淑云,李德臣.監控預警系統在煤礦電網中的應用研究[J].計算機工程與設計,2008,29(23):6161—6163.