朱維琳,張超敏
(江蘇聯(lián)合職業(yè)技術(shù)學(xué)院 無錫機(jī)電分院,江蘇 無錫 214028)
太湖流域附近的無錫、蘇州等城市淡水資源豐富,但由于其水質(zhì)長期受到污染而淡水資源依然短缺。為保障湖岸居民用水安全,制定相關(guān)預(yù)防和處理方案已迫在眉睫。物聯(lián)網(wǎng)技術(shù)[1]應(yīng)用于水污染防治的監(jiān)測研究還處于起步階段,一方面缺乏實時獲取水環(huán)境動態(tài)變化的技術(shù)和手段,另一方面對于環(huán)境監(jiān)測網(wǎng)站所獲取的當(dāng)前數(shù)據(jù)及歷史數(shù)據(jù)的分析處理能力十分有限。
我國目前水環(huán)境發(fā)展情況研究的核心是水環(huán)境的數(shù)據(jù)信息,包含數(shù)據(jù)的每個步驟,即采集、傳送、處理包括展示等,第一步是從云平臺的數(shù)據(jù)里得到需要的平臺,接著是與智能化的相關(guān)控制技術(shù)相結(jié)合起來,最終完成大系統(tǒng)的智能決策[2]與控制要求。本研究充分利用3S、物聯(lián)網(wǎng)等有關(guān)技術(shù),研發(fā)一種實時的檢測控制系統(tǒng),做到對水環(huán)境系統(tǒng)數(shù)據(jù)的在線監(jiān)控并進(jìn)行相關(guān)的計算,在遇到突發(fā)狀況時可迅速反應(yīng)和應(yīng)對,從而為相關(guān)部門水環(huán)境治理提供相關(guān)技術(shù)支持。
本研究結(jié)合國家水質(zhì)監(jiān)測的要求對湖泊和水庫的檢測參數(shù)進(jìn)行系統(tǒng)設(shè)計,提出整體的性能指標(biāo),并結(jié)合國家相關(guān)的技術(shù)理論知識,對整體化的設(shè)計進(jìn)行分層設(shè)計,最終確定整體設(shè)計方案。整個水質(zhì)監(jiān)測報警系統(tǒng)包括無線基站、傳感器節(jié)點、監(jiān)控中心[3],系統(tǒng)的構(gòu)成如圖1所示。
圖1 水質(zhì)監(jiān)測報警系統(tǒng)整體設(shè)計圖
監(jiān)控中心的核心是服務(wù)器,其主要功能是在無線基站實時把傳感器節(jié)點得到的數(shù)據(jù)傳輸?shù)椒?wù)器之后,對數(shù)據(jù)進(jìn)行分析存儲,并實時反映被監(jiān)控位置的狀態(tài)。傳感器采集現(xiàn)場的實時數(shù)據(jù),通過MCU微處理器對數(shù)據(jù)進(jìn)行分析處理后,再通過無線收發(fā)單元傳送到監(jiān)控中心。被監(jiān)控的場所和監(jiān)控中心通過無線通信基站[4]實現(xiàn)數(shù)據(jù)的雙向無線通信,通過GPRS業(yè)務(wù)把數(shù)據(jù)上傳到互聯(lián)網(wǎng),服務(wù)器可以從互聯(lián)網(wǎng)下載監(jiān)控數(shù)據(jù)。
硬件設(shè)計包含監(jiān)控平臺、GPRS無線通信基站、傳感器節(jié)點等。傳感器節(jié)點實現(xiàn)監(jiān)控現(xiàn)場環(huán)境參數(shù)的采集,GPRS無線通信基站則用于監(jiān)控數(shù)據(jù)的無線遠(yuǎn)傳。其中,傳感器節(jié)點之間的無線通信通過射頻[5]一體化芯片SI4432實現(xiàn),數(shù)據(jù)遠(yuǎn)傳則通過GPRS模塊實現(xiàn)。硬件是軟件執(zhí)行的平臺,良好的硬件性能是實現(xiàn)軟件功能的基礎(chǔ)。為了實現(xiàn)準(zhǔn)確的參數(shù)測量,保證可靠的通信,硬件設(shè)計過程中須進(jìn)行必要的電磁兼容設(shè)計。
GPRS[6]無線通信基站是水質(zhì)檢測系統(tǒng)的重要組成部分,主要起到傳輸數(shù)據(jù)的作用,是節(jié)點傳感器與上位機(jī)之間數(shù)據(jù)交流的橋梁,其結(jié)構(gòu)原理圖見圖2。SPI串口用于配置射頻收發(fā)電路,射頻收發(fā)電路采用的是SIM900A芯片。微處理器MCU仍選用C8051F410芯片,其他芯片的選型與傳感器總體結(jié)構(gòu)設(shè)計中所選相同。GPRS無線通信模塊通過與MCU的外設(shè)接口相連,從而把相關(guān)數(shù)據(jù)傳輸給微處理器。
圖2 GPRS無線通信基站結(jié)構(gòu)原理圖
對于整個系統(tǒng)而言,硬件電路和軟件兩者密不可分。軟件設(shè)計的好壞直接影響整個系統(tǒng)的運行。水污染防治預(yù)警系統(tǒng)軟件設(shè)計的核心功能有:傳感器節(jié)點與基站間的無線通信、GPRS無線通信數(shù)據(jù)的上傳、SI4432A[7]通信等。本研究設(shè)計主要在KEIL環(huán)境中來開發(fā)下位機(jī)軟件。
主站傳感器[8]肩負(fù)著數(shù)據(jù)采集的功能,通過SI4432無線收發(fā)模塊的廣播通信協(xié)議,主從站之間進(jìn)行各種數(shù)據(jù)的傳輸,每個主站可與多個從站交換數(shù)據(jù)。主站不斷地將從站地址及對應(yīng)配置信息廣播出來,如BY1800,第一個字節(jié)B表示從站編號,第二個字節(jié)表示是否更改周期,Y表示更改,N表示不更改;數(shù)據(jù)1800(秒)表示更改后的測量周期。主站工作流程設(shè)計圖見圖3,所有從站會在主站發(fā)送廣播從站地址及配置信息后,接收到該信息,但只有對應(yīng)的從站接收到信息后,主站才會收到反饋信息,此時兩者之間建立聯(lián)系,從站緊接著發(fā)送測量數(shù)據(jù)信息,主站接收信息確認(rèn)無誤后,繼續(xù)廣播下一個站點。
圖3 主站工作流程設(shè)計圖
本文設(shè)計的太湖水污染防治預(yù)警系統(tǒng)服務(wù)器采用新浪云的SAE平臺。Sina App Engine,簡稱SAE,是新浪云計算戰(zhàn)略的核心組成部分[9]。新浪云SAE平臺以PHP語言作為該平臺中所有應(yīng)用的自主開發(fā)支持語言,用戶可以采用SVN、SDK或新浪云自身提供的Web版在線代碼編輯器進(jìn)行程序的開發(fā)與調(diào)試。新浪云還為用戶提供了很多輔助的應(yīng)用開發(fā)功能,大大減少了開發(fā)者的開發(fā)運營成本和開發(fā)風(fēng)險。
太湖水質(zhì)檢測與預(yù)警信息管理系統(tǒng)的主要部分是滿足監(jiān)測需求、面向用戶的上位機(jī)信息管理系統(tǒng)。系統(tǒng)的關(guān)鍵在于上位機(jī)Web網(wǎng)頁界面與SAE平臺的MySQL數(shù)據(jù)庫[10]之間數(shù)據(jù)信息的交互,主要包括數(shù)據(jù)庫信息的提取、修改,提取是獲取監(jiān)測數(shù)據(jù),修改是改變測量參數(shù)。
在水質(zhì)測量參數(shù)修改界面中輸入相應(yīng)的信息,點擊確定按鈕,通過以下代碼來傳輸數(shù)據(jù):
method="post"定義了測量參數(shù)信息以post方式傳輸,action="/xitong/1.php"鎖定后臺相關(guān)PHP程序,type="submit"定義了在form表單中創(chuàng)建的按鈕是實現(xiàn)數(shù)據(jù)提交功能的按鈕,點擊提交按鈕后,form表單內(nèi)的內(nèi)容被提交到后臺對應(yīng)的PHP程序。所提交的測量參數(shù)數(shù)據(jù)樣式和數(shù)據(jù)庫中存儲的存在一定差異,需要對相關(guān)測量參數(shù)信息進(jìn)行處理后再存入數(shù)據(jù)庫中。
后臺對應(yīng)的PHP程序獲取到測量參數(shù)的修改信息,并對相關(guān)數(shù)據(jù)庫執(zhí)行對應(yīng)操作,關(guān)鍵代碼如下:
$Sensor_ID=$_POST[Sensor _IDg];
PHP程序通過$_POST函數(shù)獲取測量參數(shù)信息。首先新建一個字符串$ Sensor _ID;接著將頁面中輸入給'Sensor_ID'的傳感器節(jié)點號以POST的方法賦值給字符串$'Sensor_ID;最后再打開數(shù)據(jù)庫,執(zhí)行對應(yīng)的SQL語句,修改數(shù)據(jù)庫中相關(guān)的水質(zhì)測量參數(shù)信息。
$sql=
"update Sensor_par set vperiod=′".$vperiod."′,celiangperiod=′".$celiangperiod."′,
Sensor_location=′".$ Sensor _location."′,historydata=′".$ historydata."′,
celiangdata_begin=′".$ celiangdata_begin."′,celiangdata_end=′".$ celiangdata_end."′ where Sensor_ID=".$ Sensor_ID."";
$con->runSql($sql);//執(zhí)行SQL語句數(shù)據(jù)庫操作
上述語句就是水質(zhì)測量參數(shù)的修改語句。
水質(zhì)監(jiān)測預(yù)警系統(tǒng)界面設(shè)計包括水質(zhì)監(jiān)測測量參數(shù)設(shè)置界面設(shè)計、報警上下限界面設(shè)計和數(shù)據(jù)展示界面設(shè)計。參數(shù)設(shè)置界面的主要功能是輸入修改的參數(shù),這些測量參數(shù)通過后臺PHP代碼傳輸?shù)綄?yīng)的數(shù)據(jù)庫并保存,如圖4所示。實時數(shù)據(jù)界面的形式如圖5所示,通過點擊信息管理系統(tǒng)中的歷史數(shù)據(jù)顯示界面的“實時數(shù)據(jù)顯示”,就可以采用超鏈接跳轉(zhuǎn)到對應(yīng)的實時數(shù)據(jù)顯示界面。選取所需測量的參數(shù)的傳感器編號,傳感器檢測到的最新水質(zhì)測量數(shù)據(jù)信息就可以自動實時顯示,也可以采用折線圖的形式來顯示不同水質(zhì)測量節(jié)點數(shù)據(jù)的變化趨勢。設(shè)置每500 ms掃描一次,從而保證數(shù)據(jù)能快速動態(tài)地更新。
圖5 水質(zhì)測量實時數(shù)據(jù)顯示界面
基于物聯(lián)網(wǎng)的水污染防治預(yù)警系統(tǒng)的研究目前仍處于前期階段,無線傳感技術(shù)的持續(xù)創(chuàng)新和物聯(lián)網(wǎng)技術(shù)的不斷進(jìn)步將推動這一領(lǐng)域向前發(fā)展。本研究暫時只完成了水污染防治預(yù)警系統(tǒng)的大體框架,基本能實現(xiàn)預(yù)期的主要功能,但整個水污染防治預(yù)警系統(tǒng)仍須繼續(xù)完善和改進(jìn)。本研究在設(shè)計時沒有充分考慮系統(tǒng)的安全性,沒有對系統(tǒng)出現(xiàn)故障的時候工作情況進(jìn)行分析,沒有考慮應(yīng)如何防止故障的產(chǎn)生。同時,在能量問題上直接采用了電池模塊進(jìn)行供電,存在一定的局限性。實際使用中,還需要考慮整個系統(tǒng)的續(xù)航能力和環(huán)保性,可以考慮采用太陽能、水能、風(fēng)能等清潔能源進(jìn)行供能。