薛義鵬,陳 鑫,孫馨瑤,李松軍
(1.西安工程大學 電子信息學院,西安 710048;2.浙江偉盈智能科技股份有限公司,諸暨 311800)
棉紡車間溫濕度對紡紗工藝的影響很大[1]。 在不同的溫濕度條件下, 纖維的物理特性和機械特性,如強力、伸長度、導電性、柔軟性、回潮率、摩擦因數等都將發生不同程度的變化,其溫濕度的變化直接影響到棉紡廠各道工序半制品質量和生產狀況[2-3]。 由于我國的紡織業仍無法完全擺脫對人力成本的依賴,使得棉紡車間的信息化與智能化發展受限,對棉紡車間監測依舊停留在小范圍的、零散的、相互獨立的層面上,如對棉紡車間環境溫濕度的監控依舊停留在人力監測,人工控制通風噴霧等原始方式上[4-5]。
本文以STM32F103 單片機作為微系統控制器設計了棉紡車間環境監測系統,使用DHT11 數字溫濕度傳感器對溫濕度數據進行采集,利用ZigBee 和WiFi 通信技術進行環境數據的傳輸,采集得到的數字信號通過ZigBee 通信直接送入微處理器進行處理, 處理后的數據通過WiFi 通信技術傳輸到阿里云物聯網平臺, 最終實現用戶PC 端和手機端的溫濕度數據遠程監測與預警。 以此實時監測棉紡車間溫濕度狀況,能夠對其進行及時修正,減少不必要的損失。
溫濕度監測系統總體設計如圖1 所示,系統包括應用服務層、網絡層和感知層3 個層次,其中網絡層包括傳輸層以及平臺層[6]。

圖1 溫濕度監測系統總體設計框圖Fig.1 Overall design block diagram of temperature and humidity monitoring system
(1)感知層由DHT11 溫濕度傳感器、STC89C52單片機、ZigBee 通信模塊、ZigBee 協調器、STM32F103單片機構成,該系統設置有3 個采集節點和1 個采集終端,各模塊之間的ZigBee 通信網采用星狀網絡拓撲結構,用于采集溫濕度數據后傳送至微系統控制器進行數據處理;
(2)網絡層采用WiFi 通信技術,通過WiFi 通信模塊將采集節點采集的數據上傳到阿里云物聯網平臺,平臺層使用阿里云物聯網平臺,能夠實現不同類型終端及不同應用的統一接入和管理,實現互通互聯;
(3)應用層為客戶端,通過PC 端和手機APP 實時監測溫濕度信息。
采集終端主要用于接收采集節點所測的溫濕度數據,系統采用可充電式電池供電,采用STM32F103單片機作為核心控制器,RTC(real time clock)功能可以實現定時喚醒功能,不工作時系統休眠,降低功耗,此時單片機的IO 口均設為低電平輸出,時鐘頻率也為最低,電流一般小于1 μA[7]。
采集終端硬件設計如圖2 所示,核心控制器外圍主要由液晶顯示屏、聲光學報警器、按鍵、ZigBee通信模塊以及ESP8266 WiFi 模塊組成。

圖2 采集終端硬件設計圖Fig.2 Hardware design drawing of acquisition terminal
采集節點主要用于采集溫濕度數據,采集節點硬件設計如圖3 所示。采集節點由STC89C52 單片機、聲光學報警器、ZigBee 通信模塊、 按鍵以及DHT11溫濕度傳感器組成。 其中STC89C52 單片機是一個低功耗、高性能的51 內核的CMOS 8 位單片機,使用簡單且價格非常低廉[8]。

圖3 采集節點硬件設計圖Fig.3 Hardware design drawing of acquisition node
棉紡車間處于穩定的環境條件下,因此棉紡車間的溫濕度狀況不會發生較大變化,本文選用限幅濾波法對遞推算法進行優化,以此來設計合適的移動平均濾波器。
將一段時間內連續的采樣數據設成長度為N 的隊列,測出一個新數據后,將隊列的首個數據去掉,其余N-1 個數據依次前移一位,將新測量的數據插入隊列的列尾,形成新的隊列,并對新隊列重復上述運算,將n 次后的結果確定為最終采樣結果[9]。 設輸入值為x(n),最終采樣值為y(n),隊列長度為N,則:

通過限幅濾波法對移動平均濾波器進行優化,判斷被測量信號的變化幅度,以此消除緩變信號中的尖脈沖干擾,有效克服偶然因素引起的脈沖干擾。通過比較相鄰兩個時刻的采樣值y(n)和y(n+1),根據前一隊列n 個數據的離散程度, 確定兩次采樣值的最大偏差值ε。若采樣值超過最大偏差范圍U,認為最新的采樣值y(n+1)為非法值,應該刪除,用y(n)代替y(n+1);若采樣值未超過偏差范圍,認為數據有效,加入隊列。

溫濕度監測系統軟件程序部分主要包括采集終端主程序、采集節點程序及連接服務器程序等組成。程序關鍵部分如圖4 所示。系統上電后,初始化采集終端和采集節點的單片機串口、時鐘、GPIO 口以及云平臺等,然后計算MQTT 連接參數,連接到阿里云平臺并訂閱相關主題。 之后,進入主循環,先檢查MQTT 是否連接成功,接著獲取當前采集節點傳感器的信息并實時更新傳感器的狀態,得到溫濕度數據,并將檢測到的數據發送給采集終端,采集終端利用OLED 顯示屏顯示當前各區域溫濕度信息;同時系統自行判斷溫濕度數據是否超過設定的閾值,若超過設定的閾值自動報警,發布報警事件,并將數據發送到設備屬性當中,最后,上傳設備屬性數據,然后發布設備屬性,進入下一次循環。

圖4 采集終端主程序流程Fig.4 Main program flow chart of acquisition terminal
采集終端要與阿里云物聯網平臺進行數據交互,設備首先要接入SDK。 阿里云物聯網平臺的Link Kit 軟件開發包可以實現設備的連云開發,且有多種編程語言選擇,比如Java、C 語言和Python。 本文方案選用C 語言版本SDK,以便支持底層硬件驅動訪問和兼容Libmodbus。訪問阿里云物聯網平臺官網(https://iot.console.aliyun.com/)登錄并注冊用戶,根據平臺的標準接入流程在平臺上創建相應的產品和設備,并得到產品設備的三元組(product Key,device Name,device Secret)與軟件開發包綁定,即可實現數據傳輸。
本系統中ESP8266 WiFi 模塊對接阿里云物聯網平臺采用MQTT 協議,使得采集終端與阿里云物聯網平臺進行數據互通。 Link Kit 支持與云端的MQTT進行通信, 該方案為低成本的設備連云提供了基礎。MQTT 是一種基于發布/訂閱(Publish/Subscribe)機制的“輕量級”通訊協議,專為一些軟硬件資源較少的物聯網設備設計[10],MQTT 訂閱發布機制如圖5所示。由于阿里云平臺只接受Alink 協議的數據,所以在本文中選擇將ESP8266 所采集到的數據進行嵌套, 嵌套完成后再由MQTT 協議發送至云端,平臺即可實時監測溫濕度值。

圖5 MQTT 訂閱發布機制Fig.5 MQTT subscription publishing mechanism
將本文設計的溫濕度監測系統應用于100 m2的實驗室中,實地監測實驗室的溫濕度,由于本文系統設計的有3 個采集節點,因此將A 節點放置在實驗室左上角位置,B 節點放置于實驗室右下角位置,C 節點放置在實驗室中間位置;也可將該系統放在對環境溫濕度要求較高的特殊實驗室、 廠房、大棚等環境中。 用華盛昌溫濕度檢測儀DT-83 來檢驗本系統采集數據的準確性(DT-83 溫度測量范圍為-20~60 ℃,測量精度為±1 ℃;濕度檢測范圍為0~100%RH,檢測精度為±3.5%RH)。同時,用DT-83 的COM端采集到的溫濕度數據作為本文系統采集溫濕度數據的對比,本次連續測試8 小時(8:00-16:00),以此驗證該溫濕度監測系統傳輸過程中數據是否準確、數據是否丟失等,數據對比如圖6 所示。用本文系統連續采集100 組溫濕度數據,在網頁端查看數據傳輸與接收情況,記錄數據并分析,平臺的數據收發界面如圖7 所示,結果表明本系統在數據傳輸過程中傳輸速率較快且準確,極少出現丟包現象,證明了本系統的可行性和穩定性。 采集節點采用ZigBee 技術進行數據傳輸,數據傳輸快,由于工作時間較短、收發信息功耗較低且采用了休眠模式,使得ZigBee 設備非常節能,在非工作模式時,ZigBee 節點處于休眠模式, 耗電量僅僅只有1 μW,本系統一節點連續測量一個星期,消耗電量占原電量的12%。借助阿里云平臺,設計了對應的手機APP,如圖8 所示,手機APP 能直接查看各區域溫濕度、設置各區域溫濕度閾值以及查看歷史數據, 更加方便使用者對環境狀況的實時監測,提高用戶的使用感。

圖6 PC 端和華盛昌DT-83 溫濕度檢測儀實際測量的溫濕度數據對比圖Fig.6 Comparison of temperature and humidity data actually measured by PC terminal and Hua Sheng Chang DT-83 temperature and humidity detector

圖7 平臺數據收發界面Fig.7 Platform data sending and receiving interface

圖8 手機APP 界面Fig.8 Mobile APP interface
本文提出了一種以STM32F103 單片機為采集終端主控制器, 以STC89C52 單片機為采集節點控制器的棉紡車間溫濕度監測系統,并將其成功應用在實驗室的溫濕度監測中。 本系統具有成本低、易實現、運行可靠、功耗低等特點。 同時,本系統在硬件設計時預留出一對傳感器接口,可與PH 傳感器、煙霧傳感器等其它環境監測傳感器連接,可在地下車庫、倉庫、大棚等眾多環境實現多元化場景運用,使得運用領域與用戶輻射面更為廣闊。