李培培,李 輝
(天津職業(yè)技術(shù)師范大學(xué)自動(dòng)化與電氣工程學(xué)院,天津 300222)
隨著科技的發(fā)展,智能技術(shù)已成為人們生活中不可或缺的一部分。在工業(yè)中,對(duì)工業(yè)洗衣機(jī)的控制也在不斷走向智能化,工業(yè)洗衣機(jī)被用于醫(yī)院、酒店等需要大規(guī)模清洗衣物的場(chǎng)所,且洗衣房需要在密閉的環(huán)境中進(jìn)行衣物的清洗與消毒。這樣,既減少人工成本,又提高工作效率[1]。然而,有些洗衣房仍采用人工添加藥液的方法,這不僅會(huì)降低工業(yè)洗衣機(jī)的效率,還會(huì)增加工人的工作壓力。遠(yuǎn)程智能控制系統(tǒng)正是可以解決這一問(wèn)題的自動(dòng)化設(shè)備。文獻(xiàn)[2]對(duì)工業(yè)洗衣機(jī)進(jìn)行網(wǎng)絡(luò)化改造,并結(jié)合智能化的洗滌算法,提高了工業(yè)洗衣機(jī)的洗滌效率,但未能實(shí)現(xiàn)對(duì)工業(yè)洗衣機(jī)的遠(yuǎn)程控制;文獻(xiàn)[3]提出基于嵌入式WEB的工業(yè)洗衣機(jī)遠(yuǎn)程監(jiān)控系統(tǒng),實(shí)現(xiàn)了對(duì)工業(yè)洗衣機(jī)的遠(yuǎn)程控制,但未能實(shí)現(xiàn)藥液的精準(zhǔn)智能投放功能。針對(duì)以上現(xiàn)狀,本文設(shè)計(jì)了一種工業(yè)洗衣機(jī)云服務(wù)遠(yuǎn)程智能控制系統(tǒng)。該系統(tǒng)通過(guò)傳感器不間斷檢測(cè)洗衣過(guò)程中的數(shù)據(jù)信息,利用無(wú)線傳輸模塊將數(shù)據(jù)上傳到云平臺(tái)并將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù),應(yīng)用模糊控制原理決定清洗衣物的過(guò)程,合理投入適量的洗滌劑和消毒劑,并創(chuàng)建手機(jī)端可視化界面,用戶(hù)可使用手機(jī)實(shí)時(shí)查看數(shù)據(jù),并下發(fā)指令通過(guò)云服務(wù)器和STM32控制端控制洗衣機(jī)。
系統(tǒng)總體結(jié)構(gòu)圖如圖1所示。

圖1 系統(tǒng)總體框圖
整個(gè)系統(tǒng)由遠(yuǎn)程監(jiān)控終端、現(xiàn)場(chǎng)觸摸屏、Wi-Fi通信以及OneNet云平臺(tái)構(gòu)成。STM32單片機(jī)作為設(shè)備端的主控芯片,通過(guò)ESP8266模塊與OneNet云平臺(tái)建立連接,并將數(shù)據(jù)傳輸?shù)絆neNet云平臺(tái),手機(jī)作為遠(yuǎn)程監(jiān)控終端,實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)監(jiān)測(cè)及控制設(shè)備的功能。同時(shí)OneNet是一個(gè)數(shù)據(jù)共享平臺(tái),可為企業(yè)信息管理提供數(shù)據(jù)接口。
硬件包括:主控芯片STM32、ESP8266Wi-Fi通信模塊、4個(gè)溫度傳感器模塊、4個(gè)濁度傳感器模塊、1個(gè)稱(chēng)重傳感器模塊,利用這些模塊實(shí)現(xiàn)數(shù)據(jù)采集和OneNet云平臺(tái)的數(shù)據(jù)上傳功能[4]。
1.2.1 STM32主控芯片選型
STM32作為控制芯片,在OneNet平臺(tái)上實(shí)現(xiàn)了對(duì)工業(yè)洗衣機(jī)的功能控制。考慮到工業(yè)洗衣機(jī)也會(huì)在地理位置較為偏僻的地方作業(yè),有環(huán)境信號(hào)不穩(wěn)定等情況,故選擇了F4系列的STM32F407ZGT6作為主控芯片[5]。該芯片集成度高、功耗低、集成性能好,可為系統(tǒng)的可靠性、準(zhǔn)確性和及時(shí)性提供保障。
1.2.2 Wi-Fi通信模塊
Wi-Fi通信模塊選用ESP8266芯片,這款芯片是專(zhuān)門(mén)針對(duì)無(wú)線連接需求而開(kāi)發(fā)的,既能獨(dú)立運(yùn)行,又能作為Slave搭載其他Host運(yùn)行。ESP8266性能穩(wěn)定、體積小、AT指令簡(jiǎn)潔高效,且有AP、STA和AP+STA 3種模式可供選擇[6]。其終端可以作為ESP8266和STM32之間的固定連接點(diǎn),主要通過(guò)ESP8266上的RXD、TXD與STM32上的PA9(UART1~TXD)、PA10(UART1~RXD)之間的數(shù)據(jù)傳輸來(lái)實(shí)現(xiàn)[7-8]。該方案使用STA模式,利用AT指令進(jìn)行運(yùn)算。其中AT指令說(shuō)明如表1所示。

表1 AT指令說(shuō)明
1.2.3 濁度采集
濁度檢測(cè)采用的濁度傳感器為T(mén)SW-30,濁度電流信號(hào)通過(guò)一個(gè)電阻器轉(zhuǎn)換成0~5V的電壓信號(hào),然后通過(guò)A/D轉(zhuǎn)換進(jìn)行采樣,傳輸?shù)墓庠蕉啵娏髟酱螅粋鬏數(shù)墓庠缴伲娏髟叫9]。根據(jù)表2所示的對(duì)應(yīng)引腳進(jìn)行連接,即可完成濁度的測(cè)定。

表2 模塊與STM32引腳連接
1.2.4 水溫采集
為了測(cè)量水溫,使用較為常見(jiàn)的數(shù)字溫度傳感器DS18B20,傳感器有數(shù)字信號(hào)輸出,可以很容易地被單片機(jī)讀取。該數(shù)字溫度傳感器不但精度高、體積小,硬件開(kāi)銷(xiāo)低,而且具有很強(qiáng)的抗干擾性。另外,該系統(tǒng)僅采用一條線路即可完成單片機(jī)STM32F407和DS18B20間的雙向通信,無(wú)需復(fù)雜的線路,操作更加簡(jiǎn)單。
1.2.5 衣物重量采集
選用HX711傳感器測(cè)量衣物重量,HX711為電阻應(yīng)變式傳感器,能夠?qū)⒁挛锏闹亓哭D(zhuǎn)化成電信號(hào)。該傳感器具有高精度,應(yīng)用范圍廣,可在相對(duì)較差的環(huán)境中使用的特點(diǎn)。
1.2.6 現(xiàn)場(chǎng)觸摸屏控制
為了實(shí)現(xiàn)工業(yè)洗衣機(jī)的現(xiàn)場(chǎng)控制,其控制設(shè)備采用觸摸屏方式進(jìn)行控制。單片機(jī)和觸摸屏之間通過(guò)MODBUS通信協(xié)議建立通信,實(shí)現(xiàn)通過(guò)觸摸屏來(lái)控制設(shè)備的功能。本系統(tǒng)使用1臺(tái)觸摸屏和4臺(tái)設(shè)備進(jìn)行通信[10]。
觸摸屏的主要功能為數(shù)據(jù)顯示、洗滌狀態(tài)顯示、藥液自動(dòng)添加、洗滌時(shí)間以及洗滌模式設(shè)定。界面上顯示4個(gè)通道分別對(duì)應(yīng)4臺(tái)洗衣機(jī)且每臺(tái)洗衣機(jī)有相對(duì)應(yīng)的設(shè)備編號(hào),數(shù)據(jù)顯示區(qū)分別顯示對(duì)應(yīng)編號(hào)洗衣機(jī)的水體濁度與溫度,每檢測(cè)1次對(duì)應(yīng)編號(hào)洗衣機(jī)的衣物重量,按1次確定按鈕,并將數(shù)據(jù)顯示在數(shù)據(jù)顯示區(qū)。
設(shè)備通電后,將ESP8266模塊配置成STA模式,通過(guò)建立無(wú)線路由器和OneNet之間的TCP連接,獲取云平臺(tái)的IP。對(duì)所發(fā)送的數(shù)據(jù)按照MQTT協(xié)議的要求進(jìn)行封裝和切片。將產(chǎn)品ID、設(shè)備ID及認(rèn)證信息封裝在協(xié)議頭中;數(shù)據(jù)類(lèi)型和大小封裝在消息頭中;分割數(shù)據(jù)集并封裝存儲(chǔ)JSON的信息[11]。數(shù)據(jù)傳輸流程如圖2所示。

圖2 數(shù)據(jù)傳輸流程圖
MQTT協(xié)議是基于TCP/IP建立的,以發(fā)行/訂購(gòu)模式運(yùn)行。MQTT協(xié)議的主要優(yōu)勢(shì)是為遠(yuǎn)程設(shè)備提供可靠和實(shí)時(shí)的信息服務(wù),并且只需要很少的編碼和帶寬[12]。MQTT具有簡(jiǎn)單、開(kāi)放和相對(duì)容易實(shí)現(xiàn)的特點(diǎn),且MQTT可以在TCP/IP等網(wǎng)絡(luò)中正常工作,提供有序、非破壞性的雙向連接,因此其應(yīng)用領(lǐng)域十分廣闊。
本設(shè)計(jì)采用的是通道1,PA1口的ADC1,計(jì)算濁度的代碼為
adcx=Get_Adc_Average(ADC_Channel_1,10);
temp=(float)adcx*(3.3/4096);
temp=temp*100/3.3;
if(temp>100)temp=100;
2.4.1 模糊推理
模糊邏輯確定了工業(yè)洗衣機(jī)的工作流程,在運(yùn)行過(guò)程中,檢測(cè)到的參數(shù)如水溫、衣物量、濁度被作為模糊推理的輸入條件[13]。通過(guò)模糊推理,得出智能工業(yè)洗衣機(jī)的主要目標(biāo)是確定洗滌劑和消毒劑的使用量、洗滌時(shí)間、所選擇的洗滌方式等。根據(jù)水溫和水體濁度確定所需添加的洗滌液和消毒劑的量及洗滌時(shí)間,所用脫水時(shí)間、水位高低等由被清洗衣物的質(zhì)地和重量來(lái)決定。洗衣機(jī)模糊推理結(jié)構(gòu)如圖3所示。

圖3 洗衣機(jī)模糊推理結(jié)構(gòu)圖
2.4.2 自動(dòng)添加藥液的洗滌方法
藥液存儲(chǔ)于洗衣機(jī)內(nèi)置藥液存儲(chǔ)盒中,存儲(chǔ)盒內(nèi)分為4個(gè)槽,分別存放1種洗滌劑和3種消毒劑。存儲(chǔ)盒的上蓋設(shè)有藥液的主要入口,底部設(shè)置有藥液排放口和電磁閥,用于控制藥液的開(kāi)閉。
啟動(dòng)洗衣機(jī),先加水預(yù)洗,然后按藥液自動(dòng)投放按鈕,在洗衣機(jī)模糊控制過(guò)程中檢測(cè)衣物重量、衣物污濁度、水溫,控制設(shè)備根據(jù)檢測(cè)的數(shù)據(jù)對(duì)應(yīng)藥液用量、洗滌時(shí)間、漂洗次數(shù)等規(guī)范參數(shù)控制洗衣機(jī)進(jìn)行洗滌。
該系統(tǒng)的軟件設(shè)計(jì)主要包括:OneNet平臺(tái)部署、數(shù)據(jù)庫(kù)建立、編輯手機(jī)端可視化界面、STM32F407的編程。其中對(duì)STM32F407的編程主要包括主程序、ESP8266連接、水濁度檢測(cè)、溫度檢測(cè)、衣物負(fù)載量、OneNet云平臺(tái)的連接以及數(shù)據(jù)上傳等。
該系統(tǒng)采用OneNet作為設(shè)備的云平臺(tái),該平臺(tái)支持不同的網(wǎng)絡(luò)環(huán)境、API、網(wǎng)絡(luò)協(xié)議等,且不同類(lèi)型的傳感器可以準(zhǔn)確、快速地部署在各種領(lǐng)域和生活場(chǎng)景中。此外,OneNet也是一個(gè)大數(shù)據(jù)平臺(tái),能夠存儲(chǔ)和傳輸來(lái)自智能終端的多個(gè)同步數(shù)據(jù)流[14-15]。OneNet平臺(tái)部署具體步驟為:
(1)產(chǎn)品創(chuàng)建。在OneNet平臺(tái)上創(chuàng)建一個(gè)可用MQTT通信協(xié)議訪問(wèn)的公共產(chǎn)品,并記住該產(chǎn)品的ID和APIKEY。
(2)設(shè)備創(chuàng)建。在已創(chuàng)建的產(chǎn)品中創(chuàng)建設(shè)備,輸入設(shè)備信息和設(shè)備編號(hào),記錄設(shè)備ID。
(3)建立TCP連接。IP地址為183.230.40.39,端口號(hào)為6002。
(4)數(shù)據(jù)點(diǎn)的傳輸。數(shù)據(jù)采用SDK中的接口功能和MQTT的封裝形式進(jìn)行上傳。
(5)生成應(yīng)用。成功上傳數(shù)據(jù)后,可以通過(guò)數(shù)據(jù)流創(chuàng)建應(yīng)用。
在OneNet平臺(tái)上,應(yīng)用的設(shè)計(jì)要遵循以下步驟:登錄OneNet官網(wǎng)→訪問(wèn)開(kāi)發(fā)者中心→訪問(wèn)已創(chuàng)建的產(chǎn)品→應(yīng)用管理→編輯應(yīng)用。用戶(hù)可以使用OneNet中的多種組件和配置來(lái)優(yōu)化界面[16]。
數(shù)據(jù)上傳至物聯(lián)網(wǎng)平臺(tái)后需要通過(guò)設(shè)備對(duì)數(shù)據(jù)進(jìn)行展示,OneNet的VIEW3.0平臺(tái)提供了可視化界面的開(kāi)發(fā)工具,設(shè)計(jì)的監(jiān)測(cè)界面如圖4所示。

圖4 手機(jī)監(jiān)控頁(yè)面
后臺(tái)數(shù)據(jù)庫(kù)用于保存OneNet平臺(tái)的所有數(shù)據(jù)信息,對(duì)系統(tǒng)的使用起到數(shù)據(jù)支撐作用。系統(tǒng)采用MySQL數(shù)據(jù)庫(kù)對(duì)傳感器所檢測(cè)到的溫度、濁度、衣物負(fù)載量等數(shù)據(jù)進(jìn)行存儲(chǔ),利用OneNet平臺(tái)提供的API接口與數(shù)據(jù)庫(kù)建立連接,實(shí)現(xiàn)數(shù)據(jù)遷移至可持久存儲(chǔ)的數(shù)據(jù)庫(kù)[17],方便用戶(hù)查看歷史數(shù)據(jù)。
本設(shè)計(jì)以STM32F407ZGT6為核心,利用ESP8266和OneNet云平臺(tái)的特性,設(shè)計(jì)一套基于物聯(lián)網(wǎng)信息技術(shù)與無(wú)線傳輸技術(shù)的工業(yè)洗衣機(jī)云服務(wù)遠(yuǎn)程智能控制系統(tǒng)。通過(guò)采集多種傳感器檢測(cè)到的數(shù)據(jù),并上傳實(shí)時(shí)數(shù)據(jù)到OneNet云平臺(tái)中,利用數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),用戶(hù)可通過(guò)手機(jī)監(jiān)控整個(gè)洗衣環(huán)境,實(shí)現(xiàn)工業(yè)洗衣機(jī)藥液的自動(dòng)投放功能。實(shí)驗(yàn)結(jié)果表明,傳感器對(duì)數(shù)據(jù)檢測(cè)的變化反應(yīng)靈敏、數(shù)據(jù)準(zhǔn)確,系統(tǒng)運(yùn)行穩(wěn)定、對(duì)接收的指令反應(yīng)迅速,符合設(shè)計(jì)要求。未來(lái)可進(jìn)一步融合5G技術(shù),使智慧工業(yè)快速發(fā)展。