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

圖1 OLED顯示界面

圖2 模板APP界面
系統接入WiFi后,頁面上自動顯示出云平臺接收到的溫度值和濕度值,按下switch后stm32提供高電平信號使繼電器吸合,散熱風扇、小風扇和制冷片開始工作。小風扇默認運轉在低速狀態,可以通過set進行調速,進而控制溫度,一般的控制模式為PID控制模式。手機改換用4G信號,依然能成功控制系統。
整個測試過程中,系統能穩定地處在WiFi中,沒有休眠或意外斷網,并能長時間穩定工作,達到預期的效果。通過本系統接入WIFi的工作方式,能很好的實現聯網控制空調,在炎熱的夏天滿足人們的生活需求。