張 威
青島職業(yè)技術(shù)學院,山東青島 266555
基于Zigbee的智能家居電子開關(guān)控制系統(tǒng)
張 威
青島職業(yè)技術(shù)學院,山東青島 266555
介紹了一種基于Zigbee的可通過手機進行遠距離控制的智能家居智能開關(guān)控制系統(tǒng),其以STC89C52單片機為核心,采用Zigbee、GSM無線通訊技術(shù)實現(xiàn)家居電子開關(guān)系統(tǒng)的本地和遠程監(jiān)控。
Zigbee;單片機;智能開關(guān)
隨著人們物質(zhì)生活水平的不斷提高和無線通訊技術(shù)的高速發(fā)展,人們對家電智能化和遠程控制的需求強烈,希望能隨時隨地遠程控制家用電器?;诖耍疚拈_發(fā)了一種基于Zigbee技術(shù)的遠程智能家居控制系統(tǒng)。
智能家居電子開關(guān)控制系統(tǒng)是當前業(yè)界技術(shù)發(fā)展現(xiàn)狀和智能家居系統(tǒng)的應(yīng)用場景,選擇了基于IEEE802.15.4標準的低功耗個域網(wǎng)協(xié)議Zigbee。Zigbee是一種短距離、低功耗的無線通信技術(shù),其特點是近距離、低復雜度、自組織、低功耗、低數(shù)據(jù)速率、低成本,主要適合用于自動控制和遠程控制領(lǐng)域,可以嵌入各種設(shè)備,其作為一種近距離無線組網(wǎng)通訊技術(shù)具有成本低和功耗低的優(yōu)點。并通過GSM模塊實現(xiàn)遠程控制。同時充分考慮經(jīng)濟性和可靠性而設(shè)計開發(fā)的,系統(tǒng)總體方案如圖1所示。
圖1 總體設(shè)計方案
系統(tǒng)組成:
AC/DC電源電路:將220V交流電變換成5V直流電。
電平轉(zhuǎn)換模塊:主要由MAX232芯片及輔助電路構(gòu)成,將5V電平轉(zhuǎn)成3.3V,ZIGBEE模塊的TTL電平是3.3v,CPU的TTL電平是5v,為了方便兩端通過兩個232芯片對接。
ZIGBEE模塊:順舟SZ05-STD,和GSM通信模塊網(wǎng)關(guān)實現(xiàn)無線通信。
CPU模塊: STC89C52單片機。
繼電器電路:CPU模塊控制繼電器開關(guān)狀態(tài),繼電器進而控制開關(guān)類家電的工作狀態(tài)。
電源指示:指示電源。
工作原理:用戶通過手機等移動設(shè)備向家庭GSM智能網(wǎng)關(guān)發(fā)送控制指令,智能網(wǎng)關(guān)解析控制指令,與相關(guān)Zigbee模塊通信。Zigbee模塊接收到指令后返回數(shù)據(jù)給GSM智能網(wǎng)關(guān),并通過Zigbee模塊的I/O口將指令送給CPU控制模塊,CPU控制模塊通過繼電器電路控制開關(guān)類家電如洗衣機、微波爐、冰箱等的工作狀態(tài),且可以通過軟件來隨時控制家電的工作狀態(tài),達到節(jié)能的目的。
整體系統(tǒng)按功能模塊可分為信息接收模塊、信息解析模塊和家電控制模塊。
1)信息接收模塊。
此模塊將短信接收、網(wǎng)絡(luò)信息接收、本地Zigbee信息接收整合,通過信息解析,將這三種來源的信息轉(zhuǎn)換成系統(tǒng)中使用的統(tǒng)一格式的信息,方便之后的操作。
此程序在系統(tǒng)初始化模塊運行完畢后開啟,此程序單獨開啟GSM線程和socket線程用來監(jiān)聽短信命令和網(wǎng)絡(luò)命令。
短信命令接收處理使用通用的GSM短信協(xié)議,包括GSM短信發(fā)送方法、短信接收方法。只負責短信內(nèi)容的接收和發(fā)送,不對短信中的內(nèi)容進行解析,解析工作交由信息解析模塊完成。
網(wǎng)絡(luò)命令使用socket通信,為保證系統(tǒng)的安全性,首先要通過信息解析模塊進行基于用戶名和密碼的登錄驗證過程,然后通過socket通道交互控制信令。
本地Zigbee消息接收基于專用的Zigbee通信模塊。Zigbee模塊分為中心節(jié)點模式和終端節(jié)點模式。中心節(jié)點只有一個,連接在GSM智能網(wǎng)關(guān)上,其他家電上嵌入的zigbee模塊均為終端節(jié)點模式。網(wǎng)絡(luò)ID是zigbee模塊所屬網(wǎng)段,zigbee必須設(shè)為同一網(wǎng)段才能相互通信。默認網(wǎng)段為FF,為了防止與系統(tǒng)的信號相互干擾,智能家居相關(guān)設(shè)備的網(wǎng)段要設(shè)為其他值。中心節(jié)點的源地址輸出選擇為:輸出,這樣中心節(jié)點接收的zigbee數(shù)據(jù)中能看到發(fā)送源的mac地址;終端節(jié)點設(shè)置此項為不輸出,因為每個終端節(jié)點只和中心節(jié)點保持一對一通信,不需要對mac地址進行判斷。
2)信息解析模塊。
此模塊通過短信解析驗證、網(wǎng)絡(luò)信息解析驗證、本地Zigbee信息解析驗證,驗證短信用戶是否為授權(quán)用戶;驗證網(wǎng)絡(luò)指令密碼是否正確;驗證家電信息。
短信解析驗證過程:
(1)從短信號碼域獲得手機號碼字段。
(2)驗證手機號碼字段是否和預存的手機號碼一致。
(3)一致則進入家電控制模塊。
(4)不一致則拋棄數(shù)據(jù)。
網(wǎng)絡(luò)信息解析驗證過程:
(1)從網(wǎng)絡(luò)信息中解析出用戶名和密碼字段
(2)驗證用戶名和密碼字段是否和預存的用戶名和密碼字段一致
(3)一致則進入家電控制模塊
(4)不一致則拋棄數(shù)據(jù)
本地Zigbee信息解析驗證過程:
(1)從Zigbee信息中解析出家電名
(2)查找設(shè)備列表,獲取對應(yīng)的mac地址
(3)判斷是否找到mac地址,成功返回1,失敗返回0。
3)家電控制模塊。
此模塊接收用戶指令,進入不同家電控制程序。
GSM智能網(wǎng)關(guān)發(fā)送命令信號字符串,寫入zigbee設(shè)備所在串口,目標為zigbee模塊的mac地址。命令字符串包括實際操作命令,查看狀態(tài)命令;命令參數(shù),命令內(nèi)容和數(shù)據(jù)頭之間用分隔符區(qū)分。
此命令發(fā)送到終端節(jié)點后,因為終端節(jié)點設(shè)置源地址不輸出,所以終端節(jié)點收到的通用信號格式。
接下來單片機對此信號進行解析,進行家電控制。
以控制空調(diào)為例,mac地址為ABCDEF00的家電收到命令,此家電為空調(diào)。判斷00為查看狀態(tài)命令,則不進行任何控制操作,直接返回家電狀態(tài)即可。
傳回家電信息信號,格式如:
&A1&1&+27&23&01&FF&0&0
上述信號中:每個狀態(tài)值之間用&分隔,A1代表家電類型,嵌入在不同家電中的單片機返回的值,參考家電類型定義表;1代表家電開關(guān)狀態(tài),+27代表當前溫度,23代表用戶設(shè)定溫度、01代表當前模式、FF為未獲取到的數(shù)據(jù),用F來補齊,后面的兩個0代表風速和風向。
以上數(shù)據(jù)格式是終端節(jié)點發(fā)送的格式,終端節(jié)點源地址設(shè)置為不輸出,默認發(fā)送目標即為中心節(jié)點,只填寫后面的消息內(nèi)容即可,幀頭、長度、mac地址等數(shù)據(jù)zigbee模塊會自動添加。此時,智能網(wǎng)關(guān)會收到如下信號:
0136ABCDEF00&A1&1&+27&23&01&FF&0&0
如上文信號字符串,PC端接收到后回補全幀頭、mac地址等信息。即完成了對家電設(shè)備的控制和結(jié)果獲取。
本系統(tǒng)利用了先進的計算機技術(shù)、無線網(wǎng)絡(luò)通訊技術(shù)、Zigbee物聯(lián)網(wǎng)通信技術(shù),將各種家電子系統(tǒng)有機地結(jié)合成智能家居系統(tǒng),通過統(tǒng)籌管理,讓家居生活更加舒適、安全、高效。
圖3 系統(tǒng)主程序歷程圖
2.1 語音模塊程序設(shè)計
在語音模塊程序設(shè)計時,需要操控者自己添加關(guān)鍵詞,將操控者需要的功能詞語添加到寄存器中形成語音庫。工作時,要先對內(nèi)部進行初始化,完成之后,需要對操控者所使用的命令字符串進行編號,并分別將字符串和字符串長度寫入相應(yīng)寄存器中,每次識別,可以添加一次字符串,從而可以實現(xiàn)語音模塊對命令的識別。
2.2 驅(qū)動模塊程序設(shè)計
單片機控制驅(qū)動模塊去驅(qū)動電機正反轉(zhuǎn)時,首先把麥克風識別到的語音與語音庫中的識別碼進行比對,達到最優(yōu)的效果時,單片機會給驅(qū)動模塊發(fā)出控制信號,驅(qū)動模塊控制電機執(zhí)行相應(yīng)的操作。
本系統(tǒng)結(jié)合手動搖動護理床升降的工作原理,利用語音控制實現(xiàn)了聲控起降護理床的功能。設(shè)計了一個基于STM32單片機控制,由LD3320語音識別芯片和L298n驅(qū)動電機所組成的語音控制護理床升降的系統(tǒng)。該系統(tǒng)通過操作人的語音命令可以控制L298n電機驅(qū)動,從而可以實現(xiàn)電機的正轉(zhuǎn)、反轉(zhuǎn)用來控制護理床的升降。
[1]盛青.語音自動識別技術(shù)(ASR)及其軟件實時實現(xiàn)[D].西安:西北工業(yè)大學,2001.
[2]田犇,闕大順.基于LD3320的語音控制系統(tǒng)設(shè)計實現(xiàn)[J].電腦與信息技術(shù),2011(6):6-9.
[3]孫兵.基于單片機的機械手聲控系統(tǒng)設(shè)計[J].機械工程與自動化,2007(6):113-117.
TP3
A
1674-6708(2015)148-0154-02
張威,講師,碩士,青島職業(yè)技術(shù)學院機電一體化技術(shù)專業(yè)教師,研究方向:自動控制、嵌入式系統(tǒng)