李熙浤 許超
摘 要 針對機房風(fēng)冷系統(tǒng)所使用的傳統(tǒng)工業(yè)空調(diào)遙控面板均是固定在墻壁上,值班員操作起來不方便等缺陷,在STM32模擬智能空調(diào)遙控系統(tǒng)的基礎(chǔ)上,對機房風(fēng)冷系統(tǒng)中傳統(tǒng)的工業(yè)空調(diào)進行改造,實現(xiàn)對非智能空調(diào)的遠(yuǎn)程控制。該系統(tǒng)通過中斷接收來自PC機網(wǎng)絡(luò)調(diào)試助手或是手機APP的控制信號,進而完成對空調(diào)的控制,并在LCD上同步更新顯示當(dāng)前空調(diào)設(shè)定的溫度、模式、風(fēng)速、開關(guān)狀態(tài)和檢測到的廣播發(fā)射機及其附屬設(shè)備的溫濕度,使當(dāng)班人員能夠方便、快捷地對空調(diào)進行監(jiān)控和操作。
關(guān)鍵詞 廣播發(fā)射臺 STM32 WIFI 空調(diào)
0 引言
我臺兩部S7HP中波發(fā)射機發(fā)射功率較大,在工作運行時功放模塊、變壓器等設(shè)備容易產(chǎn)生較高的熱量。其風(fēng)冷統(tǒng)由四臺特靈ZK-20組合式空調(diào)機組組成,其控制面板固定在墻壁上,值班員如要對空調(diào)制冷溫度進行調(diào)節(jié),需要先從監(jiān)控工位上步行到空調(diào)的控制面板前才能進行操作,耗時又費力,使用起來很不方便。我臺機房技術(shù)人員經(jīng)過探討、總結(jié),提出了基于STM32模擬智能空調(diào)遙控系統(tǒng)對空調(diào)進行遠(yuǎn)程控制的解決方案,可以幫助值班人員在監(jiān)控工位上即可使用電腦或者手機對空調(diào)進行實時、有效的監(jiān)控和操作。
1 系統(tǒng)方案設(shè)計
通過PC機網(wǎng)絡(luò)串口發(fā)送控制信號到是單片機無線模塊,或是通過手機app發(fā)送指令到云端服務(wù)器,無線模塊讀取命令并傳送給單片機I/O,I/O收到信號后進入相應(yīng)的中斷程序,控制電氣線路到空調(diào)微電腦控制器的輸出,進而實現(xiàn)對空調(diào)的控制。單片機WiFi模塊收到手機APP或PC機網(wǎng)絡(luò)調(diào)試助手的控制信號時,LCD屏開始工作,顯示機房溫濕度,空調(diào)設(shè)定的溫度與模式,并在連續(xù)兩分鐘之內(nèi)終端與設(shè)備之間沒有任何數(shù)據(jù)傳輸時進入休眠狀態(tài),等待再次喚醒。
系統(tǒng)分為五大部分(如圖1所示):(1)STM32控制系統(tǒng);(2)溫濕度檢測系統(tǒng);(3)LCD顯示系統(tǒng);(4)WiFi串口通信系統(tǒng);(5)云端服務(wù)器與APP系統(tǒng)。
本系統(tǒng)硬件電路基于STM32F103芯片,STM32在嵌入式介于低端與高端的領(lǐng)域之間,它對于普通的8/16位機來說有更多的片上外設(shè),內(nèi)核結(jié)構(gòu)更加的先講,而且其成本低,功耗低,實時性強, STM32是通過直接調(diào)用庫函數(shù)來完成功能的實現(xiàn),開發(fā)直接省時,且再次修改程序時方便易讀。
溫濕度檢測系統(tǒng)使用DHT11溫濕度傳感器,DHT11檢測溫度范圍0~50℃(精度為+/-1℃),濕度20~90%(精度為?/- 4%),我們正??照{(diào)開啟時機房溫濕度在此量程之內(nèi),且其體積小功耗低,且與單片機連接方便,價格實惠。
WiFi通信模塊采用ESP8266串口WiFi無線收發(fā)模塊,該模塊是符合WiFi無線網(wǎng)絡(luò)標(biāo)準(zhǔn)的UART-WiFi嵌入式模塊,具有雙排(2 X 4)插針式接口,內(nèi)置TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)用戶串口數(shù)據(jù)與無線網(wǎng)絡(luò)之間的轉(zhuǎn)換。ESP8266模塊支持三種工作模式:一種是通過服務(wù)器連接網(wǎng)絡(luò),再通過移動終端或是PC機遠(yuǎn)程控制設(shè)備;一種是以這個模塊作為無線熱點,實現(xiàn)模塊與移動設(shè)備的通信;還有一種模式是這兩種的結(jié)合,可以通過互聯(lián)網(wǎng)實現(xiàn)無縫切換。[1]該模塊靈活通用。用網(wǎng)絡(luò)調(diào)試助手創(chuàng)建一個TCP服務(wù)器,在協(xié)議類型處選擇TCP Server協(xié)議,本機IP地址一般會默認(rèn)自動填入本機IP,若有多個IP也可以自己修改,設(shè)置端口號,然后點擊連接。通過發(fā)送區(qū)發(fā)送控制命令,WiFi模塊讀取控制碼,且根據(jù)相應(yīng)碼段發(fā)送紅外碼 ,實現(xiàn)對空調(diào)的控制,同時LCD上更新當(dāng)前空調(diào)設(shè)定值和機房溫濕度。為了節(jié)省功耗,本系統(tǒng)設(shè)計在STM32單片機連續(xù)兩分鐘之內(nèi)沒有收到命令進入休眠狀態(tài),有數(shù)據(jù)傳輸時自動喚醒。
手機用戶端所需要完成的功能是對空調(diào)的智能控制,手機用戶端利用WiFi網(wǎng)絡(luò)發(fā)送控制信號到服務(wù)器端,服務(wù)器端在接收到信號后做出相應(yīng)的判斷然后,傳輸給設(shè)備。手機 APP的制作是基于在Android平臺搭建好APP界面,根據(jù)相應(yīng)的要求進行程序的編輯,已達到所要實現(xiàn)的要求,然后通過USB連接手機移動端和電腦,將APP導(dǎo)入到手機終端。通過手機終端實現(xiàn)對機房空調(diào)的控制。在設(shè)計上使用Google公司完全開發(fā)的Android編程環(huán)境Google APP Inventor,在對它的使用中,只要有Google賬號就可以登錄,然后在線完成所需要的功能后打包apk程序并下載到手機。它拋棄了復(fù)雜的程序代碼模式,采用搭積木的堆疊的方法來完成Android程式。本設(shè)計的機房空調(diào)系統(tǒng)的控制是以制作STM32面板來取代空調(diào)的遙控開關(guān),手機用戶端使用WiFi功能與硬件STM32上的無線傳感器WiFi模塊進行連接,控制的命令信號先進行編碼后通過網(wǎng)絡(luò)層發(fā)送到所連接的無線網(wǎng)關(guān),在信號傳輸?shù)接布虾?,微處理器會以無線通信的過程將收到的信號進行解析,通過點亮硬件板上的LED燈來表示開啟狀態(tài)。系統(tǒng)功能結(jié)構(gòu)圖如圖2所示。
2 系統(tǒng)程序設(shè)計
本系統(tǒng)的程序也分為幾個部分,系統(tǒng)初始化之后,設(shè)置WiFi各種參數(shù),測試WiFi能否順利連接,系統(tǒng)上電后,主控制器一直處于檢測狀態(tài),溫濕度傳感器該功能實現(xiàn)是會有5秒左右的初始化時間,此時程序控制LCD拼屏幕顯示“Intitalizing”,成功讀取數(shù)據(jù)后,LCD顯示機房溫濕度和空調(diào)狀態(tài),且發(fā)送至網(wǎng)絡(luò)調(diào)試助手,檢測網(wǎng)絡(luò)是否失去連接,沒有失去連接則通過網(wǎng)絡(luò)調(diào)試助手發(fā)送指令,無線模塊收到指令且發(fā)送對應(yīng)紅外碼,發(fā)送成功LCD同時更新顯示的空調(diào)模式狀態(tài),并返回值“1”,表示成功控制空調(diào),若網(wǎng)絡(luò)調(diào)試助手在兩分鐘之內(nèi)沒有收到返回值,則系統(tǒng)進入省電模式。本文部分代碼如下:
If(DHT11_Read_TempAndHumidity(&DHT11;_Data)==SUCCESS)
{Sprint(cStr,”\r\n讀取溫濕度數(shù)據(jù)成功!\r\n\r\n溫度為:%d%d濕度為:%d.%d%\r\n”,
DHT11_Data.humi_int,DHT11_Data.humi_deci,DHT11_Data.temp_int,DHT11_Data.temp_deci);
Sprint(cStr,”H:%d.%d %%RH T:%d.%d C”,
DHT11_Data.humi_int,DHT11_Data.humi_deci,DHT11_Data.temp_int,DHT11_Data.temp_deci);}
Wifi_data=ESP8266_ReceiveString(ENABLE);
If(wifi_data!=0)
{strEsp8266_Fram_Record.InfBit.FramLength=0;
strEsp8266_Fram_Record. InfBit.FramFinishFlag=0;
ESP8266_SendString(ENABLE,”1”,0,Single_ID_0);
ILI9341_BackLed_Control(ENABLE);}
IF(t1<0)
t1=27;
Sprintf(t_display,”Temperature:%d”,t1);
ILI9341_DispString_EN(50,34,t_display,macWHITE,macBLACK);
Transmit[8]=0;
LCD_cnt=0;
ILI9341_BackLed_Control(ENABLE);
Flag=0;
Sprint(tStrl,”%d%d%d%d%d%d%d%d%d”,
transmit[0],transmit[1], transmit[2], transmit[3],
transmit[4], transmit[5], transmit[6], transmit[7], transmit[8]);
ILI9431_DispString_EN(20,160,cStrl,macWHITE,macBLACK);
3 試驗數(shù)據(jù)測量與分析
3.1 LCD顯示屏測試
Lcd顯示屏共有三種狀態(tài),當(dāng)設(shè)備通電時,進入初始化狀態(tài),這段時間約為3~8s,屏幕顯示“Intitalizing”初始化狀態(tài);當(dāng)有數(shù)據(jù)傳輸時,設(shè)備進入工作狀態(tài),LCD上顯示此時空調(diào)設(shè)定的溫度,模式,風(fēng)速和開關(guān),并顯示機房當(dāng)前的溫濕度,工作模式狀態(tài)(如圖3所示);經(jīng)測試均能正常使用,如圖3所示:
3.2 WiFi通信測試
下載TCP/UDP測試工具,用于配合WiFi數(shù)據(jù)收發(fā)調(diào)試工具軟件。[2]建立連接后,通過網(wǎng)絡(luò)助手發(fā)送命令檢測,實現(xiàn)對WiFi模塊設(shè)置與控制,完成網(wǎng)絡(luò)連接和數(shù)據(jù)收發(fā)。數(shù)據(jù)發(fā)送成功則回傳1(如圖4所示)。對于數(shù)據(jù)源,主要是指通過串口進行傳輸數(shù)據(jù)給STM32,本文主要是使用PC機,而對于WiFi模塊則主要負(fù)責(zé)連接網(wǎng)絡(luò)、發(fā)送和接收數(shù)據(jù),但其主要功能還是需要STM32進行控制,亦可通過手機APP控制(如圖5所示)。
WiFi發(fā)送控制碼碼段共有4位,依次分別代表溫度、模式、掃風(fēng)等級、空調(diào)開關(guān)。第一位為溫度(16度~30度),用a代表16度,b代表17度,以此類推;第二位為模式,A代表自動模式,C代表制冷模式,D代表除濕模式,H代表加熱模式;第三位為掃風(fēng)等級,W代表自動檔,X代表1檔,Y代表2檔,Z代表3檔;第四位為開關(guān),R代表開,S代表關(guān)。
在網(wǎng)絡(luò)調(diào)試助手窗口發(fā)送“aHWR”,根據(jù)碼段解碼,即16度,模式自動,風(fēng)速自動,開啟空調(diào),當(dāng)主控制機收到指令發(fā)送紅外碼,且空調(diào)模式與預(yù)期設(shè)定吻合,網(wǎng)絡(luò)調(diào)試助手收到返回值“1”,表示已經(jīng)成功控制空調(diào),且LCD也同時更新顯示空調(diào)狀態(tài)(如圖6所示),經(jīng)反復(fù)測試各個模式溫度風(fēng)速,LCD顯示模塊,無線通信模塊,溫濕度檢測模塊,均能正常工作,成功開啟關(guān)閉空調(diào),且符合傳輸碼段設(shè)置,各個模塊狀態(tài)一一對應(yīng)。
4 總結(jié)
本文主要是設(shè)計一種結(jié)合串口通信技術(shù)與無線網(wǎng)絡(luò)技術(shù)的智能空調(diào)遙控系統(tǒng),實現(xiàn)了PC機串口控制與手機APP控制的雙移動終端控制。該系統(tǒng)能夠?qū)崟r檢測機房的溫濕度情況和空調(diào)的當(dāng)前設(shè)置狀態(tài),通過服務(wù)器將數(shù)據(jù)可靠傳輸?shù)奖O(jiān)控終端進行顯示。本系統(tǒng)的設(shè)計和研究,得到了機房各位同事們的大力支持,經(jīng)過一段時間的調(diào)試和驗證,系統(tǒng)各模塊性能穩(wěn)定,各控制終端均運行正常,提高了我臺發(fā)射機風(fēng)冷系統(tǒng)的運行和維護效率。
參考文獻
[1] 劉元安.無線局域通信網(wǎng).中興通訊技術(shù),2002.8(6):16-18.
[2] 黃立明.地類遙感影像特征檢索庫管理系統(tǒng)的設(shè)計與建立[D].昆明理工大學(xué),2009.