《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 智能家居通訊協議xPL的應用

智能家居通訊協議xPL的應用

2008-07-17
作者:陸圣軒, 徐 安, 郭凱杰

??? 摘 要: 介紹了xPL協議的基本內容、工作過程和使用方法;并以電話遠程遙控" title="遠程遙控">遠程遙控系統運用xPL與上位機" title="上位機">上位機、下位機" title="下位機">下位機完成數據通信,最終實現對家居設施的遠程控制" title="遠程控制">遠程控制。
??? 關鍵詞: xPL協議? 遠程控制? 智能家居

?

??? 智能家居控制系統的出現使得人們可以通過電話、手機或者互聯網在任何時候、任意地點對家中的任意電器,如燈光、電源和家庭環境等進行遠程控制。然而,為了協調家居各子系統能順利工作,控制系統必須使用具有強大兼容性的協議對各個子系統進行控制。xPL協議[1](eXtremely simPle protocoL)就是這樣一個具有強大兼容性的協議,是一種新穎的智能家居控制系統中的通信協議,2003年1月由英國的兩名工程師 Ian Lowe和Tony Tofts發起,并于2003年上半年得到完善。運用xPL協議,可以根據用戶自身的需要,編寫出相應的個性化程序,將使智能家居系統的開發變得簡單,并能完成對多種家電的控制。開發的系統將具有可靠性、兼容性和安全性。
1 xPL協議的指令信息格式
??? xPL信息有三種類型,分別為xpl-cmnd、xpl-stat 和xpl-trig,它們使得xPL網絡中各設備之間的相互通信過程變得簡單。
??? xPL程序以行為單位,每行以一個換行符作為結束。一個完整的xPL信息應該由以下四部分組成:
??? (1) 信息類型(xpl-cmnd、xpl-stat 或者xpl-trig);
??? (2) 一個大小可以變(但須在限定范圍內)的頭文件;
??? (3) schema.version 格式的信息樣式表;
??? (4) 一個單一信息“體”,包含 name=value。
??? 信息格式(Schema)標識符是為了使來自不同廠商的設備和程序能夠在開放的環境下通信,schema定義了傳輸信息的格式內容。這樣,每條信息將屬于一個特定的類。
??? 命令、狀態和其他信息是以一系列名稱/值對組成的xPL信息表達的。一個xPL信息可能包含很多這樣的對。信息包含的特定內容以及這些內容的順序由所用信息的schema規定。開發者可以在其中加入更多的信息,但由信息schema規定的基本要素必須總是以正確的順序羅列出。
1.1 xpl-cmnd指令
??? xpl-cmnd指令是用來使一個裝置執行一個動作的,分為兩種:定向命令信息和廣播命令信息。
1.1.1? 定向命令信息
??? 如果想對家居環境中的一個特定的裝置進行控制,如休息室里的窗簾控制器,或者中央供暖系統的加熱器,信息可以通過目標定向傳達到受控裝置或程序。只有信息中指定的目標定向裝置或程序才會對收到的定向命令信息進行響應。
1.1.2? 廣播命令信息
??? 廣播命令信息向xPL網絡中所有裝置和應用程序" title="應用程序">應用程序發送一個xPL命令,一旦此信息發出,xPL網絡中所有裝置和應用程序都會對此信息進行響應。
1.2 xpl-stat指令
??? xpl-stat指令是用來獲取xPL網絡中的裝置或程序的實際狀態信息的。所有的裝置和應用程序都應該定時發送一個“heartbeat”(心跳)狀態信息,并且可以隨意地對詢問當前狀態的請求作出回應。
1.2.1 Heartbeat心跳信息
??? 一個xPL網絡中的所有裝置都應該發送heartbeat信息(Hub除外)。Heartbeat中囊括了配置信息、正常監視、故障診斷和事件日志。Heartbeat的時間間隔由開發者定義,可以是5~30分鐘內的任何時間長度。請求所有設備識別它們自身,程序可發送一個廣播命令。格式是一個schema類hbeat.request類型和command=request單一體元素。當一個xPL設備接收到這樣的信息時,它應當發送一個標準的heartbeat信息作為回復。
1.2.2 狀態請求
??? 與采用通常的heartbeat一樣,在xPL網絡中的設備要想知道另一個設備的當前狀態,可以啟用狀態請求機制。
1.3? xpl-trig指令
??? 在xPL網絡中,無論何時,當出現一個裝置的狀態改變、響應一個xPL命令、一個人的直接的行為(如按下一個開關)等情況時,不論這種變化是否由一個外部事件(按下一個按鈕,IR探測,達到溫度,或者一個設備啟動)引起,觸發信息都會被發送。
2 xPL設備配置
2.1 Group(組)

??? 當智能家居環境中的同類設備不止一個、用戶想同時控制它們的打開或者關閉時,可將此類設備設置為同一個組。xPL為此提供了一個強大的機制,它的形式為:“group=”的配置標簽。配置信息中的 “group=”標簽將清空已經存在的組。因此,當一個設備的組將要發生改變時,所有想要包含此設備的組必須在配置信息中全部被設定。
2.2 Filter(過濾器)
??? 在xPL網絡中,有大量的xPL信息,但其中的設備并不是每條信息都需要接收,這樣,就需要一個過濾器filter將與其無關的信息過濾掉,而只接收與自身匹配的信息。信息過濾器可以通過一個配置信息指定使用。過濾器是在一個配置信息中用“filter=tag”來定義。一個配置信息中的“filter=tag”將會清空已有的過濾器,因此,當要改變一個過濾器時,所有期望的過濾器必須在配置信息中設定。過濾器只應用于廣播信息,為的是減少設備所使用信息的數量。如果多個過濾器同時存在,只要其中的一個與將要處理的信息匹配就可以了。
3 xPL服務器配置
3.1 xPL Hub
??? 因為TCP/IP協議一次只允許一個應用程序占用一個特定的端口,因此,用一個“Hub”機制來實現多個xPL應用程序在同一個主機上運行。一個應用程序如果要偵聽xPL通信,應該與一個動態UDP端口進行綁定,并且在心跳信息或者設置信息中將程序偵聽的端口發送出去。Hub接收到這些心跳信息后將應用程序添加到它的客戶機名單中。當進來的xPL信息在一個xPL端口被接收到時,Hub會把它們轉發給所有注冊的客戶機。在以太網上傳輸的xPL信息支持最大為1 500字節的信息長度。
3.2 xPLHal
3.2.1 xPLHal的概念
??? xPLHal是一個沒有圖形用戶界面的服務程序。在沒有xPL設備接入網絡的情況下,它也會一直在后臺運行。xPLHal Manager是一個xPLHal的控制臺程序,它使用XHCP(而不是xPL)對底層服務進行配置,它可以在網絡中的任何PC機上運行,而不一定是在xPL的服務器上。xPLHal完全可以在沒有Manager的情況下運行。
3.2.2? xPLHal 中的參數設置
??? (1) Modes(狀態)
Modes被用來反映一個房間可以處于的不同狀態。例如,“繁忙”、“空閑”和“休息”。它可以通過xPLHal屬性對話框的相關標簽進行設定。
??? 房間處于不同狀態時,其Modes也不相同。因此,用戶可以利用Modes編程來制定智能家居系統的行為。例如,可以使一個xPL指令信息在房間“空閑”模式下觸發,而在房間“繁忙”時,這個行為卻不發生。
??? (2) Periods(時段)
??? Periods用來代表一天中不同的時段。默認情況下可以有兩個備選值:Day(白天)和Night(黑夜)。同樣可以利用Periods編程來制定家居系統的行為。
??? 究竟Periods是“白天”還是“黑夜”可以通過許多方法判斷,下面給出其中的一些方法:
??? ①通過安裝xPL的DawnDusk服務程序。它可以在“黎明”和“黃昏”時分別發出xPL信息,原理是它可以根據所在地計算出日出和日落的時間。
??? ②在PC機上直接接入光傳感器,例如通過串行口接入。
??? 在家居系統中,程序可以將Modes與Period聯合使用,從而實現一個比較復雜的邏輯環境。
??? (3) Global variables全局變量
??? 全局變量由xPLHal支持并由用戶自己定義的變量。如果用戶需要保存程序中的狀態信息,則可以將它保存在全局變量集合中。全局變量是不可變的,它將被寫入磁盤,確保即使系統重啟時它的值仍然存在。全局變量也將被復制給其他xPLHal從服務器。
??? Mode和Periods值將以全局變量的形式存儲在xPLHal中,而VB程序員可以通過xPL開發者提供的ActiveX控件在VB程序中方便地找到這些全局變量,同時也可以得到各個設備的當前狀態和當前時段。
4 電話遠程遙控系統設計
4.1電話遠程遙控系統設計方案
[2]
??? 在xPL協議的幫助下,只要將家中固定電話、PC機和單片機相連接,就可以利用手機完成對家中家居設施的遠程控制。當電話打入時,xPL協議從調制解調器上收到用戶的控制命令,并將信息傳遞給上位PC機,由上位機對信息處理后,將指令傳達給單片機,單片機將直接控制家中所有的被控設備。本實驗系統中,單片機的控制對象分為開關量對象和紅外遙控對象。由單片機控制的紅外發射器可以對一切具有紅外接收功能的家電諸如空調、電視機、DVD播放機等進行控制。系統設計方案如圖1所示。

?????????????????????????????
??? 雖然xPL軟件本身提供了強大的功能,但要實現用戶要求的復雜控制功能,還需要編寫控制程序。xPL軟件是基于Visual Basic語言開發的,同時xPL開發者提供了ActiveX控件,使得Visual Basic編程者很容易將xPL功能加入到程序中。加之Visual Basic用于制作界面強大又易于操作的優勢,因此,本實驗系統的上位機程序采用VB編寫控制程序。控制程序將負責接收xPL指令信息,做出判斷和處理后,向單片機下達指令完成控制動作。
4.2 程序介紹
4.2.1 xPLPhone
??? 若要實現電話對家中家居設施的控制,則需要安裝xPLPhone軟件。xPLPhone是一款xPL官方網站提供的免費軟件。它能使調制解調器成為一個完全支持xPL的設備,使得PC機能夠接聽電話,可以通過對xPLPhone編寫基于xPL指令信息與協議規則的腳本語言實現既定的功能。
??? 電話遠程遙控系統包括兩大功能:一是主人不在家時的訪客留言錄音功能;二是主人對智能控制系統中的設備的電話遠程遙控功能。圖2是電話遠程遙控流程示意圖。

???????????????????????????????
4.2.2 控制界面設計
??? 系統的控制界面如圖3所示。xPL指令信息和當前狀態經由ActiveX控件從xPLHal傳遞到控制軟件。控制軟件根據指令信息,經過判斷和處理,由串口向下位機發送命令。控制軟件的用戶界面也實時反映各個設備的當前狀態。

???????????????????????????????
??? 控制軟件的工作方式與特點:
??? (1)xPL提供的ActiveX控件使得Visual Basic程序可以方便地接收到xPL指令信息和設備的當前狀態信息。軟件由xPLHal接收到xPL信息,經過解析和判斷后,便可以向下位機發送命令了。
??? (2)在xPL網絡中,有大量的xPL信息,但其中的設備并不是每條信息都需要接收。這樣,就需要一個過濾器Filter, 將與其無關的信息過濾掉,而只接收與自身匹配的信息。本實驗系統定義了一個Schema:iHouse.Basic。Filter將自動過濾掉與iHouse.Basic無關的信息。
??? (3)遙控系統可以經過ActiveX控件由 xPLHal 得到當前時段和xPL設備的當前狀態。在接收到xPL指令信息后,通過對這些狀態和時段的判斷,決定單片機應該產生哪些控制動作。
4.2.3 下位機程序設計
??? 本系統采用LPC932單片機對各個被控設備進行控制。單片機通過RS232與上位機相連接,從上位機接收控制數據,然后通過特定電路與被控設備相連接,實現開關量控制或紅外信號控制[4]
??? xPL作為一個專門為智能家居控制設計的協議,它是一個統一的、具有極其簡單和容易使用的特點的開放協議。它具有以下特點:
??? (1)提供了一個豐富的特征和功能集,同時,有一個較完善的、但并不復雜的信息結構。
??? (2)具有強大的自動發現和配置的能力,完全支持“即插即用”體系結構。
??? (3)特定信息結構確保了來自不同生產商的支持xPL的設備能夠相互通信,而沒有不兼容的危險。
??? 本文通過電話遠程遙控系統的設計與實現,說明了用xPL協議實現智能家居將大大降低設計難度,同時保證了網絡設備的兼容性、可靠性。xPL協議在智能家居領域將具有廣闊的市場前景。
參考文獻
[1] JACOBSON J. Understanding home automatic. Electronic?House, 2001: 48-50.
[2] ?SCHONGA B.VBScript揭秘.高長劍,譯.北京:電子工業出版社,1998:70-147.
[3]?徐安.微型計算機控制技術.北京:科技出版社,2004.
[4]?LEWISD W L. Fundamentals of embedded software:where?C and assembly meet. 北京: 高等教育出版社,2005.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日韩欧美福利视频| 男人j捅进女人p| 国产成人免费高清激情视频 | 波多野结衣女同| 女人被男人躁的女爽免费视频| 久久久噜噜噜久久久午夜| 欧洲肉欲K8播放毛片| 亚洲欧美久久一区二区| 特级毛片aaaaaa蜜桃| 北条麻妃久久99精品| 色偷偷成人网免费视频男人的天堂| 国产成人亚洲精品播放器下载 | 久久国产精品久久久久久| 果冻传媒麻豆电影| 亚洲国产欧美日韩精品小说 | app草莓视频| 女性一级全黄生活片在线播放| 中文字幕影片免费在线观看| 日本日本熟妇中文在线视频| 久久精品隔壁老王影院| 欧美一级久久久久久久大| 亚洲欧洲日产国产最新| 污污视频在线免费看| 人妻无码一区二区三区四区| 精品一区二区三区四区| 刚下班坐公交车被高c怎么办| 精品视频vs精品视频| 四虎影院最新网址| 色妞色视频一区二区三区四区| 国产又大又粗又长免费视频| 黑人又大又硬又粗再深一点| 国产男人的天堂| 色偷偷亚洲女人天堂观看欧| 成人在线不卡视频| 久久99精品久久久久久动态图 | 全高清特级毛片| 精品乱码久久久久久中文字幕| 午夜精品久久久久久久无码| 美国式禁忌交换伴侣| 午夜福利麻豆国产精品| 精品无码久久久久久国产|