王巧馨 涂 亮 邵青蕓 李新宇 朱慧博(宿遷學院信息工程學院,江蘇 宿遷 223800)
隨著經濟社會的快速發展和人民生活水平的不斷提高,居民體育健身的意識不斷增強,游泳健身成為優選項目,據衛生監督部門對游泳館水質抽查結果顯示,有三分之一以上的游泳館水質不合格,顧客體驗效果大大降低。現今很多游泳館的水質監測主要依靠不定期的人工抽查測量方式,檢測成本高、監測頻率低,水質污染問題得不到及時改善。針對上述現狀,本文設計了應用物聯網技術的游泳館水質監測系統,該系統通過傳感器定期、不間斷檢測水質信息,并通過無線通信模塊,實現采集數據的云端通信。系統具有過限聲光報警功能,顧客和監管人員可以通過OneNET 云平臺查看游泳館的實時和歷史水質檢測結果。
系統的總體設計框圖如圖1 所示。該系統總體分為兩大塊:硬件模塊和云端模塊,硬件模塊以AT89C52 單片機芯片為控制核心,連接DS18B20 溫度傳感器、PH 值傳感器、TS 濁度傳感器等采集水質各種信息,同時還設計了報警電路。ESP8266 Wifi 芯片作為通信硬件,將檢測到的數據實時上傳至OneNET云端平臺,并通過網頁形式讓顧客或檢測人員查看,從而達到實時監測的目的。

圖1 總體設計框圖
本系統采用的主控芯片為AT89C52 單片機,是一款低功耗、高性能的8 位微處理器,它擁有8KB 的閃存,256KB 的RAM,32 個I/O 接口,內含2 個外中斷口,3 個16 位定時器/計數器,2 個全雙工串通信口,片內晶振以及時鐘電路,單片機的工作電壓為3.3V~5.5V。
系統需要采集包括溫度、PH 值以及濁度等水質信息,分別使用DS18B20 溫度傳感器、E-201-C 型PH 值傳感器和TS 濁度傳感器來檢測各項指標,各傳感器和單片機的連接如圖2 所示。

圖2 數據采集模塊線路圖
2.2.1 水溫采集
水溫采集選用DS18B20 數字式溫度傳感器, 該傳感器輸出的最低位每變化1,代表溫度變化0.0625℃;設計中將傳感器數據線端口直接和單片機的P1.7 口相連,單片機通過1-Wire 協議與DS18B20 進行通信[1];DS18B20 所采集溫度數據是兩個字節,通信時先讀取低字節的低位,讀完第一個字節后,再讀高字節的低位,直至兩個字節讀取完畢;DS18B20 設置為12 位分辨率,讀取后的溫度值在單片機寄存器中以補碼的形式存在。由于游泳館水溫通常為24℃~29℃,設計中水溫報警上下限值分別為22℃和29℃。
2.2.2 PH 值采集
設計選用了E-201-C 型PH 復合電極傳感器,由于該傳感器的輸出為mV 級電壓信號,單片機無法直接識別處理,需要進行電壓放大和AD 處理后與輸出與單片機的P1.0 口連接。模塊輸出電壓和PH 對應關系為[2]:
y=5.8887x+21.677,式中x 為模塊輸出電壓,y 為對應PH值。
根據《游泳池水質標準CJ244-2019》,系統設計的游泳館的PH 值的報警上下限值分別為7.0 和7.8。
2.2.3 濁度采集
濁度測量選取TS100 型濁度傳感器,該傳感器通過溶液中的透光率和散射率來綜合判斷濁度情況[3]。將傳感器輸出的電流信號轉換為電壓信號再進行AD 處理后,與輸出與單片機的P1.0 口連接。濁度值與模塊輸出電壓滿足關系[3]:
TU=-865.68×U+K,式中TU 為當前濁度值,U 為當前溫度條件下模塊的輸出電壓值,K 為截距值,需通過標定方法得到。本次設計中濁度閾值為1000。
2.2.4 報警模塊
報警模塊連接單片機的3.4 口進行控制,電路連接如圖3所示。當采集的溫度、PH 值或濁度值三者中只要有一項超過閾值時,P3.4 口輸出低電平,三極管導通,報警器工作。

圖3 聲報警電路
數據入網采用無線通信方式,設計中采用ESP8266 Wifi 無線通信模塊,該模塊有三種工作模式,STA 模式、AP 模式、STA+AP 模式。STA 模式是指將ESP8266 模塊通過路由器連接互聯網,手機或電腦通過互聯網實現對設備的遠程控制,AP 模式是指ESP8266 模塊作為熱點,手機或電腦直接與模塊連接,實現局域網無線控制,STA+AP 模式指的是兩種模式的共存模式,即可以通過互聯網控制可實現無縫切換,方便操作。ESP8266 的使用方式分為使用AT 指令進行操作、LUA 語言編程、Arduino 開發環境編程。本設計使用的工作模式是STA 模式,利用AT 指令進行操作,部分AT 指令說明如表1 所示。

表1 AT 指令說明
主控芯片設計采用的是C 語言編譯,在上電后,系統先進行初始化,進行硬件參數配置,并發送AT 指令,確認和服務器連接成功后,傳感器采集水質的各種參數信息,首先采集溫度并將數據顯示在LCD1602 屏幕上,然后采集PH 值和濁度信息,每隔5 秒定時將溫度、酸堿度和濁度數據發送上傳云端,并將PH值和濁度值顯示在LCD 屏上,判斷每一個采集值是否在閾值范圍內,若超出范圍則開啟報警,然后重新采集數據,否則直接重新采集數據。軟件流程圖如圖4 所示。

圖4 軟件流程圖
云端設計是在OneNET 云平臺上實現,該平臺是中國移動物聯網云平臺,平臺提供存儲設備上報的數據點、API 接口實現設備管理、數據推送等功能,可以適配多種主流物聯網傳輸協議和各種網絡環境。注冊賬號后在控制臺中先選擇創建產品,選擇接入協議。該平臺支持9 種協議連接,本系統設計只需要上傳傳感器的數據到平臺,無需平臺下發控制指令,故選擇了HTTP 協議,使用的是RESTful 風格接口。[4]HTTP 請求主要使用POST 請求方法打包上傳數據,利處在于具有較好的安全性,創建完成后再添加設備,設置產品的基本屬性PH、溫度和TDS(濁度) 等。在設備創建完備之后,會獲得設備的API 地址和APIKey,該信息作為設備的“身份信息”,在連接組件中用以識別設備,實現實體設備和云端對應連接。在設備與云端達成連接的前提下,再進行設備發布,將其應用發布到公開網頁。隨后設計其網頁的框架,在網頁上顯示相關數據和采集時間。
用戶只需登錄OneNET 云平臺,就可以實時收到來自下位機的信息,實現水質監測的效果。圖5 所示為OneNET 客戶端的用戶界面,界面展示了下位機所采集的PH 值、溫度、濁度的實時數據。用戶可以根據表盤和折線圖形式查看所采集的信息判斷水質的情況,保證了水質數據實時可見的效果。根據階段性歷史數據折線圖,多維度分析水質,可以了解超閾值時工作人員應對措施是否有效, 同時歷史數據的云端顯示也為顧客選擇游泳館提供參考數據。

圖5 云端效果展示
本文從硬件和軟件兩方面介紹了基于云平臺的游泳館水質監測系統的設計過程,通過云端效果,展現系統進行遠程實時監測以及追溯歷史數據的功能,該系統結構簡單、易于操作,可以廣泛應用于農業、工業的生產、污水處理、江河水質監測等場合。