沈晨航 周俊



摘要:本文針對游泳館的泳池,設計開發了一種基于STM32單片機、ESP8266無線模塊和MQTT傳輸協議的實時水質監測系統。該方法構成簡單,系統成本較低且使用便捷,可對游泳池水質進行實時監測,并通過了模擬驗證實驗,證實了其可行性。
關鍵詞:STM32單片機;ESP8266;MQTT;水質監測
中圖分類號:TP391.4 文獻標識碼:A 文章編號:1007-9416(2020)05-0148-04
0引言
水常常應用在各個場合,是人類生產生活所必要的元素之一,人類在日常生活中幾乎不能離開水。現如今夏天很多人喜歡去游泳館游泳,但是很多游泳館的水質實在令人堪憂,隨著天氣越來越熱,越來越多人希望可以到游泳館游泳,同時在游泳池內游泳的人數一旦增多,游泳池的水質很容易被污染,從而影響游泳館用戶的體驗以及身體健康。特別是近年游泳館水質尤為問題突出,多家游泳館因水質不合格而被查處。因此,泳池應該時不時換水或者隨時監測游泳館水質來保證水質安全。但是即使定期換水也不能隨時保證游泳館內水質處于一個健康的狀態,并且由于人工檢測成本較高,檢測頻率低,不能及時發現水質的污染問題。所以迫切需要應用現代電子技術和物聯網技術,研制開發一種實時有效的游泳館水質監測系統,使監測人員可以通過互聯網獲取游泳館水質的相應參數,從而節約游泳館成本,保證游泳池水質安全,提高國內游泳館的水質水平。
縱觀國內游泳池水質監測設備,目前市場上主要以全自動和便攜式的水質監測設備為主,但很少能夠買到價格低廉,并且可以通過物聯網連接手機移動端實現實時監控的水質監測系統。基于此,本文設計開發了一種游泳館水質監測系統,硬件部分以STM32F103C8T6單片機作為核心控制器,通過ESP8266 Wi-Fi SoC芯片和MQTT傳輸協議,自行設計android手機APP作為接收客戶端,來實現遠程水質監測。
1系統總體設計
游泳館水質監測系統以STM32f103c8T6為硬件核心,利用傳感器獲取游泳水質相關參數,通過ESP826 Wi-Fi SOC芯片以及MOTT傳輸協議將檢測數據實時同步到遠程服務器,并通過移動客戶端通知使用人員達到游泳池水質實時監測的作用。并且根據國內最新的游泳池水質標準CJ/T 244-2016((游泳池水質標準》設定各項標準的報警閾值(以下稱為閾值),當安全指標超過閾值則通過軟件對使用人員進行報警。參考2016-2018年江蘇省江陰市游泳池水質監測分析,完整的七項快檢項目包括對水溫、pH值、渾濁度、大腸菌群、細菌總數、尿素、游離性余氯,本系統作為簡單低成本的監測預警系統,僅對其水溫,PH值,渾濁度三個指標進行實時監控,其他參數檢測可另外添加。系統總體框圖如圖l所示。
2硬件組成及其工作原理
2.1硬件組成及選型
系統硬件部分主要由主控器、電源電路、信號收發模塊和傳感器四部分組成,系統硬件連接框圖如圖2N示。
本系統使用的主處理器為STM32F103C8T6單片機,是一款基于ARM Cortex M內核架構的32位微處理器,擁有64KB閃存,20KB SRAM和37個I/O接口,可將I/O接口配置為數字信號輸入/輸出端口。單片機的主頻速度為72MHz,工作溫度在-40℃至85℃,需要供電電壓2V-3.6V,充分滿足了系統設計需求。
ESP8266 Wi-Fi SoC是一款低功耗、高集成度的WWi芯片,其工作溫度范圍在-40℃至125℃,性能穩定價格低廉。本系統選用ESP-01型ESP8266模塊,可使用串口的無線AP(COM-AP)模式,串口的無線STATION(COM-STA)模式和串口的無線AP+STA(COM-AP&STA)模式,同時還具備一鍵配網(smartConfig)功能。
2.2電源電路模塊
在游泳館水質監測系統中,單片機與ESP8266模塊需要的供電電壓為3.3V,傳感器需要的供電電壓為4.0-5.0V,所以需要選用穩定持續的供電系統來提供3.3V以及5V電壓的電壓源。系統最終采用TPS73XXQ系列的低壓差穩壓器,其在10=100mA時的最大極低電壓差僅為35mV(TPS7350),符合系統要求。3.3V(TPS7330)與5.0V(TPS7350)組成的電源系統模塊原理圖如圖3所示。
2.3ESP8266工作模式及AT指令簡介
ESP8266具備COM-AP模式、COM-STATIOM模式和COM STA+AP模式,每個模式都有各自的功能和應用場合。其中串口的無線AP(COM AP)模式是將模塊作為熱點,使用其他的設備接入到ESP8266模塊,通過串口來實現信息交互。串口無線sTA(COM STA)模式則是將模塊作為客戶端,用于將模塊接人其他熱點來構成WiFi網絡。而串口無線AP+STA(COM AP&STA)模式則是既能將模塊作為熱點供其他設備接入,又可以接人到其他WWi網絡,是前兩種模式的整合。初始化時單片機通過串口通信的方式,使用AT指令進行對模塊的最初配置和發送命令的操作,部分AT指令如表1所示。
2.4WiFi傳輸與MQTT傳輸協議
MQTT是消息隊列遙測傳輸的簡稱,英文全稱為MessageQueuing Telemetry Transport。是由IBM公司撰寫的適用于物聯網通信的傳輸協議。MQTT協議工作在TCP/IP協議族上,通過發布(Publish)/訂閱(Subscribe)的范式工作,是一種為了硬件性能低的遠程設備以及網絡狀態不良的情況下設計的消息協議Ⅲ。本系統通過硬件系統與路由器連接將信息傳輸至阿里云服務器,通過訂閱/發布功能實現手機遠程接收監測消息的功能。
2.5游泳池參數獲取