黑龍江大學電子工程學院 王志玉 楊 鵬 張仔龍 沈永良
中央空調控制器專為控制中央空調的風機盤管開發設計。目前中央空調控制器還是以遙控器和按鍵控制為主,只能實現近距離控制未能實現遠距離控制。
本文設計了一種基于微信小程序控制的中央空調控制器,在任何有網絡的地方即可輕松控制。微信作為常見的聊天工具已經被廣泛普及,市場上的物聯網產品都需要下載專用的App才能控制,但由于大多數智能手機均可安裝微信客戶端,所以不用考慮兼容性問題,大大縮短了開發周期,也為用戶的使用提供了方便[1],微信小程序控制無需下載多余的App即可輕松控制。
本系統由中央空調控制器、騰訊云服務器、微信小程序組成。微信小程序負責作為中央空調控制器的控制端負責命令信息的發送,云服務器端負責命令的傳輸以及命令信息和數據信息的存儲,作為微信小程序與硬件通信之間的紐帶,中央空調控制器負責數據請求和接受服務器端的傳過來的數據,實現控制中央空調控制器,最終實現了微信小程序控制中央空調控制器的應用。系統結構如圖1所示:

圖1 系統的結構圖
中央空調控制器包含有控制器板和電源供電板兩塊電路板組成,電源供電板是將220V市電經過變壓、整流、濾波、穩壓轉化為5V直流電壓為控制器板上的STM8單片機供電以及接受STM8單片機信號驅動繼電器觸發風機排管工作,控制器板包含NTC溫度獲取電路、斷碼液晶屏的驅動電路、按鍵電路、WIFI模塊等。本硬件電路用于控制風機排管的通斷,斷碼液晶屏顯示以及請求服務器MySQL數據庫中的數據等,中央空調控制器的實物圖如圖2所示。

圖2 中央空調控制器實物圖
服務器是網絡環境中高性能計算機,它的高性能主要體現在高速度的運算能力、長時間的可靠運行、強大的外部數據吞吐能力等方面[2]。在騰訊云上申請騰訊云服務器,獲得騰訊云服務器之后得到相應的公網IP和內網IP。PHP腳本語言socket編程綁定云服務器對應的內網IP,中央空調控制器的WIFI模塊使用TCP/IP協議經路由器連接云服務器,綁定云服務器公網IP。
本系統的設計需要控制中央空調控制器的溫度、關機以及背光開啟和關閉。首先在利用遠程桌面登錄騰訊云服務器,在管理員權限下進入命令行之后連接數據庫,建立數據庫和數據表,然后插入字段4個字段id、set_temp、bk_ground、close_eqv然后插入一條記錄id=1、set_temp=26、bk_ground=0、close_eqv=0,表示設置中央空調控制器的溫度為26度,bk_ground=0表示背光的關閉,等于1表示背光開啟,close_eqv=0則表示關機。服務器端與STM8鏈路用TCP/IP協議,PHP的socket編程監聽STM8請求命令。微信與服務器通信時,將微信端作為HTTP客戶端,通過POST方式向服務器提交命令,服務器獲取微信端提交的命令并存入MySQL數據庫。
2.2.1 服務器與中央空調控制器通信
PHP的socket編程,用于建立網絡服務的客戶端和服務端之間通信鏈路。通過php的socket_create函數創建一個socket套接字,建立網絡數據流(在本系統中WIFI模塊作為客戶端連接服務器),然后綁定騰訊云服務器的內網IP地址與需要監聽的端口號,監聽相應套接字,阻塞直到客戶端連接上,WIFI模塊連接上服務器之后可以進行數據的收發。在管理員模式進入命令行,運行編寫好的PHP程序,socket通信的流程如圖3所示。

圖3 socket通信的流程
WIFI模塊與服務器通信編寫了一套通信協議,WIFI模塊與服務器通信采用一發一回的模式,當下位機請求數據時,服務器收到請求返回數據給下位機,通信協議如下:
下位機請求時發送數據:START
服務器響應為:RTART XX A B C
其中START表示數據請求命令(START后的+++代表WIFI退出透傳模式),RTART表示返回的數據,XX代表發送給空調控制器的溫度設定的數字字符,A的位置若為字符‘a’代表關機,其他值忽略,B的位置若為字符‘b’代表關閉背光,C的位置若為‘c’,代表關閉背光,其中B與C的位置不能同時為‘b’和‘c’,數據發送和接收過程如圖4所示。

圖4 數據發送和接收過程
2.2.2 微信小程序與服務器通信
微信小程序與服務器之間通過HTTP協議進行通信,微信小程序作為HTTP協議的客戶端,通過POST方式向服務器發送HTTP請求并上傳數據,服務器接收到請求命令之后首先判斷POST方式獲取的id或者set_temp、bk_ground、close_eqv中三者之一的值是否為空,若為空則忽略,否者連接MySQL數據庫并將獲得的數據更新到相應id對應的數據表中。
利用微信開發者工具進行微信小程序的程序編寫,小程序框架提供了一個名為wx.request()的方法,用于發起HTTP請求,并且發送相應的命令給服務器,服務器將此命令下發給下位機,進而實現遠程控制的作用,搭建好的微信小程序如圖5。

圖5 微信小程序
本文設計了一款基于微信小程序控制的中央空調控制器。其中用到了微信小程序開發技術、PHP、MySQL數據庫、STM8單片機等,微信小程序與服務器通過HTTP協議通信,服務器與單片機通過TCP/IP協議通信,最終實現了微信小程序遠程控制中央空調。