王巧馨 涂 亮 邵青蕓 李新宇 朱慧博(宿遷學(xué)院信息工程學(xué)院,江蘇 宿遷 223800)
隨著經(jīng)濟社會的快速發(fā)展和人民生活水平的不斷提高,居民體育健身的意識不斷增強,游泳健身成為優(yōu)選項目,據(jù)衛(wèi)生監(jiān)督部門對游泳館水質(zhì)抽查結(jié)果顯示,有三分之一以上的游泳館水質(zhì)不合格,顧客體驗效果大大降低?,F(xiàn)今很多游泳館的水質(zhì)監(jiān)測主要依靠不定期的人工抽查測量方式,檢測成本高、監(jiān)測頻率低,水質(zhì)污染問題得不到及時改善。針對上述現(xiàn)狀,本文設(shè)計了應(yīng)用物聯(lián)網(wǎng)技術(shù)的游泳館水質(zhì)監(jiān)測系統(tǒng),該系統(tǒng)通過傳感器定期、不間斷檢測水質(zhì)信息,并通過無線通信模塊,實現(xiàn)采集數(shù)據(jù)的云端通信。系統(tǒng)具有過限聲光報警功能,顧客和監(jiān)管人員可以通過OneNET 云平臺查看游泳館的實時和歷史水質(zhì)檢測結(jié)果。
系統(tǒng)的總體設(shè)計框圖如圖1 所示。該系統(tǒng)總體分為兩大塊:硬件模塊和云端模塊,硬件模塊以AT89C52 單片機芯片為控制核心,連接DS18B20 溫度傳感器、PH 值傳感器、TS 濁度傳感器等采集水質(zhì)各種信息,同時還設(shè)計了報警電路。ESP8266 Wifi 芯片作為通信硬件,將檢測到的數(shù)據(jù)實時上傳至OneNET云端平臺,并通過網(wǎng)頁形式讓顧客或檢測人員查看,從而達到實時監(jiān)測的目的。
圖1 總體設(shè)計框圖
本系統(tǒng)采用的主控芯片為AT89C52 單片機,是一款低功耗、高性能的8 位微處理器,它擁有8KB 的閃存,256KB 的RAM,32 個I/O 接口,內(nèi)含2 個外中斷口,3 個16 位定時器/計數(shù)器,2 個全雙工串通信口,片內(nèi)晶振以及時鐘電路,單片機的工作電壓為3.3V~5.5V。
系統(tǒng)需要采集包括溫度、PH 值以及濁度等水質(zhì)信息,分別使用DS18B20 溫度傳感器、E-201-C 型PH 值傳感器和TS 濁度傳感器來檢測各項指標,各傳感器和單片機的連接如圖2 所示。
圖2 數(shù)據(jù)采集模塊線路圖
2.2.1 水溫采集
水溫采集選用DS18B20 數(shù)字式溫度傳感器, 該傳感器輸出的最低位每變化1,代表溫度變化0.0625℃;設(shè)計中將傳感器數(shù)據(jù)線端口直接和單片機的P1.7 口相連,單片機通過1-Wire 協(xié)議與DS18B20 進行通信[1];DS18B20 所采集溫度數(shù)據(jù)是兩個字節(jié),通信時先讀取低字節(jié)的低位,讀完第一個字節(jié)后,再讀高字節(jié)的低位,直至兩個字節(jié)讀取完畢;DS18B20 設(shè)置為12 位分辨率,讀取后的溫度值在單片機寄存器中以補碼的形式存在。由于游泳館水溫通常為24℃~29℃,設(shè)計中水溫報警上下限值分別為22℃和29℃。
2.2.2 PH 值采集
設(shè)計選用了E-201-C 型PH 復(fù)合電極傳感器,由于該傳感器的輸出為mV 級電壓信號,單片機無法直接識別處理,需要進行電壓放大和AD 處理后與輸出與單片機的P1.0 口連接。模塊輸出電壓和PH 對應(yīng)關(guān)系為[2]:
y=5.8887x+21.677,式中x 為模塊輸出電壓,y 為對應(yīng)PH值。
根據(jù)《游泳池水質(zhì)標準CJ244-2019》,系統(tǒng)設(shè)計的游泳館的PH 值的報警上下限值分別為7.0 和7.8。
2.2.3 濁度采集
濁度測量選取TS100 型濁度傳感器,該傳感器通過溶液中的透光率和散射率來綜合判斷濁度情況[3]。將傳感器輸出的電流信號轉(zhuǎn)換為電壓信號再進行AD 處理后,與輸出與單片機的P1.0 口連接。濁度值與模塊輸出電壓滿足關(guān)系[3]:
TU=-865.68×U+K,式中TU 為當(dāng)前濁度值,U 為當(dāng)前溫度條件下模塊的輸出電壓值,K 為截距值,需通過標定方法得到。本次設(shè)計中濁度閾值為1000。
2.2.4 報警模塊
報警模塊連接單片機的3.4 口進行控制,電路連接如圖3所示。當(dāng)采集的溫度、PH 值或濁度值三者中只要有一項超過閾值時,P3.4 口輸出低電平,三極管導(dǎo)通,報警器工作。
圖3 聲報警電路
數(shù)據(jù)入網(wǎng)采用無線通信方式,設(shè)計中采用ESP8266 Wifi 無線通信模塊,該模塊有三種工作模式,STA 模式、AP 模式、STA+AP 模式。STA 模式是指將ESP8266 模塊通過路由器連接互聯(lián)網(wǎng),手機或電腦通過互聯(lián)網(wǎng)實現(xiàn)對設(shè)備的遠程控制,AP 模式是指ESP8266 模塊作為熱點,手機或電腦直接與模塊連接,實現(xiàn)局域網(wǎng)無線控制,STA+AP 模式指的是兩種模式的共存模式,即可以通過互聯(lián)網(wǎng)控制可實現(xiàn)無縫切換,方便操作。ESP8266 的使用方式分為使用AT 指令進行操作、LUA 語言編程、Arduino 開發(fā)環(huán)境編程。本設(shè)計使用的工作模式是STA 模式,利用AT 指令進行操作,部分AT 指令說明如表1 所示。
表1 AT 指令說明
主控芯片設(shè)計采用的是C 語言編譯,在上電后,系統(tǒng)先進行初始化,進行硬件參數(shù)配置,并發(fā)送AT 指令,確認和服務(wù)器連接成功后,傳感器采集水質(zhì)的各種參數(shù)信息,首先采集溫度并將數(shù)據(jù)顯示在LCD1602 屏幕上,然后采集PH 值和濁度信息,每隔5 秒定時將溫度、酸堿度和濁度數(shù)據(jù)發(fā)送上傳云端,并將PH值和濁度值顯示在LCD 屏上,判斷每一個采集值是否在閾值范圍內(nèi),若超出范圍則開啟報警,然后重新采集數(shù)據(jù),否則直接重新采集數(shù)據(jù)。軟件流程圖如圖4 所示。
圖4 軟件流程圖
云端設(shè)計是在OneNET 云平臺上實現(xiàn),該平臺是中國移動物聯(lián)網(wǎng)云平臺,平臺提供存儲設(shè)備上報的數(shù)據(jù)點、API 接口實現(xiàn)設(shè)備管理、數(shù)據(jù)推送等功能,可以適配多種主流物聯(lián)網(wǎng)傳輸協(xié)議和各種網(wǎng)絡(luò)環(huán)境。注冊賬號后在控制臺中先選擇創(chuàng)建產(chǎn)品,選擇接入?yún)f(xié)議。該平臺支持9 種協(xié)議連接,本系統(tǒng)設(shè)計只需要上傳傳感器的數(shù)據(jù)到平臺,無需平臺下發(fā)控制指令,故選擇了HTTP 協(xié)議,使用的是RESTful 風(fēng)格接口。[4]HTTP 請求主要使用POST 請求方法打包上傳數(shù)據(jù),利處在于具有較好的安全性,創(chuàng)建完成后再添加設(shè)備,設(shè)置產(chǎn)品的基本屬性PH、溫度和TDS(濁度) 等。在設(shè)備創(chuàng)建完備之后,會獲得設(shè)備的API 地址和APIKey,該信息作為設(shè)備的“身份信息”,在連接組件中用以識別設(shè)備,實現(xiàn)實體設(shè)備和云端對應(yīng)連接。在設(shè)備與云端達成連接的前提下,再進行設(shè)備發(fā)布,將其應(yīng)用發(fā)布到公開網(wǎng)頁。隨后設(shè)計其網(wǎng)頁的框架,在網(wǎng)頁上顯示相關(guān)數(shù)據(jù)和采集時間。
用戶只需登錄OneNET 云平臺,就可以實時收到來自下位機的信息,實現(xiàn)水質(zhì)監(jiān)測的效果。圖5 所示為OneNET 客戶端的用戶界面,界面展示了下位機所采集的PH 值、溫度、濁度的實時數(shù)據(jù)。用戶可以根據(jù)表盤和折線圖形式查看所采集的信息判斷水質(zhì)的情況,保證了水質(zhì)數(shù)據(jù)實時可見的效果。根據(jù)階段性歷史數(shù)據(jù)折線圖,多維度分析水質(zhì),可以了解超閾值時工作人員應(yīng)對措施是否有效, 同時歷史數(shù)據(jù)的云端顯示也為顧客選擇游泳館提供參考數(shù)據(jù)。
圖5 云端效果展示
本文從硬件和軟件兩方面介紹了基于云平臺的游泳館水質(zhì)監(jiān)測系統(tǒng)的設(shè)計過程,通過云端效果,展現(xiàn)系統(tǒng)進行遠程實時監(jiān)測以及追溯歷史數(shù)據(jù)的功能,該系統(tǒng)結(jié)構(gòu)簡單、易于操作,可以廣泛應(yīng)用于農(nóng)業(yè)、工業(yè)的生產(chǎn)、污水處理、江河水質(zhì)監(jiān)測等場合。