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