摘要:該文提出了一種智能家居藍(lán)牙遙控方案。手機(jī)通過藍(lán)牙給智能家居系統(tǒng)的主處理器發(fā)送命令,從而控制整個(gè)智能家居系統(tǒng)。
關(guān)鍵詞:智能家居;藍(lán)牙;手機(jī)
中圖分類號(hào):TP391
1、引 言
早在30年代便有人提出家庭是“Machine forLiving”的遠(yuǎn)景,50年代更有人提出了“AutomatedHome”的說法;時(shí)至今日,“Digital Home”,“Intelligent Home”,“Smart Home”等異曲同工的說法如雨后春筍般冒出來�!癝mart Home”被翻譯為智能家居,把電腦、網(wǎng)絡(luò)、自動(dòng)控制等技術(shù)應(yīng)用于傳統(tǒng)家具、電器,使之代替人的某些勞動(dòng),從而實(shí)現(xiàn)家庭居住條件的簡(jiǎn)單化、智能化,其基本目標(biāo)是為人們提供一個(gè)高效、舒適、安全、便利、環(huán)保的生活環(huán)境。
在快思聰(Crestron)亞洲有限公司提供設(shè)備贊助和澳門特別行政區(qū)科學(xué)技術(shù)發(fā)展基金提供經(jīng)費(fèi)贊助的支持下,澳門科技大學(xué)智能家居實(shí)驗(yàn)室從2006開始開發(fā)智能家居系統(tǒng)。利用快思聰亞洲有限公司提供的硬件設(shè)備成功實(shí)現(xiàn)了有線觸摸屏、無線觸摸屏、掛墻式觸摸屏和網(wǎng)頁對(duì)智能家居系統(tǒng)的控制。但由于觸摸屏的價(jià)格相對(duì)較高,在家里利用網(wǎng)頁控制智能家居系統(tǒng)又不太方便,因此,本文提出了一種較為經(jīng)濟(jì)且方便的控制方案,即手機(jī)通過藍(lán)牙對(duì)智能家居系統(tǒng)進(jìn)行控制。
藍(lán)牙技術(shù)是一種統(tǒng)一的開放性全球短距離無線通信協(xié)議標(biāo)準(zhǔn),它有著低成本、短距離無線連接的優(yōu)勢(shì),具有使用方便、可靠性高、低功耗等特性,能與多種固定或移動(dòng)設(shè)備的通信環(huán)境建立無線連接,可應(yīng)用在計(jì)算機(jī)、手機(jī)及其它家電產(chǎn)品上。隨著手機(jī)應(yīng)用的普及化和功能的完善化,使用手機(jī)通過藍(lán)牙控制智能家居將是一種具有廣闊前景的方法。
2、澳門科技大學(xué)智能家居系統(tǒng)(MUST Smart Home System)
澳門科技大學(xué)智能家居系統(tǒng)的結(jié)構(gòu)如圖2.1所示。其中,PRO2是主處理器,用來控制整個(gè)智能家居系統(tǒng);CNPCI-8是電源繼電器,通過紅外線(Infrared rays)來控制電視機(jī)(TV)、DVD播放器(DVD player)和冷風(fēng)機(jī)(Air conditioner)的電源開關(guān);CLI-220N-4為燈光控制器,用來控制四組吊燈(Lamps);TPS-4500V、TPMC-10、CT1000分別為有線觸摸屏、無線觸摸屏、掛墻式觸摸屏。Web page和X-Panel(.exe file)是在電腦(PC)上生成的兩種不同的網(wǎng)頁格式。
智能家居系統(tǒng)的控制界面和邏輯程序分別使用快思聰公司的界面設(shè)計(jì)軟件Vision Tools Pro-e(vTPro-e)和邏輯設(shè)計(jì)軟件SIMPL Windows設(shè)計(jì)而成,通過將程序傳送到主處理器PRO2上,從而實(shí)現(xiàn)有線觸摸屏、無線觸摸屏、掛墻式觸摸屏和網(wǎng)頁對(duì)智能家居系統(tǒng)的控制。其軟件開發(fā)步驟如圖2.2所示。
3、智能家居藍(lán)牙遙控系統(tǒng)的實(shí)現(xiàn)
前面介紹了澳門科技大學(xué)的智能家居系統(tǒng),接下來我們討論手機(jī)通過藍(lán)牙遙控智能家居系統(tǒng)的實(shí)現(xiàn)過程。
3.1 智能家居藍(lán)牙遙控系統(tǒng)的實(shí)現(xiàn)流程
手機(jī)通過藍(lán)牙遙控智能家居系統(tǒng)需要經(jīng)過一系列流程。
首先,在邏輯設(shè)計(jì)軟件SIMPL Win-dows中建立TCP/IP Server,User Program Commands和Serial I/O元素,分別對(duì)它們進(jìn)行相應(yīng)的邏輯編程。
其次,手機(jī)電腦連接系統(tǒng)(Mohile toPC System,以下簡(jiǎn)稱MPS)使手機(jī)通過藍(lán)牙與客戶端電腦相連接,打開電腦的一個(gè)串口,并將手機(jī)上用戶所寫的指令發(fā)送到電腦相應(yīng)的串口。
再次,藍(lán)牙控制系統(tǒng)(BluetoothControl System,以下簡(jiǎn)稱BCS)從電腦相應(yīng)的串口讀出指令并判斷指令相對(duì)應(yīng)的命令,然后轉(zhuǎn)發(fā)給主處理器PRO2。
最后,主處理器PR02通過指定的端口接收指令,并通過其功能模塊執(zhí)行相應(yīng)操作,從而實(shí)現(xiàn)各種控制。
具體流程如圖3.1所示。
下面將詳細(xì)說明MPS和BCS的實(shí)現(xiàn)過程以及主處理器PR02的控制原理。
3.2 MPS的實(shí)現(xiàn)
MPS通過藍(lán)牙使手機(jī)和電腦建立連接,打開電腦的一個(gè)串口,手機(jī)通過按鍵向相應(yīng)串口中寫入指令,使用Python語言可以簡(jiǎn)便地實(shí)現(xiàn)這一功能。Python是一種即譯式的、互動(dòng)的、面向?qū)ο蟮木幊陶Z言,它包含了模組式的操作、異常處理、動(dòng)態(tài)數(shù)據(jù)的形態(tài)與結(jié)構(gòu)以及類別的使用等功能。和其他語言相比,Python中可以用一個(gè)語句表達(dá)復(fù)雜的操作,不需要聲明變量,且具有可擴(kuò)充性。
3.2.1 MPS的開發(fā)步驟
隨著python語言的日益發(fā)展,各個(gè)手機(jī)代理商都將python解釋器移植到它的移動(dòng)終端系統(tǒng)上,該方案所采用的Python for Series 60就是其中之一。基于NoMa S60系統(tǒng)進(jìn)行python程序開發(fā)的步驟如下:
(1)安裝Python for Series 60的Python解釋器,即一個(gè)后綴為*.sis的文件;
(2)在PC上編寫所需的python程序,并保存為*.py文件;
(3)將*.py文件通過藍(lán)牙傳送到手機(jī)上即可運(yùn)行(無需編譯或者安裝)。
3.2.2 MPS的實(shí)現(xiàn)流程
MPS的目標(biāo)是使手機(jī)通過藍(lán)牙連接到電腦并且可以通過手機(jī)向電腦寫入相應(yīng)指令,為了完成這些功能,需要解決兩個(gè)問題:
(1)建立藍(lán)牙連接處理函數(shù)bt_connect( );
(2)創(chuàng)建一個(gè)可觸發(fā)數(shù)字輸入框,并建立手機(jī)通過藍(lán)牙發(fā)送指令至電腦串口的函數(shù)bt_typetext( )。
程序?qū)崿F(xiàn)的流程如圖3.2所示。
3.3 BCS的實(shí)現(xiàn)
指令寫入電腦串口后,BCS需要從電腦相應(yīng)的串口讀取指令并轉(zhuǎn)發(fā)給智能家居系統(tǒng)主處理器PR02,從而實(shí)現(xiàn)相應(yīng)的控制功能。本方案采用Visum Basic(簡(jiǎn)稱VB)來實(shí)現(xiàn)該程序,其界面如圖3.3所示。
其中,PC Serial用于電腦相應(yīng)串口的打開,Pro2IP用于智能家居系統(tǒng)主處理器的連接,Send用于相應(yīng)指令的發(fā)送。
下面將分別介紹這三個(gè)功能塊。
3.3.1 PC Serial功能塊
當(dāng)手機(jī)通過藍(lán)牙與電腦成功連接時(shí),藍(lán)牙適配器會(huì)虛擬一個(gè)串口通信的環(huán)境并自動(dòng)分配串口。程序編寫中使用了VB提供的通信控件——MSCOMM控件,它通過串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通訊功能;通過該控件可設(shè)置串行通信的數(shù)據(jù)發(fā)送和接收,也可以對(duì)串口狀態(tài)及串口通信的信息格式和協(xié)議進(jìn)行設(shè)置。
在BCS主控界面(圖3.3)Pc Serial部分輸入相應(yīng)串口號(hào)并對(duì)其參數(shù)作相應(yīng)設(shè)置(一般情況使用默認(rèn)設(shè)置),打開串口,下方顯示“串口打開中”表示串口成功打開。
3.3.2 Pro2IP功能塊
在建立服務(wù)端與客戶端的連接時(shí),采用了Microsoft VB提供的用于Windows Sock-ets編程的可用控件——Winsock控件。Winsock控件有兩個(gè)重要屬性:Protocol和State。
Protocol屬性用于設(shè)定使用的協(xié)議是TCP還是UDP:取值sckTCPProtocol表示TCP,取值sckUDPProfocol則表示UDP,這里需要建立客戶機(jī)與服務(wù)器的TCP連接,故取值Protocol=sckTCPProtocoi。State屬性用于反映當(dāng)前TCP/IP的連接狀態(tài)。
實(shí)現(xiàn)該功能塊需要兩個(gè)步驟,首先,分別設(shè)置控件的RemoteHost屬性和RemotePort屬性,用于制定服務(wù)器的IP地址和偵聽端口。然后,使用Connect方法向服務(wù)器發(fā)送請(qǐng)求:
若服務(wù)器接受客戶端程序請(qǐng)求,即Winsock.State=sckConnected,則客戶端程序產(chǎn)生Connect事件,就可以使用SendData方法發(fā)送數(shù)據(jù);若接收到Close事件,則用Close方法關(guān)閉連接。
其流程圖如圖3.4所示。
在BCS主控界面(圖3.3)Pr02IP部分輸入主處理器的IP及預(yù)設(shè)定的端口號(hào),打開連接,下方顯示:IP連接成功,則表示連接成功;否則,連接失敗。
3.3.3 Send功能塊
Send功能塊使用了VB MScomm控件的OnComm事件,在事件程序編寫中設(shè)定了快捷方式,左側(cè)0-9數(shù)字分別對(duì)應(yīng)右側(cè)十種不同的控制命令,我們根據(jù)電腦串口接收到的數(shù)據(jù)判斷發(fā)送什么指令到主處理器PR02,從而實(shí)現(xiàn)控制。
3.4 主處理器PRO2的控制原理
主處理器PR02成功接受BCS發(fā)送的指令后,User Program Commands元素接收指令并通過TCP/IP Server元素中已指定的端口傳送至TCP/IP Server元素,繼而轉(zhuǎn)送至Serial I/O元素進(jìn)行指令匹配,如果指令匹配成功,則執(zhí)行相應(yīng)命令。
各元素邏輯圖如圖3.5所示。
4、結(jié)束語
隨著因特網(wǎng)和移動(dòng)通信的迅猛發(fā)展,社會(huì)發(fā)展日趨信息化,人們的生活方式、工作方式以及思維方式都隨之發(fā)生了巨大的變化;智能家居的逐步發(fā)展給當(dāng)今信息社會(huì)注入了新的生機(jī)和活力,智能家居藍(lán)牙遙控系統(tǒng)是一種經(jīng)濟(jì)且方便的控制方法,藍(lán)牙技術(shù)的日益成熟及智能家居的逐步普及使得該方案具有潛在的市場(chǎng)前景。
關(guān)鍵詞:智能家居;藍(lán)牙;手機(jī)
中圖分類號(hào):TP391
1、引 言
早在30年代便有人提出家庭是“Machine forLiving”的遠(yuǎn)景,50年代更有人提出了“AutomatedHome”的說法;時(shí)至今日,“Digital Home”,“Intelligent Home”,“Smart Home”等異曲同工的說法如雨后春筍般冒出來�!癝mart Home”被翻譯為智能家居,把電腦、網(wǎng)絡(luò)、自動(dòng)控制等技術(shù)應(yīng)用于傳統(tǒng)家具、電器,使之代替人的某些勞動(dòng),從而實(shí)現(xiàn)家庭居住條件的簡(jiǎn)單化、智能化,其基本目標(biāo)是為人們提供一個(gè)高效、舒適、安全、便利、環(huán)保的生活環(huán)境。
在快思聰(Crestron)亞洲有限公司提供設(shè)備贊助和澳門特別行政區(qū)科學(xué)技術(shù)發(fā)展基金提供經(jīng)費(fèi)贊助的支持下,澳門科技大學(xué)智能家居實(shí)驗(yàn)室從2006開始開發(fā)智能家居系統(tǒng)。利用快思聰亞洲有限公司提供的硬件設(shè)備成功實(shí)現(xiàn)了有線觸摸屏、無線觸摸屏、掛墻式觸摸屏和網(wǎng)頁對(duì)智能家居系統(tǒng)的控制。但由于觸摸屏的價(jià)格相對(duì)較高,在家里利用網(wǎng)頁控制智能家居系統(tǒng)又不太方便,因此,本文提出了一種較為經(jīng)濟(jì)且方便的控制方案,即手機(jī)通過藍(lán)牙對(duì)智能家居系統(tǒng)進(jìn)行控制。
藍(lán)牙技術(shù)是一種統(tǒng)一的開放性全球短距離無線通信協(xié)議標(biāo)準(zhǔn),它有著低成本、短距離無線連接的優(yōu)勢(shì),具有使用方便、可靠性高、低功耗等特性,能與多種固定或移動(dòng)設(shè)備的通信環(huán)境建立無線連接,可應(yīng)用在計(jì)算機(jī)、手機(jī)及其它家電產(chǎn)品上。隨著手機(jī)應(yīng)用的普及化和功能的完善化,使用手機(jī)通過藍(lán)牙控制智能家居將是一種具有廣闊前景的方法。
2、澳門科技大學(xué)智能家居系統(tǒng)(MUST Smart Home System)
澳門科技大學(xué)智能家居系統(tǒng)的結(jié)構(gòu)如圖2.1所示。其中,PRO2是主處理器,用來控制整個(gè)智能家居系統(tǒng);CNPCI-8是電源繼電器,通過紅外線(Infrared rays)來控制電視機(jī)(TV)、DVD播放器(DVD player)和冷風(fēng)機(jī)(Air conditioner)的電源開關(guān);CLI-220N-4為燈光控制器,用來控制四組吊燈(Lamps);TPS-4500V、TPMC-10、CT1000分別為有線觸摸屏、無線觸摸屏、掛墻式觸摸屏。Web page和X-Panel(.exe file)是在電腦(PC)上生成的兩種不同的網(wǎng)頁格式。
智能家居系統(tǒng)的控制界面和邏輯程序分別使用快思聰公司的界面設(shè)計(jì)軟件Vision Tools Pro-e(vTPro-e)和邏輯設(shè)計(jì)軟件SIMPL Windows設(shè)計(jì)而成,通過將程序傳送到主處理器PRO2上,從而實(shí)現(xiàn)有線觸摸屏、無線觸摸屏、掛墻式觸摸屏和網(wǎng)頁對(duì)智能家居系統(tǒng)的控制。其軟件開發(fā)步驟如圖2.2所示。
3、智能家居藍(lán)牙遙控系統(tǒng)的實(shí)現(xiàn)
前面介紹了澳門科技大學(xué)的智能家居系統(tǒng),接下來我們討論手機(jī)通過藍(lán)牙遙控智能家居系統(tǒng)的實(shí)現(xiàn)過程。
3.1 智能家居藍(lán)牙遙控系統(tǒng)的實(shí)現(xiàn)流程
手機(jī)通過藍(lán)牙遙控智能家居系統(tǒng)需要經(jīng)過一系列流程。
首先,在邏輯設(shè)計(jì)軟件SIMPL Win-dows中建立TCP/IP Server,User Program Commands和Serial I/O元素,分別對(duì)它們進(jìn)行相應(yīng)的邏輯編程。
其次,手機(jī)電腦連接系統(tǒng)(Mohile toPC System,以下簡(jiǎn)稱MPS)使手機(jī)通過藍(lán)牙與客戶端電腦相連接,打開電腦的一個(gè)串口,并將手機(jī)上用戶所寫的指令發(fā)送到電腦相應(yīng)的串口。
再次,藍(lán)牙控制系統(tǒng)(BluetoothControl System,以下簡(jiǎn)稱BCS)從電腦相應(yīng)的串口讀出指令并判斷指令相對(duì)應(yīng)的命令,然后轉(zhuǎn)發(fā)給主處理器PRO2。
最后,主處理器PR02通過指定的端口接收指令,并通過其功能模塊執(zhí)行相應(yīng)操作,從而實(shí)現(xiàn)各種控制。
具體流程如圖3.1所示。
下面將詳細(xì)說明MPS和BCS的實(shí)現(xiàn)過程以及主處理器PR02的控制原理。
3.2 MPS的實(shí)現(xiàn)
MPS通過藍(lán)牙使手機(jī)和電腦建立連接,打開電腦的一個(gè)串口,手機(jī)通過按鍵向相應(yīng)串口中寫入指令,使用Python語言可以簡(jiǎn)便地實(shí)現(xiàn)這一功能。Python是一種即譯式的、互動(dòng)的、面向?qū)ο蟮木幊陶Z言,它包含了模組式的操作、異常處理、動(dòng)態(tài)數(shù)據(jù)的形態(tài)與結(jié)構(gòu)以及類別的使用等功能。和其他語言相比,Python中可以用一個(gè)語句表達(dá)復(fù)雜的操作,不需要聲明變量,且具有可擴(kuò)充性。
3.2.1 MPS的開發(fā)步驟
隨著python語言的日益發(fā)展,各個(gè)手機(jī)代理商都將python解釋器移植到它的移動(dòng)終端系統(tǒng)上,該方案所采用的Python for Series 60就是其中之一。基于NoMa S60系統(tǒng)進(jìn)行python程序開發(fā)的步驟如下:
(1)安裝Python for Series 60的Python解釋器,即一個(gè)后綴為*.sis的文件;
(2)在PC上編寫所需的python程序,并保存為*.py文件;
(3)將*.py文件通過藍(lán)牙傳送到手機(jī)上即可運(yùn)行(無需編譯或者安裝)。
3.2.2 MPS的實(shí)現(xiàn)流程
MPS的目標(biāo)是使手機(jī)通過藍(lán)牙連接到電腦并且可以通過手機(jī)向電腦寫入相應(yīng)指令,為了完成這些功能,需要解決兩個(gè)問題:
(1)建立藍(lán)牙連接處理函數(shù)bt_connect( );
(2)創(chuàng)建一個(gè)可觸發(fā)數(shù)字輸入框,并建立手機(jī)通過藍(lán)牙發(fā)送指令至電腦串口的函數(shù)bt_typetext( )。
程序?qū)崿F(xiàn)的流程如圖3.2所示。
3.3 BCS的實(shí)現(xiàn)
指令寫入電腦串口后,BCS需要從電腦相應(yīng)的串口讀取指令并轉(zhuǎn)發(fā)給智能家居系統(tǒng)主處理器PR02,從而實(shí)現(xiàn)相應(yīng)的控制功能。本方案采用Visum Basic(簡(jiǎn)稱VB)來實(shí)現(xiàn)該程序,其界面如圖3.3所示。
其中,PC Serial用于電腦相應(yīng)串口的打開,Pro2IP用于智能家居系統(tǒng)主處理器的連接,Send用于相應(yīng)指令的發(fā)送。
下面將分別介紹這三個(gè)功能塊。
3.3.1 PC Serial功能塊
當(dāng)手機(jī)通過藍(lán)牙與電腦成功連接時(shí),藍(lán)牙適配器會(huì)虛擬一個(gè)串口通信的環(huán)境并自動(dòng)分配串口。程序編寫中使用了VB提供的通信控件——MSCOMM控件,它通過串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通訊功能;通過該控件可設(shè)置串行通信的數(shù)據(jù)發(fā)送和接收,也可以對(duì)串口狀態(tài)及串口通信的信息格式和協(xié)議進(jìn)行設(shè)置。
在BCS主控界面(圖3.3)Pc Serial部分輸入相應(yīng)串口號(hào)并對(duì)其參數(shù)作相應(yīng)設(shè)置(一般情況使用默認(rèn)設(shè)置),打開串口,下方顯示“串口打開中”表示串口成功打開。
3.3.2 Pro2IP功能塊
在建立服務(wù)端與客戶端的連接時(shí),采用了Microsoft VB提供的用于Windows Sock-ets編程的可用控件——Winsock控件。Winsock控件有兩個(gè)重要屬性:Protocol和State。
Protocol屬性用于設(shè)定使用的協(xié)議是TCP還是UDP:取值sckTCPProtocol表示TCP,取值sckUDPProfocol則表示UDP,這里需要建立客戶機(jī)與服務(wù)器的TCP連接,故取值Protocol=sckTCPProtocoi。State屬性用于反映當(dāng)前TCP/IP的連接狀態(tài)。
實(shí)現(xiàn)該功能塊需要兩個(gè)步驟,首先,分別設(shè)置控件的RemoteHost屬性和RemotePort屬性,用于制定服務(wù)器的IP地址和偵聽端口。然后,使用Connect方法向服務(wù)器發(fā)送請(qǐng)求:
若服務(wù)器接受客戶端程序請(qǐng)求,即Winsock.State=sckConnected,則客戶端程序產(chǎn)生Connect事件,就可以使用SendData方法發(fā)送數(shù)據(jù);若接收到Close事件,則用Close方法關(guān)閉連接。
其流程圖如圖3.4所示。
在BCS主控界面(圖3.3)Pr02IP部分輸入主處理器的IP及預(yù)設(shè)定的端口號(hào),打開連接,下方顯示:IP連接成功,則表示連接成功;否則,連接失敗。
3.3.3 Send功能塊
Send功能塊使用了VB MScomm控件的OnComm事件,在事件程序編寫中設(shè)定了快捷方式,左側(cè)0-9數(shù)字分別對(duì)應(yīng)右側(cè)十種不同的控制命令,我們根據(jù)電腦串口接收到的數(shù)據(jù)判斷發(fā)送什么指令到主處理器PR02,從而實(shí)現(xiàn)控制。
3.4 主處理器PRO2的控制原理
主處理器PR02成功接受BCS發(fā)送的指令后,User Program Commands元素接收指令并通過TCP/IP Server元素中已指定的端口傳送至TCP/IP Server元素,繼而轉(zhuǎn)送至Serial I/O元素進(jìn)行指令匹配,如果指令匹配成功,則執(zhí)行相應(yīng)命令。
各元素邏輯圖如圖3.5所示。
4、結(jié)束語
隨著因特網(wǎng)和移動(dòng)通信的迅猛發(fā)展,社會(huì)發(fā)展日趨信息化,人們的生活方式、工作方式以及思維方式都隨之發(fā)生了巨大的變化;智能家居的逐步發(fā)展給當(dāng)今信息社會(huì)注入了新的生機(jī)和活力,智能家居藍(lán)牙遙控系統(tǒng)是一種經(jīng)濟(jì)且方便的控制方法,藍(lán)牙技術(shù)的日益成熟及智能家居的逐步普及使得該方案具有潛在的市場(chǎng)前景。