韋洪浪 陳基恒 韋寧燕
基于阿里云平臺(tái)的多參數(shù)實(shí)時(shí)在線水質(zhì)監(jiān)測(cè)系統(tǒng)
韋洪浪1陳基恒1韋寧燕2
(1.桂林理工大學(xué)南寧分校,廣西 南寧 532100;2.南寧理工學(xué)院,廣西 桂林 541006)
為了優(yōu)化水產(chǎn)養(yǎng)殖和水污染防控等領(lǐng)域的水質(zhì)采集工作,設(shè)計(jì)一個(gè)基于阿里云平臺(tái)的多參數(shù)實(shí)時(shí)在線水質(zhì)監(jiān)測(cè)系統(tǒng)。該系統(tǒng)選用STM32F103C8T6芯片作為終端的主控制器,負(fù)責(zé)采集水質(zhì)的溫度、pH、濁度值、TDS等信息,并將信息封裝在MQTT協(xié)議的報(bào)文中,然后利用4G-CAT1模塊將MQTT報(bào)文上傳到阿里云服務(wù)器。該系統(tǒng)不僅可以使用Web網(wǎng)頁(yè)直觀地查看當(dāng)前水質(zhì)狀態(tài)、歷史數(shù)據(jù)和導(dǎo)出數(shù)據(jù),而且還可以通過(guò)手機(jī)APP實(shí)時(shí)查看水質(zhì)信息與警報(bào)信息。結(jié)果表明該系統(tǒng)可以有效地采集水質(zhì)數(shù)據(jù),具有較高的實(shí)時(shí)性和可靠性,采集到的數(shù)據(jù)方便輔助用戶做出決策,能有效解決野外水質(zhì)信息采集工作。
水質(zhì)監(jiān)測(cè);STM32;云服務(wù);物聯(lián)網(wǎng)
2019年全國(guó)水產(chǎn)品總產(chǎn)量為6480.36萬(wàn)噸,比2018年的6457.65萬(wàn)噸同比增長(zhǎng)0.35%,我國(guó)水產(chǎn)養(yǎng)殖體量大,內(nèi)需旺盛[1]。水產(chǎn)養(yǎng)殖業(yè)的產(chǎn)品質(zhì)量把控和應(yīng)對(duì)災(zāi)害的能力需要進(jìn)一步加強(qiáng),對(duì)于水質(zhì)的控制需求就會(huì)變得更加嚴(yán)格。養(yǎng)殖戶追求高產(chǎn)能,導(dǎo)致養(yǎng)殖密度不斷上升,增加了環(huán)境負(fù)擔(dān)和水質(zhì)污染。養(yǎng)殖的排泄物、殘余的餌料、藥物等都會(huì)影響水質(zhì),導(dǎo)致產(chǎn)品把控質(zhì)量的難度加大。氣候?qū)τ跐O業(yè)的影響也十分巨大,水溫、含氧量的監(jiān)控是防范氣象災(zāi)害的重要指標(biāo)。
漁業(yè)對(duì)于水質(zhì)指標(biāo)的把控就直接影響了生產(chǎn)能力和最終收益,而對(duì)于水質(zhì)指標(biāo)的把控則需要有科學(xué)量化的指標(biāo)來(lái)作參照。高效和低成本的采集水質(zhì)指標(biāo)就成為一個(gè)剛需,如果采用人工收集各項(xiàng)指標(biāo),不僅效率低下,而且人工成本高,最終導(dǎo)致產(chǎn)品的競(jìng)爭(zhēng)力不足。在國(guó)家對(duì)水體環(huán)境污染防治力度不斷加大的政策下,水質(zhì)信息的采集和處理工作已經(jīng)成為一個(gè)研究熱點(diǎn)[2]。
本研究設(shè)計(jì)一個(gè)智能水質(zhì)監(jiān)測(cè)系統(tǒng)來(lái)應(yīng)對(duì)漁業(yè)等需要水質(zhì)監(jiān)測(cè)的工作,以實(shí)現(xiàn)水質(zhì)監(jiān)測(cè)的無(wú)人化、便捷化,能夠精確及時(shí)地發(fā)現(xiàn)水質(zhì)問(wèn)題,合理規(guī)避行業(yè)風(fēng)險(xiǎn),直接提升生產(chǎn)效率[3]。
如圖1所示,水質(zhì)監(jiān)測(cè)系統(tǒng)可分為三大部分。終端硬件部分:為水質(zhì)信息的采集處理和發(fā)送提供基礎(chǔ)支持。終端軟件部分:將采集到的數(shù)據(jù)擬合成直觀的物理量上報(bào)到服務(wù)器。數(shù)據(jù)呈現(xiàn)部分:水質(zhì)監(jiān)測(cè)終端采集數(shù)據(jù),利用4G-CAT1模塊將數(shù)據(jù)通過(guò)基站上傳到服務(wù)器,WEB和手機(jī)APP訂閱和關(guān)聯(lián)服務(wù)器上的數(shù)據(jù),實(shí)現(xiàn)水質(zhì)實(shí)時(shí)監(jiān)控[4]。
圖1 總體框圖
圖2為終端模塊示意圖,其中STM32F103C8T6單片機(jī)為核心部件,它將傳感器采集的水質(zhì)信息封裝成MQTT報(bào)文,再利用4G-CAT1模塊與服務(wù)器通訊,外圍的太陽(yáng)能供電模塊為系統(tǒng)工作提供能源。
利用WEB網(wǎng)頁(yè)和手機(jī)APP可以實(shí)時(shí)監(jiān)測(cè)水質(zhì)信息,或者對(duì)終端發(fā)送控制命令。單片機(jī)通過(guò)4G-CAT1模塊將水質(zhì)信息上報(bào)到阿里云服務(wù)器,服務(wù)器將水質(zhì)信息轉(zhuǎn)化成視化的圖形,利用WEB網(wǎng)頁(yè)和APP的圖像將抽象的水質(zhì)信息可視化、人性化,使使用者更加方便地進(jìn)行水質(zhì)監(jiān)控,輔助客戶對(duì)當(dāng)前水質(zhì)情況的決策。
圖2 終端模塊示意圖
水質(zhì)監(jiān)測(cè)系統(tǒng)的終端大部分工作在戶外,地點(diǎn)隨機(jī)性較大,所以需要有長(zhǎng)時(shí)間工作的需求。電源系統(tǒng)采用太陽(yáng)能板轉(zhuǎn)化電能儲(chǔ)存在鋰電池中,為其他硬件系統(tǒng)提供5 V和3.3 V的直流電源??紤]到戶外光照強(qiáng)度不穩(wěn)定導(dǎo)致無(wú)法正常充電,故先對(duì)太陽(yáng)能板輸出電壓進(jìn)行升壓再由AMS1117芯片穩(wěn)壓到5 V,再給鋰電池充電。放電時(shí)經(jīng)過(guò)穩(wěn)壓模塊MT3608分別輸出5 V和3.3 V的直流電為系統(tǒng)提供兩種電源。
傳感器探頭的選擇應(yīng)考慮實(shí)際應(yīng)用場(chǎng)景、使用方式和壽命。探頭將采集到的溫度、pH值、渾濁度、TDS等模擬信號(hào)通過(guò)放大電路后符合單片機(jī)0 V~3.3 V的電平范圍,將單片機(jī)的GPIO口復(fù)用為模擬輸入,讀取模擬量。用傳感器探頭的數(shù)據(jù)手冊(cè)、測(cè)量實(shí)際值、標(biāo)準(zhǔn)液去擬合讀取的模擬信號(hào)的物理量。
溫度傳感器選用DS18B20溫度轉(zhuǎn)化芯片制作的探頭。DS18B20使用單總線與單片機(jī)通信,可以實(shí)現(xiàn)單總線多點(diǎn)測(cè)量溫度。可以用0.1℃級(jí)別的精度測(cè)量-55℃~125℃的溫度范圍,符合使用場(chǎng)景的設(shè)計(jì)需求。DS18B20優(yōu)勢(shì)有成本低、布線簡(jiǎn)單、數(shù)字化、測(cè)量精確等。
濁度傳感器選用TSW-30傳感器,可測(cè)量0到1000±30NTU。利用EL-23G紅外光線二極管和ST-23G紅外光敏電阻,根據(jù)水質(zhì)濁度影響光線而改變光敏電阻的電阻。通過(guò)單片機(jī)IO口讀取模擬量,經(jīng)過(guò)內(nèi)置的AD把模擬量映射成濁度值。
pH傳感器為可充式玻璃電極,使用前在3 mol/L的KCl溶液中活化電極8小時(shí),在測(cè)量酸性液體前用pH4.0的標(biāo)準(zhǔn)液矯正,測(cè)量堿性液體前用pH9.18的標(biāo)準(zhǔn)液矯正,可以得到更好的測(cè)量精度。
TDS傳感器為電導(dǎo)雙極探頭,測(cè)量時(shí)采用交流激勵(lì)信號(hào)可防止探頭極化,可測(cè)量0 ppm~1000 ppm的范圍,由電導(dǎo)率計(jì)算TDS。
TDS、PH、濁度等傳感器反饋到單片機(jī)的是模擬信號(hào),需要經(jīng)過(guò)電壓跟隨器與放大電路后再由單片機(jī)AD采集后得出結(jié)果。
無(wú)線轉(zhuǎn)輸模塊選用4G-CAT1模塊,它的下行速率小于10 Mb/s,上行速率小于5 Mb/s,適用于中低和中高帶寬的物聯(lián)網(wǎng)應(yīng)用[5]。通過(guò)WH-GM5芯片為核心鏈接到4G網(wǎng)絡(luò),以4G網(wǎng)絡(luò)為載體,通過(guò)TCP傳輸協(xié)議連接到阿里云服務(wù)器,服務(wù)器與終端以MQTT協(xié)議的報(bào)文實(shí)現(xiàn)通訊。單片機(jī)把所需要上報(bào)服務(wù)器的信息封裝成MQTT協(xié)議的報(bào)文后,將報(bào)文以串口發(fā)送的形式直接發(fā)送給WH-GM5芯片,在WH-GM5與云服務(wù)器建立的鏈接上直接將報(bào)文發(fā)送到服務(wù)器。單片機(jī)只需要通過(guò)AT指令對(duì)WH-GM5發(fā)出操作指令再以串口發(fā)送數(shù)據(jù),數(shù)據(jù)就能直接發(fā)送到互聯(lián)網(wǎng)上,實(shí)現(xiàn)水質(zhì)監(jiān)測(cè)終端的互聯(lián)網(wǎng)接入。
如圖3所示,啟動(dòng)后進(jìn)行“看門狗”、DMA、ADC等功能的準(zhǔn)備,然后用串口發(fā)AT指令配置WH-GM5網(wǎng)絡(luò)模塊的工作模式,網(wǎng)絡(luò)模塊保存重啟后將會(huì)與云服務(wù)器建立短暫的連接,在此基礎(chǔ)上發(fā)送報(bào)文讓設(shè)備登錄服務(wù)器,建立客戶端與服務(wù)器的信息傳輸鏈接。建立鏈接后進(jìn)行數(shù)據(jù)水質(zhì)采集、上報(bào),以及服務(wù)器發(fā)布指令等操作。
圖3 軟件流程圖
串口是提供單片機(jī)與服務(wù)器交互的接口。需要向服務(wù)器發(fā)送數(shù)據(jù)時(shí),將數(shù)據(jù)寫入發(fā)送緩沖區(qū),串口則會(huì)按照數(shù)據(jù)長(zhǎng)度將數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)發(fā)送到WH-GM5模塊,進(jìn)而發(fā)送到服務(wù)器。
當(dāng)服務(wù)器下發(fā)數(shù)據(jù)到單片機(jī)時(shí),串口使用DMA中斷。先把數(shù)據(jù)以DMA的方式儲(chǔ)存到一個(gè)緩沖區(qū)里,當(dāng)DMA發(fā)出空閑中斷時(shí)表示數(shù)據(jù)接收完畢,再把緩沖區(qū)里傳輸完整的數(shù)據(jù)復(fù)制到接收緩沖區(qū)里,接著對(duì)數(shù)據(jù)進(jìn)行剝離MQTT封裝、提取關(guān)鍵命令等操作。
用串口向WH-GM5透?jìng)髂K發(fā)送AT指令,配置鏈接和工作模式,使之完成初始化。待透?jìng)髂K保存并重新啟動(dòng)后即可與云服務(wù)器建立起臨時(shí)鏈接,在此鏈接的基礎(chǔ)上進(jìn)行下一步的登錄和訂閱服務(wù)器功能服務(wù)等操作。
在阿里云服務(wù)器創(chuàng)建產(chǎn)品賬號(hào)與設(shè)備以及水質(zhì)數(shù)據(jù)的屬性模型后,會(huì)得到產(chǎn)品密鑰、設(shè)備名稱、服務(wù)器域名。
利用上述信息構(gòu)建MQTT協(xié)議的CONNECT報(bào)文,接入互聯(lián)網(wǎng)后向服務(wù)器域申請(qǐng)?jiān)O(shè)備登陸,單片機(jī)即可在服務(wù)器登錄并建立鏈接。
構(gòu)建好單片機(jī)與服務(wù)器的鏈接后,需要單片機(jī)設(shè)備訂閱服務(wù)器的功能服務(wù),需要向服務(wù)器發(fā)送SUBSCRIBE報(bào)文,訂閱上報(bào)數(shù)據(jù)和下發(fā)命令的功能,單片機(jī)上傳的水質(zhì)信息才能被服務(wù)器收集與對(duì)單片機(jī)系統(tǒng)運(yùn)行工作下發(fā)指令。
信息存放的緩沖區(qū)分為發(fā)送緩沖區(qū)、接收緩沖區(qū)、控制命令緩沖區(qū)。
發(fā)送緩沖區(qū)依靠寫入指針、讀取指針,以及結(jié)束指針來(lái)對(duì)緩沖區(qū)進(jìn)行存取操作。串口DMA會(huì)將發(fā)送緩沖區(qū)的信息發(fā)送到WH-GM5模塊,進(jìn)而將信息發(fā)送到互聯(lián)網(wǎng)。
接收緩沖區(qū)依靠寫入指針、讀取指針,以及結(jié)束指針來(lái)對(duì)緩沖區(qū)進(jìn)行存取操作。串口DMA接收空閑中斷,在中斷服務(wù)函數(shù)中把接收到的數(shù)據(jù)寫入接收緩沖區(qū)中,等待進(jìn)一步處理。以DMA空閑中斷接收不定長(zhǎng)度的數(shù)據(jù),減小單片機(jī)資源占用。
控制命令緩沖區(qū)存放的是接收緩沖區(qū)里被識(shí)別為命令報(bào)文的數(shù)據(jù)。命令報(bào)文通過(guò)剝離封裝提取出關(guān)鍵信息,在讀取命令緩沖區(qū)中的信息時(shí),系統(tǒng)通過(guò)判斷條件執(zhí)行相應(yīng)的操作。
本系統(tǒng)選用阿里云服務(wù)器為云端數(shù)據(jù)儲(chǔ)存與控制端。阿里云能提供保存一定時(shí)間內(nèi)的歷史信息、數(shù)據(jù)分析、數(shù)據(jù)可視化、云服務(wù)器與APP綁定等功能[6]。
在水質(zhì)監(jiān)測(cè)系統(tǒng)開(kāi)始工作前需要在云服務(wù)器搭建相應(yīng)的物理模型定義,單片機(jī)上傳的水質(zhì)屬性信息才能映射到云服務(wù)器的物理模型上。
可以在同一產(chǎn)品下添加數(shù)個(gè)模型相同的并列的設(shè)備。設(shè)備的個(gè)體即為水質(zhì)監(jiān)測(cè)單元在云服務(wù)器的映射。在單片機(jī)程序選擇登錄設(shè)備后,在云端顯示設(shè)備在線。即可在物模型數(shù)據(jù)中監(jiān)測(cè)水質(zhì)信息,以及瀏覽歷史信息。
為了使水質(zhì)數(shù)據(jù)查看更加方便、呈現(xiàn)得更人性化,可以利用阿里云服務(wù)器自帶的網(wǎng)頁(yè)編輯工具Iot Studio實(shí)現(xiàn)簡(jiǎn)單的、拖拽化、去編程化的網(wǎng)頁(yè)設(shè)計(jì),編輯一個(gè)簡(jiǎn)單的WEB界面(如圖4所示)用于呈現(xiàn)單片機(jī)上傳的水質(zhì)信息。在平臺(tái)可以設(shè)置屬性超標(biāo)警告的閾值以及設(shè)計(jì)警告動(dòng)作,可查看實(shí)時(shí)數(shù)據(jù)和查詢歷史數(shù)據(jù)。
圖4 Web界面
在阿里云的產(chǎn)品下建立與水質(zhì)采集終端并列的設(shè)備作為手機(jī)登錄服務(wù)器的設(shè)備。創(chuàng)建云產(chǎn)品流轉(zhuǎn)下的數(shù)據(jù)流轉(zhuǎn)規(guī)則,將水質(zhì)終端上報(bào)的水質(zhì)數(shù)據(jù)寫入手機(jī)對(duì)應(yīng)的設(shè)備模型中。在移動(dòng)端打開(kāi)微信小程序后,程序會(huì)登錄云端的手機(jī)設(shè)備,服務(wù)器將下發(fā)水質(zhì)數(shù)據(jù)到小程序中,實(shí)現(xiàn)隨時(shí)監(jiān)測(cè)水質(zhì)數(shù)據(jù)的功能[7]。小程序如圖5所示。
圖5 微信小程序
準(zhǔn)備好不同的液體,分別測(cè)試溫度、濁度、TDS、pH值。根據(jù)不同液體的標(biāo)稱值或測(cè)量值對(duì)比云服務(wù)器讀出的數(shù)據(jù)判斷系統(tǒng)測(cè)量精度是否滿足設(shè)計(jì)需求。
根據(jù)表1測(cè)試結(jié)果顯示,系統(tǒng)測(cè)量值的誤差在可接受的范圍內(nèi)。當(dāng)改變測(cè)試水質(zhì)的物理量后,服務(wù)器顯示的測(cè)量值會(huì)在1秒內(nèi)做出響應(yīng)的變化,系統(tǒng)響應(yīng)的靈敏度符合設(shè)計(jì)的需求,同時(shí)可以查看各個(gè)屬性的歷史數(shù)據(jù)。
表1 測(cè)試結(jié)果
本系統(tǒng)依靠本身系統(tǒng)的續(xù)航能力、4G無(wú)線網(wǎng)絡(luò)接入系統(tǒng)、云服務(wù)器處理數(shù)據(jù)等功能,可實(shí)現(xiàn)多個(gè)水質(zhì)監(jiān)測(cè)單元同時(shí)布控,解決戶外環(huán)境多樣化的水質(zhì)采集問(wèn)題,易于操作和布置,適用于在各種水質(zhì)監(jiān)測(cè)情景中。水質(zhì)智能監(jiān)測(cè)系統(tǒng)劃分多個(gè)檢測(cè)模塊和數(shù)據(jù)處理,可自由拆分和應(yīng)用,模塊化程度高,可移植性強(qiáng),利于排查系統(tǒng)問(wèn)題和維護(hù)。本項(xiàng)目可適用于生活用水安全檢測(cè)、水產(chǎn)養(yǎng)殖環(huán)境監(jiān)控、河流污染防治監(jiān)控、科研工作等需要水質(zhì)監(jiān)控的場(chǎng)景中,為靈活的戶外水質(zhì)監(jiān)測(cè)工作提供一種解決方案。
[1] 羅茵. 《2020中國(guó)漁業(yè)統(tǒng)計(jì)年鑒》出版廣東水產(chǎn)品總產(chǎn)量首次全國(guó)第一[J]. 海洋與漁業(yè),2020(6): 12-13.
[2] 段曉雨,胡華清,許丹宇. 2019年水污染治理行業(yè)發(fā)展評(píng)述及發(fā)展展望[J]. 中國(guó)環(huán)保產(chǎn)業(yè),2020(1): 14-16.
[3] 吳迪. 基于云平臺(tái)的多參數(shù)實(shí)時(shí)在線水質(zhì)檢測(cè)[D]. 杭州: 中國(guó)計(jì)量大學(xué),2019.
[4] 姜闊勝,王敏敏,盧振連,等. 基于物聯(lián)網(wǎng)和局域網(wǎng)的校園多分布空調(diào)集控系統(tǒng)[J]. 物聯(lián)網(wǎng)技術(shù),2021,11(9): 76-78.
[5] 陳博,甘志輝. NB-IoT和CAT 1覆蓋能力分析[J]. 移動(dòng)通信,2017(22): 57-61.
[6] 楊磊,熊衛(wèi)華,姜明. 基于NB-IoT技術(shù)的家庭水質(zhì)檢測(cè)系統(tǒng)[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2019,28(12): 129-133.
[7] 黃艷國(guó),吳磊,張慧敏,等. 基于物聯(lián)網(wǎng)的超市智能自助購(gòu)物系統(tǒng)設(shè)計(jì)[J]. 計(jì)算機(jī)測(cè)量與控制,2019,27(9): 227-231.
Multi-Parameter Real-Time Online Water Quality Monitoring System Based on Alibaba Cloud Platform
In order to optimize water quality collection in aquaculture and water pollution prevention and control, a multi parameter real-time online water quality monitoring system based on Alibaba cloud platform is designed. The system selects STM32F103C8T6 chip as the main controller of the terminal, which is responsible for collecting the temperature, pH, turbidity value, TDS and other information of water quality, encapsulating the information in the message of mqtt protocol, and then uploading the MQTT message to Alibaba cloud server using 4G-CAT1 module. The system can not only use the web page to intuitively view the current water quality status, historical data and exported data, but also view the water quality information and alarm information in real time through the mobile APP. The results show that the system can effectively collect water quality data, has high real-time and reliability, the collected data is convenient to assist users to make decisions, and can effectively solve the field water quality information collection work.
water quality detection; STM32; cloud services; Internet of things
TP27
A
1008-1151(2022)04-0007-04
2022-01-20
2021年度廣西高校中青年教師科研基礎(chǔ)能力提升項(xiàng)目“基于深度學(xué)習(xí)的學(xué)生課堂表情識(shí)別與課堂專注度分析的研究”(2021KY1671);2021年廣西大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練項(xiàng)目“智能水質(zhì)監(jiān)測(cè)系統(tǒng)”(202110596243)。
韋洪浪(1985-),男,廣西河池人,桂林理工大學(xué)南寧分校專任教師,碩士,研究方向?yàn)樾盘?hào)與信息處理。
韋寧燕(1987-),女,廣西河池人,南寧理工學(xué)院講師,碩士,研究方向?yàn)閳D像處理。