陳海華,鄒紅艷,李玉榮
(南京林業(yè)大學(xué) 機(jī)械電子工程學(xué)院 江蘇 南京 210037)
將無(wú)線傳感網(wǎng)絡(luò)配置入網(wǎng)通過(guò)特定的通信協(xié)議接入一個(gè)云計(jì)算平臺(tái),便可輕松實(shí)現(xiàn)聯(lián)網(wǎng)控制。特定的通信協(xié)議保證了可靠穩(wěn)定的數(shù)據(jù)交換[1],云計(jì)算平臺(tái)作為數(shù)據(jù)處理中心,將傳感網(wǎng)絡(luò)終端獲得的數(shù)據(jù)進(jìn)行處理或存儲(chǔ),同時(shí)提供一個(gè)界面給用戶查看和操作[2]。本文通過(guò)機(jī)智云平臺(tái),簡(jiǎn)單地制作了聯(lián)網(wǎng)控制的智慧空調(diào)系統(tǒng)。
整個(gè)智慧空調(diào)控制部分選用stm32f103作為微控制器;數(shù)據(jù)采集選用了具有校準(zhǔn)數(shù)字信號(hào)輸出的DHT11傳感器,通過(guò)單總線的形式從數(shù)據(jù)線讀取測(cè)量數(shù)據(jù)[4];顯示部分選用低功耗的OLED,顯示當(dāng)前溫濕度以及無(wú)線網(wǎng)絡(luò)狀態(tài);通信部分選用ESP8266模塊,保持接入無(wú)線網(wǎng)絡(luò),實(shí)現(xiàn)與微控制器和云平臺(tái)的雙向通信;空調(diào)部分選用制冷片與導(dǎo)冷端,由小風(fēng)扇引出涼風(fēng),達(dá)到模擬空調(diào)的效果。
ESP8266WiFi傳感器自帶強(qiáng)大的硬件接口,通過(guò)配置接入WiFi后可以實(shí)現(xiàn)串口通信[5]。本系統(tǒng)接入WiFi的配置方式為AirLink模式,傳感器不斷接收WiFi廣播包,手機(jī)連接WiFi后,通過(guò)機(jī)智云APP發(fā)送編碼后的廣播包,在WiFi信號(hào)良好的情況下能快速接入無(wú)線網(wǎng),并保存當(dāng)前接入的WiFi信息,入網(wǎng)后傳感器能快速響應(yīng)云平臺(tái)的指令。
空調(diào)的制作器件為制冷片、導(dǎo)冷端、散熱風(fēng)扇、小風(fēng)扇、開關(guān)電源以及繼電器等。繼電器信號(hào)觸發(fā)端由stm32接入,常開端與公共端同制冷片、散熱風(fēng)扇和小風(fēng)扇及12V電源組成回路,在有高電平的信號(hào)觸發(fā)下,繼電器吸合,回路接通并工作。小風(fēng)扇還加入了電調(diào)控制,可以根據(jù)stm32的PWM信號(hào)進(jìn)行轉(zhuǎn)速調(diào)節(jié)。
軟件的設(shè)計(jì)分?jǐn)?shù)據(jù)采集及顯示和機(jī)智云平臺(tái)指令的收發(fā),兩者獨(dú)立工作互不影響。本系統(tǒng)需要采集溫度值、濕度值,發(fā)送溫度值、濕度值、PWM值以及接收控制系統(tǒng)通斷的布爾值,整個(gè)實(shí)現(xiàn)過(guò)程同時(shí)借助串口助手進(jìn)行調(diào)試。程序?qū)崿F(xiàn)過(guò)程為外設(shè)初始化,串口協(xié)議初始化,初始化成功后進(jìn)行溫濕度讀取[6],WiFi配置,最后實(shí)現(xiàn)通信。
數(shù)據(jù)采集部分使用了DHT11的驅(qū)動(dòng)程序,顯示部分使用了OLED驅(qū)動(dòng)和IIC驅(qū)動(dòng)。stm32上電后先進(jìn)行溫濕度和顯示程序的初始化,在讀取溫濕度數(shù)據(jù)成功的情況下,OLED屏上會(huì)顯示當(dāng)前的溫濕度信息,模擬室內(nèi)環(huán)境的檢測(cè),WiFi接入成功還可顯示ON的提示,方便用戶知道當(dāng)前已接入無(wú)線網(wǎng)。顯示界面效果如圖1所示。
云平臺(tái)通信部分使用了機(jī)智云通信協(xié)議。WiFi配置API為gizwitsSetMode(),實(shí)現(xiàn)AirLink配置模式需將參數(shù)選擇為WIFI_AIRLINK_MODE。發(fā)送數(shù)據(jù)到云平臺(tái)的API為gizwitsHandle(),參數(shù)需填上協(xié)議提供的currentDataPoint數(shù)據(jù)結(jié)構(gòu)體的地址,使用之前需要往結(jié)構(gòu)體里更新溫濕度值。云平臺(tái)接收數(shù)據(jù)命令的API為gizwitsEventProcess(),該函數(shù)用來(lái)處理一系列的事件請(qǐng)求,比如WiFi配置模式的處理,用戶指令處理,通信系統(tǒng)異常處理等。要實(shí)現(xiàn)空調(diào)的開斷,風(fēng)扇的調(diào)速只要在這函數(shù)體里添加相應(yīng)的代碼便可實(shí)現(xiàn)。
系統(tǒng)模型制作完成,代碼調(diào)試成功后,下載機(jī)智云提供的模板APP,也可以選擇自行開發(fā),模板APP的界面如圖2所示。

圖1 OLED顯示界面

圖2 模板APP界面
系統(tǒng)接入WiFi后,頁(yè)面上自動(dòng)顯示出云平臺(tái)接收到的溫度值和濕度值,按下switch后stm32提供高電平信號(hào)使繼電器吸合,散熱風(fēng)扇、小風(fēng)扇和制冷片開始工作。小風(fēng)扇默認(rèn)運(yùn)轉(zhuǎn)在低速狀態(tài),可以通過(guò)set進(jìn)行調(diào)速,進(jìn)而控制溫度,一般的控制模式為PID控制模式。手機(jī)改換用4G信號(hào),依然能成功控制系統(tǒng)。
整個(gè)測(cè)試過(guò)程中,系統(tǒng)能穩(wěn)定地處在WiFi中,沒(méi)有休眠或意外斷網(wǎng),并能長(zhǎng)時(shí)間穩(wěn)定工作,達(dá)到預(yù)期的效果。通過(guò)本系統(tǒng)接入WIFi的工作方式,能很好的實(shí)現(xiàn)聯(lián)網(wǎng)控制空調(diào),在炎熱的夏天滿足人們的生活需求。