引 言
目前,測系中國的水資源具有兩大突出問題,即蓄水量大與人均水資源少。隨著社會的進步和工業的快速發展,工業廢水無法得到有效處理,城鄉生活污水的排放導致地表水和地下水的水質惡化。由于國內大部分人的生活用水和飲用水直接來自地下,一旦地表水質受到污染,就會直接威脅人類和生物的健康 [1]。據調查,中國地下水水質較好的水體僅占全部水體的 40%,約 60%的水體水質不容樂觀。為了深化人們的用水意識,加強對水源的保護,不僅中國正在減少水源污染,加強水污染防治,世界上許多國家都在加入水質改善的行列 [2]。因此,國家環保部門提出了一系列排放水污染的化工企業污水排放指導原則,其中就包括“污水標準排放, 嚴格控制總量”[3]。
隨著科技的進步,一些結合計算機技術和自動化工藝設計的可自動監測水質狀況的機器逐漸面世。然而,這種設備價格高昂,且基站難以定位,一旦建成就很難移動,無法及時監測水質污染源的排放。綜合上述不足,本文設計了一套基于物聯網的水質實時在線監測系統,該系統結合 STM32 單片機、傳感器、無線通信和 C# 軟件開發的優點進行自動化整合 [4]。系統可實現對基站水質參數變化的實時在線監測,并提出了更高水平的工業污染物監管,體現了生態環境作為國家基本國策的重要性。因此,該系統的實用性和經濟性較好。
1 系統整體設計及工作原理
系統分為三個部分,即以 STM32 為核心的數據采集系統、基于 GPRS 的無線數據傳輸系統、中心數據管理系統平臺。
下位機的運用以 CPU 為中心,在考慮渾濁度、pH 數值以及水流量的基礎上進行工作。數據采集系統借助傳感器對兩個所需直流電壓進行實時檢測與記錄,并將其轉換成計算機能夠處理的電信號。此外,使用 LCD 液晶屏,用動態連接的方式進行數據的實時顯示。PC 端數據采集可以使用串口調試助手進行調試,由主機對下位機采集的數據進行正確顯示 [5] ;另一方面,STM32 MCU 將數據輸出到 USART 串行端口。GPRS 無線模塊接收數據并通過內部通信功能將數據發送到數據中心管理平臺。對于數據的傳輸、處理和儲存問題,即在 STM32 單片機的基礎上,根據 TCP 網絡協議, 運用 GPRS 模塊把實時采集的數據無線傳輸到數據終端平臺 [6]。工作人員可以使用基于 C# 軟件工作的操作平臺進行人機操作。該操作平臺的數據庫使用 SQL 開發,軟件使用C# 語言,將傳感器采集的數據進行實時處理和儲存,便于工作人員檢查和監測。該監測系統的使用,減少了環保局工作人員前往一線勘察的次數,提高了環保局的工作效率。系統模型結構如圖 1 所示。
2 系統硬件設計
2.1 下位機基站系統設計
下位機基站系統以 STM32 為核心。單片機實時采集傳感器信號,通過數據轉換處理后由 LCD 顯示屏顯示采集的數據,同時還可以通過串口將數據上傳至計算機。為了實現各部分功能,下位機數據采集系統根據相關要求和技術規范, 將整體分為兩個主要部分,即數據采集系統和 STM32 最小系統。STM32 最小系統運用 ARM Cortex-M3 骨架的低功耗處理器,即運用功能齊全的主控芯片 STM32F103C8T6[7],該芯片上集成有多路 ADC,可以在同一時間實現多路數據的采集和轉換,極大程度地提高系統的數據處理能力。與此同時, TIM 能夠實時記錄相關水流量數據,并借助 USART 將 ADC 處理的數據通過串行口送入計算機,計算機可以將接收到的數據進行實時顯示。最小系統與各傳感器結構如圖 2 所示。
圖 2 最小系統與各傳感器結構框圖
2.2 無線通信系統設計
GPRS 為集成化產品,主要包含四個模塊,即控制端口、射頻天線端口、外設及 SIM 卡槽。設計思路 :軟件開發使用戶的功能模塊化,根據功能的不同,將整體劃分為多個模塊, 對每個模塊分別設計,大幅提高軟件開發效率,降低系統的開發周期和開發難度。該系統使用的通信方式通信范圍廣, 通信速度快,并且有著極高的抗干擾能力和保密程度。基于眾多的優點,GPRS 成為目前較為流行的通信方式。根據TCP/IP 網絡協議,遠程連接服務器后可將數據通過 Internet 進行實時傳輸至中心數據管理中心 [8]。隨著 5G 時代的到來, 該技術也能夠極大程度地提高數據傳輸的穩定性及安全性。
3 系統軟件設計
3.1 pH和渾濁度數據采集
STM32 內部擁有許多 ADC 和定時器,在 ADC 工作時, 能夠根據實際情況的不同,對掃描方式進行選擇性設置,例如單次掃描或者多次掃描。此外,在進行數據傳輸時,ADC 外設還可以將處理的數據按照以左對齊或者右對齊的方式存儲到相關存儲單元中。本次設計指定使用 ADC1 的 11 和 12 通道分別采集水資源的渾濁度和 pH 數值,并將傳感器采集的數據送至 ADC 轉換器,按照相關存儲規則將采集的數據送至 ADC_DR 數據寄存器中。在操作過程中可以使用多通道數據采集方式,以連續轉換方式對接收的數據進行實時轉換,在轉換過程中開啟 ADC 時鐘,完成相關參數設置。由于采集的兩個數據輸出均為模擬信號,因此僅使用 ADC1 中的兩通道就可以實現全部功能。
3.2 水流量數據采集
在實際情況中,水的流動會使水資源周邊的磁性產生變化,為了監控這種變化,可以使用霍爾傳感器將此種狀況以脈沖和頻率的方式展現,輸出的脈沖信號經霍爾傳感器內部轉換電路后用輸出線輸出,經數據轉換,可計算出轉速 [9]。對照相關科學曲線,可進一步算出渦輪的轉速、水流量以及電壓。按照科學的公式計算,流出 1 L 的水,大約能夠生成450 個脈沖,由此可計算出水的流速。由于不同的水速會輸出不同頻率的脈沖方波,因此 STM32 單片機可以運用定時器 TIM2 對脈沖時刻計數, 并且借助 TIM2 中的 TIM_CCR 實現對脈沖方波信號的檢測,內部的 TIM_CNT 計數器可以記錄脈沖方波信號發生反轉的次數,從而計算出整體的脈沖數。
3.3 中心數據管理系統設計
系統以應用軟件編寫為核心,利用數據庫的優點,提高了軟件開發的效率,更方便用戶使用。另外,借助 SQL 技術開發的數據庫,運用 C# 軟件可以提高數據的存儲周期, 并借助技術的優越性,設計出簡單易懂的緊急交互界面,降低了系統整體設計的難度,提高了軟件開發的工作效率,減少了整體應用開發時間。在使用過程中,工作人員可根據實際情況的需要,登錄軟件對相關數據進行閾值設置,如果該數據大于系統設定的閾值,則系統會發出警報,快速警告監管的工作人員。結合 .NET 平臺下的 WinForm 軟件與 SQL Server 數據庫,用 VS 環境設計了一個完整的數據管理中心平臺 [10]。系統可以時刻接收遠程無線上傳的數據并進行精確顯示,同時應用 Chart 窗體控件開發的曲線圖也可以更加形象地呈現出該天某監測地的水質情況。
4 實驗結果與分析
4.1 上位機數據顯示測試
遠程服務器端運行 C# 程序軟件,根據實際使用情況進行程序的修改和調試,提高軟件運行的安全性及穩定性。由圖 3 可知,通過系統檢測的數據,即 pH 值、渾濁度和水流速(電導率與溶氧量作為后期擴展應用)在一定范圍內波動, pH 值在 7 ~ 8 范圍內波動,渾濁度保持在 4 NTU 左右,而水流量在 2 L/s 左右浮動。
4.2 數據查詢測試
遠程連接服務器啟動系統保持長時間運行,實時接收數據使得系統存儲了大量數據,這些存儲的數據大多保存在 C 盤中,工作人員可以通過查詢歷史數據查看之前一段時間內檢測的完整數據。該界面詳細記錄了數據采集的具體時間, 方便后期進行大數據分析,顯示效果如圖 4 所示。
5 結 語
本文提出了一套新型的基于物聯網的水質實時在線監測系統方案。該系統可以做到提前預防,防止污染進一步擴散,提升水質監測管理的科學性和高效性,為相關部門提供應對策略和管理措施,具有極強的實踐適用性。使用目前較為流行的 4G 通信不僅可以提高通信效率,同時還能夠保障通信安全,對于一些復雜的檢測環境而言,可以降低通信網絡對資源的需求,在無電無網的情況下,系統也能夠安全穩定運行。此外,系統還能夠提高數據流量速度、數據傳輸效率和安全性。