上海電機學院機械學院 王順利 何 力 王景夏 李 釗 辛紹杰
智能化家居控制系統(tǒng)使人們可以通過手機或座機在任何時間、任意地點對家中的諸如空調(diào)、熱水器、電飯煲、燈光、音響、DVD錄像機等電器進行遠程控制;也可以在下班途中,預先將家中的空調(diào)打開、讓熱水器提前燒好熱水、電飯煲煮好香噴噴的米飯等等。而這一切的實現(xiàn)僅僅是打一個電話或發(fā)一條短信。此外,該系統(tǒng)還具有多途徑報警、遠程監(jiān)控等功能。若出現(xiàn)某種險情,可以在第一時間獲得通知使你提早采取措施。舒適、時尚的家居生活是社會進步的標志,智能家居控制系統(tǒng)能夠在不改變家中任何家電的情況下,對家里的電器、燈光、家庭環(huán)境等進行方便地控制,使人們盡享高科技所帶來的簡便、時尚的現(xiàn)代生活。
智能家居控制系統(tǒng)的整體結(jié)構(gòu)如圖1所示,本系統(tǒng)包括PC端的智能家居上位機控制系統(tǒng),ZigBee主控制系統(tǒng)和各個功能終端模塊,GSM報警模塊。上位機程序使用LABVIEW編寫,ZigBee控制器采用ZigBee CC2530無線開發(fā)模塊實現(xiàn),GSM采用SIM900gsm模塊。程序設計包括基于LABVIEW的上位機程序和下位機程序設計。用戶通過上位機中的虛擬按鍵控制家里的電燈開關、窗簾電機等。老人安全如廁檢測終端若檢測到老人與廁時間超過設定值會通過GSM模塊向其子女的手機發(fā)送警報信號。
圖1 智能家居整體結(jié)構(gòu)圖
圖2 上位機程序設計流程圖
上位機軟件編寫采用LABVIEW編寫,程序有燈控制模塊、窗簾電機控制模塊、老人如廁紅外源安全檢測模塊。
程序的編寫流程如圖2所示。先對程序變量進行初始化,配置串口,設置波特率、數(shù)據(jù)位等參數(shù)。在主循環(huán)里面進行串口數(shù)據(jù)的接收,對接收到的數(shù)據(jù)進行數(shù)據(jù)處理函數(shù)。在另外一個循環(huán)里面檢測按鍵事件,然后把按下按鍵的鍵值發(fā)送給ZigBee主控制器。
智能家居系統(tǒng)包含串口程序、按鍵處理程序模塊和如廁信息處理模塊。串口程序包含最基礎的串口配置、串口讀寫與串口關閉程序。配置串口波特率為9600,數(shù)據(jù)位為8。如圖3所示。
圖3 串口讀寫程序
在按鍵處理程序中,設置按鍵數(shù)值改變?yōu)槭录|發(fā)函數(shù)的時間,在每個相應的按鍵觸發(fā)時間中,通過串口發(fā)送命令數(shù)據(jù)。如圖4所示。
圖4 按鍵事件處理程序
圖5 老人如廁數(shù)據(jù)處理程序
在老人如廁數(shù)據(jù)處理程序中,下位機檢測到老人進入廁所后,把老人進入廁所數(shù)據(jù)發(fā)送給上位機,上位機開始計時,如果在設定的時間內(nèi),還沒接收到老人離開廁所信號,上位機則發(fā)出警報,同時把數(shù)據(jù)發(fā)送給下位機中的主控制器。主控制器通過連接的GSM模塊通知老人兒女。上位機程序如圖5和圖6所示。在本程序中,上位機接收到老人進入廁所數(shù)據(jù),在人機界面中顯示老人已經(jīng)進入廁所,并且把老人如廁標志位設置為TURE,在主循環(huán)里面開始計時,如果這時接收到老人離開標志位,將老人標志位設置為FLASE,清除計時。
圖6 老人如廁計時程序
程序設計界面如圖7所示。界面左面是電燈控制虛擬按鍵,中間為電動窗簾控制按鍵,右面為老人如廁計時,一旦時間超過設置最大限定值,系統(tǒng)就會發(fā)出警報短信。
圖7 上位機截圖
控制主機和終端采用Zigbee CC2530無線開發(fā)模塊,該模塊通訊距離可以從標準的75米到幾百米、幾公里,可擴展性強,完全可以滿足系統(tǒng)的要求。編譯環(huán)境為IAR。C編譯器IAR Embedded Workbench是其最著名的產(chǎn)品,支持眾多知名半導體公司的微處理器。
下位機程序主要包括Zigbee無線信號發(fā)送與接收程序,串口通訊函數(shù)。在Zigbee通信函數(shù)采用:basicRfSendPacket(RECEIVE3_ADDR,pTxData,APP_PAYLOAD_LENGTH);子程序,第一個參數(shù)是網(wǎng)內(nèi)地址,第二個是發(fā)送的數(shù)據(jù),第三個是數(shù)據(jù)的長度。在Zigbee接收端,自動匹配當前接收的地址是否向本模塊發(fā)送,如果不是就不接收本數(shù)據(jù),如果接收地址是當前模塊的地址,使用:basicRfReceive(pRxData,APP_PAYLOAD_LENGTH,NULL),函數(shù)接收,數(shù)據(jù)放在pRxData數(shù)組里面。模塊之間的相互通信通過這兩個函數(shù)進行。然后各模塊根據(jù)自己的任務,發(fā)送和接收相關的數(shù)據(jù)。
主機與上位機通訊是采用串口通信,通訊波特率為9600,數(shù)據(jù)位8BIT,無奇偶校驗位。主機程序接收到上位機發(fā)過來的命令經(jīng)過分析后,分別把指令發(fā)送到每個模塊里面去。
按照設計方案完成了樣機制作,樣機實驗證明:該控制系統(tǒng)利用上位機的人機交互界面,由控制主機分別控制每個zigbee終端,很好地實現(xiàn)了電燈的開關、窗簾的升降、在家老人安全如廁的檢測等功能。該產(chǎn)品具有成本低廉、性價比高、體積小,功能強,功耗低等特點。同時,它的可擴展性好,最高可以擴展256個終端。另外,主控制器與GSM模塊連接方便,較好地實現(xiàn)手機控制家用電器的功能。