久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于Android的智能家居遠程控制系統(tǒng)設計

基于Android的智能家居遠程控制系統(tǒng)設計

作者: 時間:2014-04-22 來源:網絡 收藏

摘要:針對遠程控制問題,結合終端設備,設計了一套控制信息對用戶透明的遠程空調控制系統(tǒng)。系統(tǒng)底層控制信息通過基于GSM的短消息方式傳輸,實現(xiàn)了對由6臺空調組成系統(tǒng)的遠程控制。系統(tǒng)采用自定義通信協(xié)議,在端討論并實現(xiàn)了兩種接收返回信息方式——BroadcastReceiver和ContentObserver方式,對中的Handler機制進行講解應用。測試結果表明,系統(tǒng)結構設計合理,操作簡單,性能穩(wěn)定。

本文引用地址:http://cqxgywz.com/article/245796.htm

引言

遠程控制作為的一種標志性技術,被廣泛應用于各種系統(tǒng)中。本文設計并實現(xiàn)了一種智能家居中遠程空調控制方案。本系統(tǒng)基于Android系統(tǒng)客戶端用戶友好型界面和GSM模塊,屏蔽控制信息傳輸處理細節(jié),客戶端采用控件綁定號碼的方式,用戶只需根據終端Android界面提示,即可完成遠程空調控制。相比于以往方案中GSM模塊采用PDU方式進行通信,用戶端需要手動輸入具體命令的模式,本系統(tǒng)采用text文本方式進行通信,傳輸?shù)目刂泼顑H為數(shù)字即可。

本文實現(xiàn)了兩種Android應用中接收短消息的方式BroadcastReceiver(廣播接收者)方式和ContentObserver(內容觀察者)方式,采用Hand ler機制將接收到信息顯示,且對安卓中SQLite數(shù)據庫的操作進行闡述及應用。本系統(tǒng)通過接收GSM控制消息的基于LPC1766芯片的集中器傳輸控制消息到各個分控制器,可以同時控制6臺空調,每臺空調對應一個分控制器,具體系統(tǒng)控制端架構見圖1。

?

?

1 系統(tǒng)控制端設計

1.1 硬件設計

本系統(tǒng)采用NXP公司的LPC1766芯片作為集中器的SoC。系統(tǒng)GSM模塊采用華為公司的GTM900-B型號無線模塊,該模塊具有標準的AT命令接口,并提供無線接口用于短消息的收發(fā),且可通過串口通信和嵌入式MCU相連。

本系統(tǒng)葉GSM模塊和集中器通過串口相連。GTM900-B模塊的串口與LPC1766的UART0相連,具體連接見圖2。

?

?

1.2 AT指令

GTM900-B模塊使用了GSM Rec.07.07中規(guī)定的標準AT命令,本系統(tǒng)需要使用到的AT命令如表1所列。

?

?

1.3 通信協(xié)議

本系統(tǒng)主要通過GSM短消息的方式完成對每個房間的溫度獲取(通過分控制器上的溫度傳感器)和每個房間空調工作模式、溫度的設置,以及關閉房間空調的功能。從安卓終端的角度包括兩個方面的通信——發(fā)送和接收。

從安卓終端發(fā)送到GSM模塊的控制信息包括三個方面:獲取溫度值,設置某個房間空涮參數(shù),關閉某個房間李調。GSM模塊采用text方式通信,系統(tǒng)將發(fā)送的三種控制信息數(shù)字化為相同規(guī)格:

?

一種Android端智能家居遠程控制方案的實現(xiàn)

?

其中Sent1表示控制信息類型:“1”表示獲取溫度,“2”表示設置某個房間空調,“3”表示關閉某個房間空調。Sent2表示房間號,取值1~6對應相應房間。Sent3表示當Sent1為“2”時,設置號碼為Sent2的房間空調的工作模式:“1”表示制熱,“2”表示制冷,“3”表示送風,“4”表示除濕。Sent4表示當Sent1為“2”時,設置號碼為Sent2房間的工作溫度。分隔符用冒號表示,主要作為區(qū)別控制信息與初始化返回信息的標識符。所以,Android發(fā)送端發(fā)送的控制信息格式表示為“Sent1:Sent2:Sent3:Sent4”。

對安卓終端接收的反饋消息也包括三個方面:集中器從分控制器得到的溫度信息,設置某個房間空調成功的返回消息,某個房間空調關閉的返回消息。因為這三種消息長度不一致,處理方式不同,系統(tǒng)只對接收消息的前兩位格式化即可完成系統(tǒng)功能,具體如下:

?

一種Android端智能家居遠程控制方案的實現(xiàn)

?

其中:Rec1表示反饋信息類型:“1”表示溫度信息,“2”表示設置空調返回信息,“3”表示關閉空調返回信息。Rec2表示當Rec1為“2”或“3”時空調返回信息,“1”表示設置或者關閉成功,“0”表示失敗。所以,Android接收端接收的由系統(tǒng)控制端返回的信息中,首先會判斷第1位(即Rec1位),如果是“1”,則表示返回的是各個房間的溫度;如果是“2”,表示的是設置空調(Sent1等于“2”時)的返回消息;如果是“3”,表示的是關閉空調(Sent1等于“3”時)的返回消息;對于Rce1等于“2”或者“3”,再根據Rce2來判斷相應的返回消息狀態(tài)。

1.4 集中器軟件設計

集中器上的程序主要完成系統(tǒng)模塊和GSM模塊初始化,判斷控制信息類型及作相應的處理,向終端用戶返回消息。具體程序流程見圖3。

?

?

其中GucRcvNew=1表示集中器從UART0接收到來自GSM模塊的返回消息,recvfg用來對GSM模塊進行初始化,其初值為0。集中器發(fā)送命令at到GSM模塊,如果接收到GSM模塊的“at ok”返回消息,則設置recvfg=1,然后進入switch語句,當recvfg=1時,向GSM模塊發(fā)送命令at+cmgf =1,如果返回值為“at+cmgf=1 ok”,設置recvfg=2。當recvfg=2時,向GSM模塊發(fā)送命令“at+cnmi=2,2,,1”,如果返回值為“at+cnmi =2,2,,1 ok”,設置recvfg=3,到此GSM模塊初始化結束。如果初始化過程中當集中器發(fā)送AT命令后,接收到的不是正確返回值,則設置recvfg=0,重新開始初始化。


上一頁 1 2 下一頁

關鍵詞: Android 智能家居

評論


相關推薦

技術專區(qū)

關閉