吳哲
(中國聯(lián)通福建分公司 福建省福州市 350000)
空調(diào)可用來控制機(jī)房的工作環(huán)境,由于機(jī)房里有很多服務(wù)器和磁盤陣列,發(fā)熱量大,而且沒有恒溫器,因此機(jī)房中的電腦溫度會迅速升高,可能會降低設(shè)備的效率甚至導(dǎo)致設(shè)備損壞[1]。在這種情況下,機(jī)房內(nèi)常常會安裝相應(yīng)數(shù)量的空調(diào)進(jìn)行溫度控制,傳統(tǒng)的溫度控制使用了單片機(jī)、AVR、PLC等低位單片機(jī)進(jìn)行控制[2]。但是這些芯片只能實現(xiàn)開關(guān)控制、恒溫控制等簡單的控制。因此,隨著科技發(fā)展速度的增加,信息網(wǎng)絡(luò)與遠(yuǎn)程控制的研究也越來越深入,控制器芯片的性能也在不斷提高,因此許多學(xué)者對嵌入式控制系統(tǒng)進(jìn)行了研究[3]。在遠(yuǎn)程控制空調(diào)時用戶可以利用互聯(lián)網(wǎng)或RS-485來完成與空調(diào)之間的交互,實現(xiàn)空調(diào)的遠(yuǎn)程控制,但這種控制方式存在很多缺點[4]。在物聯(lián)網(wǎng)衍生并發(fā)展后,相關(guān)研究人員發(fā)現(xiàn)應(yīng)用互聯(lián)網(wǎng)來設(shè)計遠(yuǎn)程控制系統(tǒng)十分有效,基于此,本文設(shè)計了基于物聯(lián)網(wǎng)的空調(diào)遠(yuǎn)程控制系統(tǒng),從而提升控制效率,實現(xiàn)節(jié)能減排。
在遠(yuǎn)程控制系統(tǒng)調(diào)節(jié)時,需要利用處理器,處理器可以實現(xiàn)對控制信息和數(shù)字的處理,實現(xiàn)信號的有效發(fā)送。通用處理器具有通用化的通用架構(gòu)和指令集,可以支持復(fù)雜的操作并輕松添加新開發(fā)的功能,因此,其無需針對特定應(yīng)用優(yōu)化架構(gòu)和指令集。通用處理器通常用于嵌入式微控制器[5]。嵌入式微控制器在單個芯片上實現(xiàn)了整個系統(tǒng)的控制功能。
數(shù)字信號處理器專注于數(shù)據(jù)運(yùn)算,具有特別強(qiáng)的計算能力和計算速度,包括獨立的硬件乘法器,可以處理卷積和變換等復(fù)雜運(yùn)算,用于路由器中的路由計算。當(dāng)許多嵌入式特定部分(例如圖像處理)需要強(qiáng)大的計算能力時,系統(tǒng)會添加一個DSP 來執(zhí)行數(shù)據(jù)計算,因此在本文設(shè)計的系統(tǒng)中,也利用了處理器進(jìn)行控制信息的轉(zhuǎn)換計算傳輸。
儲存器是整個遠(yuǎn)程控制系統(tǒng)中進(jìn)行指令儲存與傳送的中心,可以采集由控制器發(fā)送的信號,再將這些信號轉(zhuǎn)換成控制指令傳輸?shù)娇照{(diào)控制中心,儲存有很多種,包括可編程ROM和ROM,EEP ROM,本系統(tǒng)選用的是EEP ROM主要由于該儲存器儲存方便,可以通過軟件進(jìn)行擦除和寫入。傳統(tǒng)的ROM逐漸被Flash 取代,進(jìn)行儲存轉(zhuǎn)化主要有幾種方式,即NOR和NAND,NOR Flash和NAND Flash,隨著這幾種閃存的出現(xiàn),內(nèi)存成本大大降低。
RAM也可分為靜態(tài)RAM和動態(tài)RAM。DRAM 將數(shù)據(jù)存儲在控制中心,控制中心的數(shù)據(jù)庫儲存量有限,因此隨時可能出現(xiàn)泄露,因此在信息傳送到控制中心時,需要在附近設(shè)置即可DRAM 儲存器,儲存無法容納在數(shù)據(jù)庫中的數(shù)據(jù)。SRAM 是靜態(tài)的,只要它持續(xù)存在,其內(nèi)部的指數(shù)就會保持不變,在許多特定情況下,嵌入式系統(tǒng)中經(jīng)常使用某些特定類型的RAM。
在整個系統(tǒng)識別溫度閾值并調(diào)節(jié)空調(diào)出風(fēng)回風(fēng)時,使用了末端溫控器進(jìn)行調(diào)節(jié),其可以采集各個房間的溫度數(shù)據(jù),根據(jù)被監(jiān)控對象的要求,按照控溫算法實現(xiàn)自動控溫。末端溫控器也會在上位機(jī)需要時將采集到的數(shù)據(jù)上傳到集線器。本系統(tǒng)在設(shè)置末端溫控器時,首先設(shè)計了該溫控器的控制開關(guān),將溫控器的開關(guān)連接到IO口中,一旦發(fā)現(xiàn)此時溫度超過閾值則立刻啟動,而溫度低于閾值時則馬上關(guān)閉,實現(xiàn)上位指令或終端控制,保證被控制部分始終處于恒溫狀態(tài)。鍵盤顯示部分主要是用來顯示現(xiàn)場的某些控制參數(shù)的。采用液晶控制器HT1621,具有美觀、節(jié)能的優(yōu)點。終端的溫度或參數(shù)可在室內(nèi)手動設(shè)置,也可通過RS485總線設(shè)置,從而保證上位機(jī)數(shù)據(jù)的實時接收。
本文設(shè)計的控制程序是以Linux驅(qū)動為中心的控制程序,在驅(qū)動之前首先需要進(jìn)行預(yù)處理,將不符合要求的信息轉(zhuǎn)化成符合要求的格式再進(jìn)行傳輸,除此之外,由于系統(tǒng)需要在軟硬件之間交互,因此需要設(shè)計交互接口,方便軟硬件之間實現(xiàn)良好的溝通,對于一些簡單的設(shè)備,只需要實現(xiàn)一些簡單的控制功能,因此計算機(jī)系統(tǒng)不需要在這些設(shè)備中設(shè)置復(fù)雜的操作系統(tǒng),只需要單一的運(yùn)行架構(gòu)就可以實現(xiàn)計算機(jī)系統(tǒng)的運(yùn)行。如果此時操作系統(tǒng)的設(shè)備復(fù)雜,則在控制驅(qū)動時除了需要完成設(shè)備的驅(qū)動,還需要將驅(qū)動程序集成到內(nèi)核中,為此,必須在所有設(shè)備的驅(qū)動程序中設(shè)計面向操作系統(tǒng)內(nèi)核的接口。該接口由操作系統(tǒng)對接,并規(guī)定無論具體設(shè)備如何,其結(jié)構(gòu)都應(yīng)該與設(shè)備的類別保持一致,驅(qū)動程序的流程如圖1所示。
圖1:程序驅(qū)動流程
系統(tǒng)設(shè)計的BLE協(xié)議僅支持Android 4.3以上的設(shè)備,Android系統(tǒng)豐富的傳輸通道可以很好的支持網(wǎng)絡(luò)通訊、控制算法計算、終端設(shè)備控制、LCD顯示等功能,基于此,將本系統(tǒng)的控制中心程序利用Linux驅(qū)動轉(zhuǎn)化成安卓系統(tǒng), Android系統(tǒng)獨立于硬件設(shè)備,但Linux下的驅(qū)動對應(yīng)著特定的硬件設(shè)備,因此在進(jìn)行Linux驅(qū)動時需要依照系統(tǒng)具體對接的硬件設(shè)備類型來注入驅(qū)動程序,實現(xiàn)整個程序的驅(qū)動,在Linux文件系統(tǒng)環(huán)境中,除了需要注意硬件設(shè)備的類型,還需要注意驅(qū)動后的文件是否能與驅(qū)動后的控制中心相對應(yīng),因此在驅(qū)動后需要及時檢查文件和目錄,確保此時相應(yīng)的指令達(dá)到統(tǒng)一,從而與驅(qū)動中心進(jìn)行交互。
Windows界面中遠(yuǎn)程控制模擬,其功能模塊的設(shè)計步驟如下。
第一步,在完整的Windows界面中啟動Keil,進(jìn)行初步開發(fā),首先應(yīng)在桌面上找到并打開開發(fā)軟件。第二步,新建一個工程,單擊Project,從對話框中選取新建工程的選項,將遠(yuǎn)程控制編碼輸入到該文件中,開發(fā)后保存,第三步,在后面彈出的對話框里,先選擇芯片供應(yīng)商,再展開其左邊的加號選擇芯片型號,單擊確定。第四步,在彈出的對話框中輸入詢問代碼,軟件左邊的項目管理窗口里就出現(xiàn)了新建工程,此時的控制功能模塊可以實時獲取空調(diào)的出風(fēng)和回風(fēng)溫度,有助于歷史數(shù)據(jù)的分析。
在進(jìn)行模擬傳輸時,需要使用IEEE 802協(xié)議,該協(xié)議主要通過無線連接進(jìn)行傳輸,且該協(xié)議建立在Wi-Fi傳輸?shù)幕A(chǔ)上,該協(xié)議傳輸?shù)倪^程呈現(xiàn)獨立性,首先將服務(wù)客戶端與初級通信網(wǎng)絡(luò)連接,其次需要定義此時的通信參數(shù),保證協(xié)議中的管理信息能隨時保持通信,最后再利用AP進(jìn)行指令轉(zhuǎn)發(fā),在通信時,模擬無線傳輸?shù)膮?shù)應(yīng)與實際參數(shù)相同,這樣得出的通信通道的數(shù)量最準(zhǔn)確,本文設(shè)計的系統(tǒng)選擇FCC或ETSI標(biāo)準(zhǔn)進(jìn)行無線傳輸。主動掃描的過程是無線主機(jī)首先發(fā)現(xiàn)請求幀,然后利用AP發(fā)送響應(yīng),由無線主機(jī)向選擇的AP發(fā)送連接請求幀,實現(xiàn)無線傳輸,完成整個遠(yuǎn)程控制流程。
為了測試本文設(shè)計系統(tǒng)的性能,檢測系統(tǒng)運(yùn)行的效果,驗證其能否實現(xiàn)節(jié)能減排,且能否實時控制溫度,進(jìn)行了測試,如下所示。
在測試主機(jī)中使用虛擬的VMware Workstation搭建一個系統(tǒng)作為開發(fā)環(huán)境。當(dāng)設(shè)備完成驅(qū)動編寫與移植之后,需要實現(xiàn)整個嵌入式系統(tǒng)的運(yùn)行。測試平臺包含u-boot, Linux內(nèi)核和安卓系統(tǒng)三個部分。需要在u-boot文件夾下輸入create 命令,在arch目錄下生成可供下載的uboot.bin文件。
分別取一天中的幾個時間段,測試本文設(shè)計的空調(diào)遠(yuǎn)程控制系統(tǒng)控制后減少的能量消耗數(shù)值,如表1所示。
表1:測試結(jié)果
由表1可知,本文設(shè)計的系統(tǒng)性能良好,可以實現(xiàn)系統(tǒng)的遠(yuǎn)程控制,且其能有效實現(xiàn)節(jié)能減排,具有良好的應(yīng)用價值。
綜上所述,空調(diào)遠(yuǎn)程控制系統(tǒng)對實現(xiàn)空調(diào)的智能控制,實現(xiàn)節(jié)能減排來說有重要意義,本文設(shè)計的空調(diào)遠(yuǎn)程控制系統(tǒng)既能根據(jù)機(jī)房的實際溫度進(jìn)行空調(diào)的遠(yuǎn)程控制,在溫度達(dá)到設(shè)置閾值上限時啟動,溫度到達(dá)設(shè)置閾值下限時關(guān)閉,而且能實時獲取空調(diào)的出風(fēng)和回風(fēng)溫度,分析歷史數(shù)據(jù),自動調(diào)節(jié)機(jī)房的溫度設(shè)置閾值,經(jīng)過測試證明其性能良好,能有效實現(xiàn)節(jié)能減排,因此有一定的應(yīng)用價值。