亚洲电影av-亚洲第一综合网站-亚洲第一在线-亚洲第一影院-成年人视频在线免费-成年人视频在线观看免费

電子方案開發(fā)供應(yīng)鏈平臺
一鍵發(fā)布任務(wù)
獲取驗證碼
返回

發(fā)布成功


贊賞作者

贊賞金額:

  • ¥2
  • ¥5
  • ¥10
  • ¥50
  • ¥100
  • ¥200

支付金額:5

支付方式:

微信支付

贊賞成功!
你的贊賞是對作者最大的肯定~?

當(dāng)前位置 : 首頁 > 方案訊 > 方案訊詳情
基于信息家電的推拉技術(shù)的研究
發(fā)布時間:2010-11-30 閱讀量:1550 來源: 作者:彭華; 唐贊玉; 劉宏

【中心議題】

  • 介紹了智能家居中信息家電的控制方式
  • 從信息家電生命周期的角度討論了推拉技術(shù)在其各階段的應(yīng)用

【解決方案】

  • CORBA中的推拉機(jī)制引入智能家居中的信息家電控制系統(tǒng)
  • 提出了信息家電的設(shè)備生命周期的概念,并將推拉技術(shù)應(yīng)用在信息家電生命周期的各個階段


1引言

信息家電是未來家用電器的主要發(fā)展方向。它是通信技術(shù)、計算機(jī)技術(shù)和消費(fèi)電子技術(shù)三個領(lǐng)域的融合,這種融合使得信息家電在傳統(tǒng)家電的基礎(chǔ)上實現(xiàn)了數(shù)字化、智能化并具有網(wǎng)絡(luò)功能,使信息家電成為適應(yīng)現(xiàn)代家庭信息化、小區(qū)智能化的必備商品。

2信息家電的控制方式

在未來的智能家居中,將由信息家電、家庭網(wǎng)關(guān)、萬能遙控器三部分組成信息家電的控制系統(tǒng)(如圖2.1)

 

2.1信息家電

每種信息家電設(shè)備(簡稱為設(shè)備)都具有某些特性,提供某些服務(wù)。為了讓外界識別、理解和使用設(shè)備,需要一種能夠?qū)⒃O(shè)備所有內(nèi)容抽象出來的語言來描述它。IAIDL(Information Appliance Interface Define Language信息家電接口定義語言)就是這樣一種語言,其唯一的目的是以與任何具體編程語言無關(guān)的形式來定義家庭網(wǎng)絡(luò)中的信息家電設(shè)備。這樣,每種信息家電設(shè)備都有對應(yīng)的用IAIDL來編寫的設(shè)備描述文件,在該文件中包含著對應(yīng)設(shè)備的屬性、操作、事件等的描述。當(dāng)網(wǎng)關(guān)在獲得某設(shè)備描述文件并注冊對應(yīng)設(shè)備后,該設(shè)備即可使用。

設(shè)備自身的狀態(tài)可分為喚醒狀態(tài)、睡眠狀態(tài)和脫網(wǎng)狀態(tài)。

設(shè)備的喚醒狀態(tài)相當(dāng)于邏輯開狀態(tài)(在接收到開機(jī)命令后設(shè)備所處的狀態(tài)),設(shè)備將以正常的功率運(yùn)行著;睡眠狀態(tài)相當(dāng)于邏輯關(guān)狀態(tài)(在接收到關(guān)機(jī)命令后設(shè)備所處的狀態(tài)),并不是真正的關(guān)閉,仍然保持電源和設(shè)備上的控制程序的運(yùn)行,只不過設(shè)備是以較低的功率運(yùn)行著而已;而脫網(wǎng)狀態(tài)則是真正的關(guān)閉,只有在摘除設(shè)備時設(shè)備才會到達(dá)此狀態(tài)。

2.2家庭網(wǎng)關(guān)

家庭網(wǎng)關(guān)是整個家庭網(wǎng)絡(luò)的中樞,其上運(yùn)行著IAIDL解釋器、嵌入式數(shù)據(jù)庫和網(wǎng)關(guān)應(yīng)用程序,管理著家庭中所有的信息家電。IAIDL解釋器負(fù)責(zé)將獲得的設(shè)備描述文件進(jìn)行加工和處理,生成中間格式的設(shè)備資源文件(該文件包含著對應(yīng)設(shè)備的注冊信息);嵌入式數(shù)據(jù)庫用于存儲所有信息家電的設(shè)備資源文件;而網(wǎng)關(guān)應(yīng)用程序則具有協(xié)議轉(zhuǎn)換、通信管理、命令轉(zhuǎn)發(fā)、數(shù)據(jù)庫存取等功能。

2.3萬能遙控器

與傳統(tǒng)遙控器只能遙控一個傳統(tǒng)家電不同,在家庭網(wǎng)絡(luò)中,只需一個萬能遙控器就足以操縱所有的信息家電,并使他們有效地協(xié)同工作。

萬能遙控器作為與用戶交互的前端設(shè)備,主要作用是提供一個GUI界面。一般來說,在萬能遙控器上至少需要三種界面:

家庭網(wǎng)絡(luò)中信息家電的類別界面,同類信息家電設(shè)備的列表界面及具體信息家電設(shè)備的詳細(xì)信息界面。由于每個家庭中的信息家電的數(shù)目和類型都不盡相同,因此必須根據(jù)網(wǎng)關(guān)中嵌入式數(shù)據(jù)庫里存儲的信息家電的注冊信息來動態(tài)生成界面。在生成界面之后,用戶就可以同該界面進(jìn)行交互操作了。當(dāng)用戶在界面上操作對應(yīng)某具體信息家電的一個控件后,萬能遙控器會解釋該操作的具體含義并發(fā)出控制命令,通過家庭網(wǎng)關(guān)將命令送達(dá)至對應(yīng)的設(shè)備上,然后由其上運(yùn)行的控制程序完成設(shè)備的某個物理動作,并將操作的結(jié)果反饋給萬能遙控器,周而復(fù)始。

3推送和拉取

“推送”是指由信息家電設(shè)備有目的的把自身的一些信息或數(shù)據(jù)主動上報給萬能遙控器及網(wǎng)關(guān)的過程。而“拉取”是指萬能遙控器或網(wǎng)關(guān)有目的的向信息家電設(shè)備發(fā)出請求,由設(shè)備搜集相關(guān)信息或數(shù)據(jù)并反饋給萬能遙控器或網(wǎng)關(guān)的過程。

設(shè)備生命周期可分為設(shè)備產(chǎn)生、設(shè)備使用、設(shè)備故障和設(shè)備摘除四個階段(如圖3.1)。在設(shè)備生命周期的各個階段如果使用適當(dāng)?shù)耐评夹g(shù)將會優(yōu)化整個控制系統(tǒng)。

 

3.1設(shè)備產(chǎn)生

設(shè)備在接通電源并連入家庭網(wǎng)絡(luò)后,必須向網(wǎng)關(guān)注冊。因此,首先需要讓網(wǎng)關(guān)獲得新設(shè)備的設(shè)備描述文件,以便其上的IAIDL解釋器能繼續(xù)工作完成注冊。在設(shè)備與網(wǎng)關(guān)之間存在著不同的網(wǎng)絡(luò)連接方式,若采用的是串口連接方式(在該方式下,設(shè)備無須獲取網(wǎng)關(guān)的ip地址就可與網(wǎng)關(guān)通信),應(yīng)使用“推送”模型,由設(shè)備主動的將自己的設(shè)備描述文件寫入串口并通過網(wǎng)絡(luò)提交給網(wǎng)關(guān);而若采用網(wǎng)線連接方式(在該方式下,設(shè)備只有在獲取網(wǎng)關(guān)的ip地址后才能與網(wǎng)關(guān)進(jìn)行通信),則應(yīng)使用“拉取”模型,由網(wǎng)關(guān)應(yīng)用程序通過“廣播”通訊模式發(fā)送“獲取未注冊設(shè)備的設(shè)備描述文件”命令給所有設(shè)備,由運(yùn)行在設(shè)備上的控制程序自行判斷該設(shè)備是否注冊過,如果是未注冊的設(shè)備則響應(yīng)該命令----回送其設(shè)備描述文件至網(wǎng)關(guān),而注冊過的設(shè)備則在收到命令后不作任何響應(yīng)。

3.2設(shè)備使用

3.2.1可變屬性

設(shè)備的屬性可以分為不變屬性和可變屬性。例如:一臺空調(diào),它的型號、生產(chǎn)廠家等屬性就是不變屬性;它的當(dāng)前室溫就是一個可變屬性。

在設(shè)備完成注冊后,應(yīng)由網(wǎng)關(guān)獲取設(shè)備的不變屬性值和可變屬性的當(dāng)前值,然后將不變屬性值存儲至數(shù)據(jù)庫中(或網(wǎng)關(guān)應(yīng)用程序的數(shù)據(jù)結(jié)構(gòu)中),將可變屬性的當(dāng)前值存儲在網(wǎng)關(guān)應(yīng)用程序的某個數(shù)據(jù)結(jié)構(gòu)中(因為可變屬性值會不斷變化,若是將其寫進(jìn)數(shù)據(jù)庫中,將會造成數(shù)據(jù)庫長期處于寫狀態(tài),以至于系統(tǒng)性能下降)

由于設(shè)備的可變屬性值可能每時每刻都在變化,因此必須要解決的一個技術(shù)問題是:萬能遙控器需要不斷地獲得可變屬性的最新數(shù)據(jù)以保證界面上顯示的數(shù)據(jù)和設(shè)備的真實物理狀態(tài)保持一致或盡可能保持一致(在無法保持一致的情況下)。此時,可采用“推送”和“拉取”兩種模型來解決該問題。

在“推送”模型中,無論萬能遙控器當(dāng)前界面是哪種界面,家庭網(wǎng)絡(luò)中任何一個信息家電設(shè)備的可變屬性值一旦變化,就“推送”可變屬性的最新值給網(wǎng)關(guān),由網(wǎng)關(guān)將其存儲在網(wǎng)關(guān)應(yīng)用程序的對應(yīng)的數(shù)據(jù)結(jié)構(gòu)中。一旦萬能遙控器需要為某具體的信息家電生成詳細(xì)界面時,則從網(wǎng)關(guān)處取得所需要的數(shù)據(jù)(包括存儲在數(shù)據(jù)庫中的屬性名、操作名、不變屬性值以及存儲在網(wǎng)關(guān)應(yīng)用程序中的可變屬性值、操作參數(shù)的當(dāng)前值)。生成該界面后且離開該界面前,由網(wǎng)關(guān)應(yīng)用程序檢測該設(shè)備可變屬性對應(yīng)數(shù)據(jù)結(jié)構(gòu)中的值是否發(fā)生更新,若是,則將最新數(shù)據(jù)傳遞給萬能遙控器,由萬能遙控器更新界面。

在“拉取”模型中,當(dāng)萬能遙控器處在同類設(shè)備的列表界面時,從邏輯上來說,用戶很有可能會從同類設(shè)備列表中選擇某一個具體設(shè)備,從而下一步將生成具體信息家電設(shè)備的詳細(xì)信息界面。因此,萬能遙控器可進(jìn)行“預(yù)先拉取”----通過發(fā)送命令給列表上的所有設(shè)備,“拉取”它們的可變屬性值的最新數(shù)據(jù)并存儲在網(wǎng)關(guān)的對應(yīng)的數(shù)據(jù)結(jié)構(gòu)中,一旦在該界面上進(jìn)一步地選擇了某個具體的信息家電設(shè)備,則將快速地生成具體信息家電的詳細(xì)界面。此時萬能遙控器還需發(fā)送命令給列表中其他未被選中的設(shè)備,要求它們停止上送可變屬性值的最新數(shù)據(jù)。這樣,只有被選中的一個設(shè)備會不斷地按其變化的頻率(若變化速度太快,則規(guī)定某個合適的頻率)上送其可變屬性的最新數(shù)據(jù)至網(wǎng)關(guān);而萬能遙控器僅需要從網(wǎng)關(guān)上取得最新數(shù)據(jù)來更新界面即可。在離開該界面后,還必須向當(dāng)前設(shè)備發(fā)送命令要求其停止上送可變屬性值的最新數(shù)據(jù)。

這兩種模型各有優(yōu)缺點。在“推送”模型中,隨時可以獲取任何一個設(shè)備的可變屬性的最新值,且實現(xiàn)上算法設(shè)計簡單;但當(dāng)系統(tǒng)中設(shè)備的可變屬性數(shù)目較多且所有可變屬性的變化頻率較快時,整個系統(tǒng)會因為網(wǎng)關(guān)處理數(shù)據(jù)時間增加及網(wǎng)絡(luò)通訊異常繁忙而導(dǎo)致系統(tǒng)性能嚴(yán)重下降。在“拉取”模型中,若當(dāng)前界面為同類設(shè)備列表界面,只有一部分設(shè)備按某種頻率上送其可變屬性的最新值;若當(dāng)前界面為具體信息家電的詳細(xì)界面,則僅有一個設(shè)備在不停地上送其可變屬性的最新值,因此即使這些設(shè)備的可變屬性的變化頻率較快,也不會造成系統(tǒng)性能有太大的影響;但缺點是無法隨時取得所有設(shè)備的可變屬性值的最新值,而且需要不斷地動態(tài)生成并下發(fā)命令包,在實現(xiàn)上算法設(shè)計復(fù)雜。

 

因此,“推送”模型適用在系統(tǒng)中設(shè)備的可變屬性較少或可變屬性的變化頻率較慢的情況下,而“拉取”模型適用在系統(tǒng)中設(shè)備的可變屬性較多且可變屬性的變化頻率較快的情況下,需要根據(jù)實際情況進(jìn)行選擇。

3.2.2事件

每個信息家電在注冊時均會描述其能夠提供的事件,例如:

電視機(jī)打開、空調(diào)檢測到的當(dāng)前室溫過高等等。在設(shè)備使用時,既可以由運(yùn)行在設(shè)備上的控制程序不斷地去檢測其硬件的物理狀態(tài)的變化,一旦發(fā)生了某事件,則設(shè)備主動“推送”事件給萬能遙控器;也可以由萬能遙控器或家庭網(wǎng)關(guān)通過下發(fā)命令要求設(shè)備查詢自身硬件的物理狀態(tài),“拉取”所期望的事件;最后由萬能遙控器去處理或顯示。一般來說,采用“拉取”模型會更合理一些,在網(wǎng)關(guān)或萬能遙控器需要獲取某設(shè)備的某事件時或在它們空閑時,通過下發(fā)命令來進(jìn)行“拉取”(通常是在設(shè)備操作的命令執(zhí)行之后)。而如果讓家庭網(wǎng)絡(luò)中所有設(shè)備不斷地去檢測硬件的物理狀態(tài),則可能會影響設(shè)備的響應(yīng)速度,從而造成系統(tǒng)性能下降。

3.3設(shè)備故障

設(shè)備故障主要指設(shè)備的硬件故障。若設(shè)備存在某種故障,但仍能保持電源和設(shè)備控制程序正常運(yùn)行,只是不能完成操作。可以采用“推送”技術(shù),由運(yùn)行在設(shè)備上的控制程序不斷地自檢,搜集故障信息主動上報給網(wǎng)關(guān)和萬能遙控器。也可以在適當(dāng)?shù)臅r候,由網(wǎng)關(guān)下發(fā)命令要求設(shè)備自檢,“拉取”設(shè)備的自檢結(jié)果。

一般來說,此時采用“拉取”模型更合理一些。可以在網(wǎng)關(guān)空閑的時候下發(fā)命令要求所有設(shè)備自檢或在萬能遙控器發(fā)現(xiàn)下發(fā)給某設(shè)備的操作命令執(zhí)行后未有“有效信息”返回的時候下發(fā)命令要求指定的設(shè)備自檢,“拉取”設(shè)備的自檢結(jié)果,并將自檢結(jié)果為設(shè)備故障的設(shè)備信息傳遞給萬能遙控器,通過界面顯示詳細(xì)的設(shè)備故障信息告知用戶。若由設(shè)備“推送”的話,設(shè)備上的控制程序的負(fù)擔(dān)比較重;當(dāng)所有設(shè)備都在不斷地運(yùn)行自檢程序時,會使設(shè)備的響應(yīng)速度變慢以致影響系統(tǒng)性能。

若設(shè)備發(fā)生了嚴(yán)重的故障以致不能保持電源或設(shè)備控制程序正常運(yùn)行,顯然無法由設(shè)備本身“推送”故障信息,只能由網(wǎng)關(guān)通過下發(fā)設(shè)備自檢命令包來“拉取”故障信息;當(dāng)網(wǎng)關(guān)檢測到命令包無法到達(dá)設(shè)備端或重發(fā)若干次命令包均無“有效信息”返回,則判定設(shè)備故障,寫入日志,并通過萬能遙控器的界面顯示未知的設(shè)備故障信息告知用戶。

3.4設(shè)備摘除

設(shè)備摘除是設(shè)備生命周期的最后一個階段,它首先需要網(wǎng)關(guān)在收到“設(shè)備即將摘除”的消息后完成一系列的工作,再由用戶手動從家庭網(wǎng)絡(luò)中拆除設(shè)備。

網(wǎng)關(guān)可以通過“推送”和“拉取”兩種模型獲得某“設(shè)備即將摘除”的消息。在“推送”模型中,當(dāng)用戶需要摘除設(shè)備時,由用戶手動地關(guān)閉設(shè)備(例如:按下設(shè)備的“power”鍵),此時將會引起運(yùn)行在設(shè)備上的控制程序調(diào)用其注銷模塊,主動將“設(shè)備即將摘除”的消息“推送”給網(wǎng)關(guān)。而在“拉取”模型中,當(dāng)用戶需要摘除設(shè)備時,由用戶通過萬能遙控器(例如:按下界面上的“注銷當(dāng)前設(shè)備”的button控件)發(fā)送命令給設(shè)備,要求設(shè)備進(jìn)行注銷,引起運(yùn)行在設(shè)備上的控制程序調(diào)用注銷模塊,從而將“設(shè)備即將摘除”的消息“拉取”至網(wǎng)關(guān)。在設(shè)備摘除階段這兩種模型的同時存在是有意義的,它給用戶帶來了兩種不同的進(jìn)行設(shè)備注銷的操作方式。

在網(wǎng)關(guān)收到某“設(shè)備即將摘除”的消息后就在網(wǎng)關(guān)處完成設(shè)備注銷、將設(shè)備摘除事件寫入日志、更新數(shù)據(jù)庫及其相關(guān)數(shù)據(jù)結(jié)構(gòu)等一系列清理工作。

4結(jié)束語

信息家電具有方便、高效、智能化的獨(dú)特魅力,它對于改善現(xiàn)代人類的生活質(zhì)量,創(chuàng)造舒適、便利的生活空間有著非常重要的意義。本文為家庭網(wǎng)絡(luò)中信息家電的控制方式提供了基于推拉技術(shù)的解決方案,具有一定的實際意義。

本文作者創(chuàng)新點:本文的創(chuàng)新點在于:第一,CORBA中的推拉機(jī)制引入智能家居中的信息家電控制系統(tǒng);第二,提出了信息家電的設(shè)備生命周期的概念,并將推拉技術(shù)應(yīng)用在信息家電生命周期的各個階段.

文章評論

您需要登錄才可以對文章進(jìn)行評論。

沒有賬號?立即注冊

最新活動
意見反饋
取消