郎佳輝
(成都師范學院,成都 611100)
伴隨社會經濟的持續、快速發展,人們生活質量的大幅提升,其對生活環境、生活品味提出了更多且更高要求,開始注重家居的智能化、人性化,享受由此所帶來的舒適、安全與便利。在傳統類型的家電設備當中,紅外遙控器始終是其不容分割的重要組成部分,但需要指出的是,伴隨當今智能家居產品的日漸增多,傳統紅外遙控器實際使用中所存在的問題越發明顯,比如家電設備難以接受接收遙控器所發送的紅外碼,遙控器使用中需頻繁換電池等。對此,為了能更好迎合智能家居的發展,且將傳統紅外遙控器使用中所存在的問題有效解決掉。本文以ARM為基礎,設計了一種新型的紅外控制系統,現對此作一探討。
針對紅外控制系統而言,其有多部分構成,如電源模塊、串口電路模塊、ARM處理器、無線通信模塊及紅外學習模塊等。對于此系統的ARM處理器而言,選用的是ARM cortex A8嵌入式開發板pcDuino(LinkSrite公司產)。其核心處理器選擇的是Allwinner A10。DRAM的容量是1GB,而板載存儲為2GB Flash,與Arduino接口完全兼容。其實為一個性價比、性能皆高的迷你PC平臺,能借助內置的HDMI接口,將視頻輸出至顯示屏或電視上,可運行諸如Ubuntu等PC操作系統。
(1)串口電路設計。對于pcDuino開發板來講,其設置有USB接口2個,而紅外學習模塊所選用的是USB0接口,借助此接口,不僅能完成數據傳輸,而且還能進行命令交換。因紅外學習模塊與pcDuino間的通信,需借助USB轉串口模塊來達成,所以系統在電平轉換信號方面,選用的是CH341T芯片。(2)無線通信模塊。在pcDuino開發板上,并無無線通信模塊,因此需要借助外接模塊來獲得無線通信功能。當前比較常用的無線技術為RFID、ZigBee、Wifi等,其中,針對Wifi通信來講,其擁有WPA2安全性能,而且還有著比較高的傳輸速率以及比較大覆蓋范圍,因而能夠較好的滿足本系統的數據通信需要。將WIFIPCDUINO(pcDuino官方)當作系統的無線通信模塊,其內部選用的芯片類型為RT5370,不僅支持USB2.0,而且還支持IEEE 802.11/B/G/N標準,數據傳輸速率為150Mbps,而最高工作頻率為2.473GHz,最低為2.411GHz,因為在多類型嵌入式操作系統中,其均能運行。(3)紅外學習模塊。為了能強化職能加劇控制系統的整體穩定性,降低開發難度,減少開發時間,將紅外學習模塊(全方位下載型紅外遙控學習模塊)應用于此系統中,此模塊能夠對市面上約99%的遙控器進行學習(如DV、投影儀、空調及電視等)。另外,其采取的是以電器為單位組織,能夠同時支持多種電器,且無電時數據也不會丟失;還需要指出的是,其還能同時控制多個設備,指令比較簡單。(4)電源模塊。系統供電所采用的是9V直流電源,而pcDuino與紅外學習模塊的供電電壓都是+5V,這里,借助7805變壓芯片,把9V電壓向+5V輸出轉變。
所采用的嵌入式Linux的內核源碼是開源,用戶依據自身實際需要,調整內核,以獲得符合自身需要的系統。本系統采用的嵌入式操作系統型號為Ubuntu12.04,內核為3.4.29。另外,在系統內核當中,還配由許多功能模塊,除了會占較多系統資源外,還會影響事件響應與執行速度。為了能夠提升系統的反應速度,節省磁盤空間,需對內核模塊實施定制與裁剪,并修改內核的各方面的源代碼,比如進程、中斷機制、系統調用及內存管理等,將那些不重要的代碼刪除,以減小內核,使其變得更為精小且高效,有更強的應用性。
于ARM端,將服務器程序啟動,將USB串口打開(與紅外控制模塊相連),對Android設備客戶端所對應的連接請求進行監聽,如果感知到連接請求,此時,對客戶端連接予以接受,并對來自客戶端的數據進行讀取,對服務器進行什么操作進行判斷。通信協議為:數據包首個字節發送0,表明ARM服務器正在進行指令代碼的學習操作,而如果發送1,則表明其正在控制紅外家電設備。另外,服務器把客戶端所發出的指令代碼向紅外控制模塊轉發,以此借助客戶端軟件來學習、控制家電設備。
綜上,本文以ARM為基礎來進行紅外控制系統的設計,此系統選用的是嵌入式Linux,基于此操作系統運作下,實現紅外碼學習,并在Android客戶端,控制家電設備紅外設備。另外,在Android設備上安裝智能家居紅外控制系統軟件,系統可借助此客戶端,學習家電設備紅外碼,并進行集中控制,因而有著更加實用的操作效能。