基于GPRS與ZigBee的智能家居設(shè)計
基于GPRS和ZigBee技術(shù)的智能家居解決方案采用以單戶家庭為單元的通信控制模式,在每一個家庭中都安裝一個主控中心(負責用戶控制信號及家電反饋信息的接收和轉(zhuǎn)發(fā)),及若干個與家電設(shè)備相連的分控終端(控制該家庭的所有電器)。主控和分控裝置由家庭總線相連,家庭總線采用ZigBee無線通信方式。此裝置便于家庭獨自管理,安全性、可靠性高。
1 概述
1.1 無線數(shù)傳模塊MC35i
GPRS通信模塊采用西門子公司的無線數(shù)據(jù)傳輸模塊MC35i,支持數(shù)據(jù)、短信、語音和傳真業(yè)務(wù)。MC35i是新一代GSM/GPRS雙模模塊,完全兼容上一代的MC35、TC35i;采用緊湊型設(shè)計,為用戶提供了簡單、內(nèi)嵌式的無線GPRS連接。MC35i的GPRS永久在線功能提供了最快的數(shù)據(jù)傳輸速率。
1.2 IP_Linkl270模塊
ZigBee無線網(wǎng)絡(luò)通信模塊采用赫利訊的IP_Link1270模塊。ZigBee(IEEE802.15.4)技術(shù)是最近發(fā)展起來的一種近距離、低功耗、低數(shù)據(jù)率、低成本的雙向短距離無線通信技術(shù),被業(yè)界認為是最有可能應(yīng)用在工控場合的無線方式。Helicomm公司推出的IP_Linkl270是ZigBee的開發(fā)工具和產(chǎn)品,包含符合802.15.4標準的2.4 GHz射頻組件、低功耗的8位微控制器、ZigBee網(wǎng)絡(luò)軟件和全波長天線,每次接力通信都能在75 m范圍內(nèi)提供250kbps的速率;支持最新的RS232 mesh透明串行模式,能在網(wǎng)狀或多次跳接(multihop/無線網(wǎng)絡(luò)內(nèi)支持串行數(shù)據(jù)路由,速率最高可達38.4 kbps。IP_Linkl270是完全符合IEEE802.1 5.4標準與ZigBee規(guī)范的2.4 GHz無線收發(fā)模塊,射頻部分使用Freescale的MCl3191/13192/13193芯片,MCU使用的是Freescale公司的MC9S08GT60芯片。
2 系統(tǒng)結(jié)構(gòu)和工作原理
2.1 系統(tǒng)結(jié)構(gòu)和功能
系統(tǒng)通過GSM手機發(fā)送短信命令來讀取三表的數(shù)據(jù),并對室內(nèi)電燈進行控制。分控中心可以檢測外中斷,當有外中斷產(chǎn)生時,分控中心的蜂鳴器發(fā)出響聲,這時分控中心會主動向用戶發(fā)送短信來提示用戶室內(nèi)有異常。
系統(tǒng)由主控中心與分控終端兩部分組成,如圖1所示。主控中心主要由GPRS模塊通過USB與PC機連接,ZigBee模塊IP_Linkl270通過串口與PC機連接。GPRS通信模塊采用西門子公司的MC35i,負責收發(fā)短信的命令;ZigBee無線通信模塊采用赫立訊公司的TP_Link1270,負責控制分控中心的設(shè)備,來讀取三表的數(shù)值與控制室內(nèi)燈的開關(guān)。
分控終端主要由赫立訊公司的IP_Linkl270、新茂公司的SM5964A單片機、天馬的128×64點陣的LCD液晶顯示模塊組成。LCD用于數(shù)字的電表、水表、氣表值的顯示;單片機上的鍵盤可以改變?nèi)淼闹担ㄟ^單片機上的串口來控制IP_Linkl270數(shù)據(jù)的收發(fā),把三表值和室內(nèi)燈的開關(guān)狀態(tài)返回到主控中心。
系統(tǒng)的主要控制流程如下:
①由用戶手機發(fā)命令給MC35i模塊,MC35i收到命令后,解釋該命令。解釋完命令后發(fā)給主控中心的IP_Linkl270,由該模塊把命令發(fā)給相應(yīng)的分控終端設(shè)備,分控終端設(shè)備收到命令后作出相應(yīng)的動作。
②分控終端收到命令后,一是作出相應(yīng)的動作后向上層作出應(yīng)答,二是把上層需要的數(shù)據(jù)通過IP_Linkl270傳給主控中心。主控中心把收到的分控終端信息,通過MC35i以短信形式發(fā)送到用戶手機上。
該系統(tǒng)主要實現(xiàn)的功能如下:
①通過GPRS模塊收發(fā)短信,控制室內(nèi)的三表和電燈開關(guān)。如果有盜竊,則可以報警并以短信的形式報告給房主。
?、谕ㄟ^發(fā)送wat、gas、ele(水,氣,電)3條短信給主控中心,主控中心把這3個命令通過主控制中心的IP_Link1270發(fā)送給分控中心的IP_Linkl270。分控中心收到該命令后,把當前的三表的值,通過分控中心的IP_Linkl270發(fā)送給主控中心,主控中心把收到的三表的值打包并通過短信的形式發(fā)給主機。
③通過發(fā)送L11、L2l、L31打開室內(nèi)不同的三盞燈。
?、芡ㄟ^發(fā)送L10、L20、L30關(guān)閉室內(nèi)不同的三盞燈。
?、萃ㄟ^發(fā)送L1?、L2?、L3?來查詢這三盞燈的開關(guān)狀態(tài)。
當有人入室盜竊時,報警器就會報警,通過單片機的外中斷,把報警信息主動發(fā)送給房主。
2.2 硬件設(shè)計原理
主控中心、分控中心硬件設(shè)計原理分別如圖2和圖3所示。
MC35i有40個引腳,其中RXD、TXD必須與ZigBee的RX、TX平行相連進行數(shù)據(jù)的收發(fā),CCIN(24)、CCRST(25)、CCIO(26)、CCCLK(27)、CCVCC(28)引腳分別與SIM卡的8、2、7、3和1相連.分別表示SIM卡是否置入、SIM卡復(fù)位、SIM卡數(shù)據(jù)、SIM卡時鐘、SIM卡電源。
分控中心SM5964A的第1l、lO腳TXD、RXD與ZigBee的第5、4腳TX、RX連接進行數(shù)據(jù)通信,第P10、P11、P12、P13、P14、P15、P16、P17引腳與鍵盤連接,通過程序控制鍵盤的操作。
2.3 MC35i與IP_Linkl270的軟件調(diào)試設(shè)計
2.3.1 MC35i軟件調(diào)試設(shè)計
在熟悉AT指令集的基礎(chǔ)上,實現(xiàn)對MC35i與PC機之間通信的調(diào)試、電路的調(diào)試、短信的收發(fā)和查看MC35i發(fā)送與接收數(shù)據(jù)的格式。這里的上位機程序是用VB編寫的串口收發(fā)程序。
VB語言中MSComm控件是一個串口通信的專用控件。下面是上位機串日程序的主要代碼——響應(yīng)的Oncomm事件(這里是以二進制數(shù)接收的):
2.3.2 IP_Linkl270的通信
下位機主要負責對主控中心的IP_Linkl270發(fā)過來的數(shù)據(jù)進行解碼,解碼后再對用戶所有的數(shù)據(jù)或要執(zhí)行的指令進行處理;或者當單片機產(chǎn)生中斷時,主動地向用戶發(fā)送信息。
下位機的主要功能是通過串口采用AT指令集對IP_Linkl270發(fā)送的數(shù)據(jù)進行收發(fā),并對收到的數(shù)據(jù)進行解碼。分控中心的IP_Linkl270處理數(shù)據(jù)流程如圖4所示。
下面是判斷是否要讀取水表的數(shù)據(jù),打包水表值,并發(fā)送的程序:
評論