基于手機APP的智能家居遙控平臺設計
作者/ 高帆 戴瑞 厲雪 于淼 淮陰工學院 電子信息工程學院(江蘇 淮安 223003)
本文引用地址:http://www.104case.com/article/201709/364874.htm摘要:為滿足人們對日漸繁多的家庭電器的智能化管理需要,本文提出了一種基于ARM嵌入式處理器和Android技術的智能家居控制系統的設計方案。以STM32F107VCT6為控制主機主控芯片,通過以太網/WiFi通信接口連接家庭寬帶;通過RS485通信技術連接學習控制子機,子機可以對紅外遙控的按鍵編碼進行學習存儲或者響應主機指令并對已儲存的編碼進行還原和發送。最后,編寫了基于Android系統的APP,通過APP對控制主機發出指令,就可以對家電設備進行控制。實驗結果表明,該系統操作便捷,能夠較好地實現本地和遠程對家庭電器的集中智能控制。
引言
隨著人們的生活水平大幅度提高,加之電子信息技術、計算機技術和通信技術的迅猛崛起,人們對日常家居環境有了更高的需求和渴望。智能家居系統實現了家居設備的智能化管理,使原本繁瑣、笨拙的家居管理方式逐漸變得智能化、人性化。但目前市面上智能家居系統往往存在著一些問題,有的產品價格相對不高但功能單一,可操作性差,可擴展性也不好;而一些功能稍稍豐富的系統往往價格偏高、系統復雜,安裝和使用較吃力,不利于智能家居遙控系統的推廣和使用。低價高效、智能化、人性化、好擴展的智能家居遙控系統成為研究人員的理想目標。綜合考慮以上因素,本課題用ARM實現嵌入式控制主機結合學習型遙控器控制端的智能家居遙控系統[1],然后基于Android 平臺開發智能手機的客戶端軟件[2],用戶使用手機通過無線網絡就可以實現集中智能控制家電。
1 系統設計
本系統由控制主機、學習控制子機及手機APP為主要構成部分,擁有學習模式和使用模式兩種模式,如圖1所示。學習模式:手機APP選擇要學習的按鍵,主機在SD卡中新建相應名字的文件夾,使用遙控器對子機發射要學習的紅外信號,子機將學習到的紅外編碼信息發送到主機儲存到對應的文件夾中。使用模式:手機APP發送遙控指令給主機,主機讀取相應文件夾內的編碼信息,發送給相應子機,子機將編碼信息還原成紅外信號發出,完成遙控動作。手機可以通過連接家庭WiFi[3]或者通過移動網絡[4]訪問控制主機。
整體布局方案如圖2所示。將控制主機與家庭路由連接,同時在每一個房間放置一個學習控制子機,學習控制子機用來學習紅外遙控載波發送給主機儲存或者接收主機發送來的控制指令并根據控制指令發出紅外信號遙控房間內的家電。本系統架構具有以下兩個優勢:可以輕松實現家電的添加和配置,方便管理;擁有學習功能,可實現一個客戶端操控所有被控家居。
2 硬件設計
2.1 控制主機
2.1.1 主控模塊
本文采用成本低、性能高的STM32F107VCT6作為主控芯片,具有以太網和USB功能。該芯片時鐘配置功能強大,外部輸入晶振的范圍很大,自帶一個RTC實時時鐘模塊,其MCU具有256KB FLASH、64kB RAM,同時包含各種基礎和先進的通信接口。這些特征不僅使得家居系統的外圍擴展更為便捷,也使網絡通信性能更為強大。
2.1.2 通信模塊
整個通信模塊可以分為系統外部網絡和系統內部網絡,外部網絡是指通過路由器連接到外部Internet,內部網絡主要為本地RS485通信總線??刂浦鳈C采用WiFi或者有線方式連接家庭路由。WiFi模塊采用成熟的ESP8266網絡解決方案,具有強大的存儲能力和片上處理能力??刂浦鳈C通過RS485總線與各房間內的學習控制子機連接,RS485總線網絡具有組建成本低、分布范圍廣、可靠性穩定性好等特點,而且有線方式保密性好,不易被盜用。
2.1.3 信息存儲模塊
存儲方式選擇SD卡存儲,主機具有SD卡接口電路。SD卡傳輸效率高、安全性好、價格低、穩定性好、簡單易學、技術成熟。SD卡中存儲三種文件:①用戶信息文件,包括APP用戶名、密碼、權限信息等;②家電系統結構文件;③編碼文件組,包括與學習功能控鍵相關的文件名及存儲的載波頻率和編碼信息等內容。
2.2 學習控制子機
2.2.1 控制器模塊
子機的核心控制器模塊主要由STC15F60S2芯片、鎖存器74LS373、62256拓展存儲器、晶振等組成[5]。STC15F60S2芯片具有2048字節的SRAM、兩組超高速異步串行通信端口、內部高精度R/C時鐘,并且無需仿真器、編程器等,應用簡單、成本低。
2.2.2 通信接口模塊
子機的通信接口主要由九針串口電路組成,可與485總線連接。其特點是低功耗關斷模式可以減小功耗,高集成度片內最低只需要4個電容即可工作。
2.2.3 紅外學習模塊
紅外學習模塊可以實現紅外編碼的學習[6],其主要由紅外接收二極管、LED發光二極管、74LS06反相器、電阻等組成。紅外接收二極管對于紅外發光二極管發射出的波長為940nm的紅外光信號接收能力強,且拒絕接收其他波長的光信號,能夠排除其他信號帶來的干擾。紅外接收二極管接收紅外信號通過三極管放大傳送到單片機端口[7]。
2.2.4 紅外發射模塊
紅外發射模塊主要由紅外發光二極管、8550三極管、LED發光二極管、74LS06反相器、電阻等組成。紅外發光二極管無紅暴,以增加使用壽命,且易與晶體管集成電路相匹配,結構較穩定堅固,可靠性高體積小,使用方便?;驹硎菃纹瑱C端口輸出信號通過三極管控制紅外發光二極管發出紅外信號。
3 手機APP軟件設計
Android在網絡編程方面提供了非常好的支持。Socket編程是比較底層的網絡編程方式,是建立其他應用協議的基礎。通過創建Socket對象[8],就可以通過打開輸入輸出流來進行通信。
如圖4,一個家庭只存在一個管理員賬戶,初次打開手機APP進入用戶注冊界面,注冊后再次登錄APP,管理員賬戶程序首頁具有設置、學習、控制三個功能按鈕,其普通賬戶只有控制功能。
如圖5,使用設置功能時,首先進行房屋布局設置,用戶可根據家庭實際布局設置樓層、房間編號以及相應房間內的電器編號,同時用戶可以根據自己需求設置自己所需要的遙控器按鍵界面,手機APP與控制主機發生通信,主機根據用戶設置建立相應系統結構文件,以存儲該用戶的APP界面結構和信息。
使用學習功能時,在APP上選中指定樓層、房間的電器的需要學習的按鍵,APP將指令發送給控制主機,主機根據指令建立相應文件名的文件,以存儲將要學習到紅外信號數據。之后通過串口發送學習指令給相應房間的學習控制子機,收到學習命令的的學習控制子機對遙控器紅外編碼進行學習并將學習到的編碼信息發送給主機存儲到相應文件夾中。以此完成學習過程,主機對APP發送學習成功回饋信息。
使用控制功能時,在APP遙控界面按下某一按鍵,APP發送指令給控制主機,主機根據指令讀取相應文件中的紅外編碼信息發送給指定房間的學習控制子機,該子機使用接收到的數據還原紅外信號控制家電的相應功能。
4 結論
本文介紹了基于Android平臺設計與實現智能家居遙控系統的過程,對系統的整體設計、軟硬件設計都進行了細致的分析,并對各模塊的功能實現與通信進行了說明。系統的核心是STM32芯片,成本低、性能高,結合技術成熟、成本低廉的RS485本地通信,以手機APP程序實現編碼學習、存儲、遙控。整個系統成本較低、技術成熟、性能穩定,適宜普通家庭的使用,具有一定的使用價值。
參考文獻:
[1]蔣立兵. 基于STM32的智能家居控制系統的設計與開發[D].北京郵電大學,2011.
[2]孫潤.基于WiFi智能家居的網關設計[D].西安工業大學,2015.
[3]嚴立. 基于Wi-Fi的智能家居中控器的設計和實現[D].電子科技大學,2015.
[4]林粵偉,宋丹.基于Android手持設備的智能家居遙控系統研制[J].電子產品世界,2015,06:37-39.
[5]王永華,周衛,詹宜巨,等.一種通用學習型紅外遙控器設計與實現[J].廣東自動化與信息工程,2005,02:18-19.
[6]劉霞,侯義斌,黃樟欽,等.學習型紅外控制系統在環繞智能中的應用[J].計算機工程與設計,2007,01:193-196.
[7]周祖榮,馮步云.基于單片機簡便學習型紅外萬用遙控器的設計[J].信息通信,2013,10:64-65.
[8]呂紅海.基于Android的智能家居無線控制系統的設計與實現[D].電子科技大學,2012.
本文來源于《電子產品世界》2017年第10期第43頁,歡迎您寫論文時引用,并注明出處。
評論