摘 要: 本文分析了分布式藍(lán)牙家居網(wǎng)絡(luò)特點(diǎn),提出了建立面向?qū)ο蟮乃{(lán)牙分布式智能家居網(wǎng)絡(luò)的解決方案,針對(duì)該方案建立了面向?qū)ο蟮乃{(lán)牙通信模型,并對(duì)其在智能家居網(wǎng)絡(luò)中的應(yīng)用進(jìn)行了分析,展望了面向?qū)ο蟮乃{(lán)牙分布式智能家居網(wǎng)絡(luò)的發(fā)展前景。
引言
隨著通信技術(shù)、網(wǎng)絡(luò)技術(shù)、控制技術(shù)和人工智能技術(shù)的發(fā)展,人們對(duì)家居環(huán)境的舒適程度和智能化程度要求也越來(lái)越高,智能網(wǎng)絡(luò)不可阻擋的進(jìn)入了家庭。近幾年,隨著無(wú)線網(wǎng)絡(luò)研究在全世界范圍內(nèi)的興起,對(duì)無(wú)線智能家居網(wǎng)絡(luò)的研究已經(jīng)成為新的研究熱點(diǎn)。智能家居網(wǎng)絡(luò)是指在家庭內(nèi)部通過(guò)一定的傳輸介質(zhì)將各種電氣設(shè)備和電氣子系統(tǒng)連接起來(lái),采用統(tǒng)一的通信協(xié)議,對(duì)內(nèi)實(shí)現(xiàn)資源共享,對(duì)外通過(guò)網(wǎng)關(guān)與外部網(wǎng)互連進(jìn)行信息交換的局域網(wǎng)。
圖1 分布式藍(lán)牙家庭網(wǎng)絡(luò)體系結(jié)構(gòu)
圖2 端口對(duì)象的結(jié)構(gòu)
藍(lán)牙技術(shù)是由藍(lán)牙SIG(Special Interest Group)聯(lián)合制定的近距離無(wú)線通信技術(shù)標(biāo)準(zhǔn),其目的是實(shí)現(xiàn)最高數(shù)據(jù)傳輸速率1Mb/s(有效數(shù)據(jù)傳輸速率是721kb/s)、最大傳輸距離為10米(增加功率后可傳輸100米)的無(wú)線通信。1998年5月,愛(ài)立信、諾基亞、東芝、IBM和英特爾等五家著名廠商在聯(lián)合開展短程無(wú)線通信技術(shù)的標(biāo)準(zhǔn)化活動(dòng)時(shí)提出了藍(lán)牙技術(shù)(Bluetooth),其宗旨是提供一種短距離、低成本的無(wú)線傳輸應(yīng)用技術(shù)。藍(lán)牙技術(shù)具有以下幾個(gè)特點(diǎn):工作于2.4GHz的ISM(工業(yè)、科學(xué)、醫(yī)學(xué)頻段)頻段,無(wú)需申請(qǐng)頻率許可證;采用1600hop/s的快速跳頻技術(shù);采用正向糾錯(cuò)編碼(FEC)技術(shù);采用FM調(diào)制方式,設(shè)備簡(jiǎn)單;支持點(diǎn)到點(diǎn)、點(diǎn)到多點(diǎn)通信;協(xié)議體系完備,充分支持現(xiàn)有高層協(xié)議;設(shè)備體積小,便于攜帶或移動(dòng),成本低廉?;谒{(lán)牙技術(shù)的家居智能網(wǎng)絡(luò)是用近距離的無(wú)線通信技術(shù)取代線纜,構(gòu)建智能化的無(wú)線家居網(wǎng)絡(luò)。本文針對(duì)分布式藍(lán)牙智能家居網(wǎng)絡(luò)特點(diǎn),研究了面向?qū)ο蟮男畔⑻幚砑夹g(shù)應(yīng)用于分布式藍(lán)牙智能家居網(wǎng)絡(luò)技術(shù)問(wèn)題,構(gòu)建了藍(lán)牙通信控制器的面向?qū)ο蟮耐ㄐ拍P?,并?duì)該模型進(jìn)行了應(yīng)用研究。
藍(lán)牙家居網(wǎng)絡(luò)使藍(lán)牙網(wǎng)絡(luò)家電、藍(lán)牙通信控制器和其它嵌入藍(lán)牙模塊的設(shè)備,利用無(wú)線方式連在一起,使之相互通信;同時(shí),利用具有路由功能的藍(lán)牙家庭網(wǎng)關(guān)和外部網(wǎng)絡(luò)相連,構(gòu)成家庭式網(wǎng)絡(luò)系統(tǒng)或家庭局域網(wǎng),提供集中的或異地的音頻、視頻通信、計(jì)算機(jī)控制和管理等,使信息在家庭內(nèi)以及與外部之間充分流通和共享。藍(lán)牙分布式智能家居網(wǎng)絡(luò)是沿用工業(yè)控制方案,將控制功能下放到相當(dāng)于工業(yè)控制中下位機(jī)的藍(lán)牙通信控制器上,實(shí)現(xiàn)分散控制、集中管理的模式,其體系結(jié)構(gòu)如圖1所示。
藍(lán)牙家庭網(wǎng)關(guān):對(duì)下連接家庭藍(lán)牙通信控制器,并通過(guò)線纜和局域網(wǎng)、電話網(wǎng)連接,將家居網(wǎng)信息通過(guò)INTERNET和電話上傳管理中心和戶主。
藍(lán)牙通信控制器:與藍(lán)牙設(shè)備通信,監(jiān)控設(shè)備狀態(tài),并與其它藍(lán)牙通信控制器交流協(xié)調(diào),對(duì)其下位設(shè)備進(jìn)行控制。執(zhí)行網(wǎng)關(guān)發(fā)送的命令,并將藍(lán)牙設(shè)備相關(guān)信息上傳。
藍(lán)牙設(shè)備:藍(lán)牙設(shè)備是指內(nèi)嵌藍(lán)牙模塊的家居設(shè)備,如藍(lán)牙空調(diào)等。它們和藍(lán)牙通信控制器進(jìn)行信息交流并接受其控制,也可以和其它藍(lán)牙設(shè)備通信。
盡管分布式系統(tǒng)有很多優(yōu)點(diǎn),但是在藍(lán)牙分布式智能家居網(wǎng)絡(luò)中由于藍(lán)牙技術(shù)和信息處理技術(shù)的局限,其缺點(diǎn)也是不可忽視的。其表現(xiàn)如下:由于每臺(tái)藍(lán)牙設(shè)備最多同時(shí)只能和7臺(tái)設(shè)備保持連接,而藍(lán)牙通信控制器需要和較多的設(shè)備交互,如果想和更多的設(shè)備協(xié)調(diào),需要工作模式的轉(zhuǎn)換,影響處理效率,甚至導(dǎo)致通信失??;由于同一設(shè)備可能接受很多信息,如果微處理器對(duì)信息采用排隊(duì)處理,時(shí)間延遲將增加;在藍(lán)牙分布式智能家居網(wǎng)絡(luò)中,藍(lán)牙通信控制器之間、藍(lán)牙通信控制器和藍(lán)牙設(shè)備之間、藍(lán)牙設(shè)備都有信息傳遞,造成串?dāng)_,同時(shí)通信路數(shù)越多,串?dāng)_越大,通信距離和傳輸速率都隨之降低。藍(lán)牙分布式智能家居網(wǎng)絡(luò)系統(tǒng)的通信機(jī)制和信息處理機(jī)制是影響系統(tǒng)性能的重要因素,因此,本文提出將面向?qū)ο蠹夹g(shù)應(yīng)用于藍(lán)牙分布式智能家居網(wǎng)絡(luò)系統(tǒng)方案,有助于解決上述問(wèn)題,提高系統(tǒng)效能。
面向?qū)ο蠹夹g(shù)
面向?qū)ο蠹夹g(shù)是一種面向數(shù)據(jù)流,并集模塊化、數(shù)據(jù)抽象、信息隱藏和消息傳遞等諸多優(yōu)點(diǎn)于一體,既適合于系統(tǒng)分析又適合于程序設(shè)計(jì)的工程技術(shù)。近幾年來(lái),面向?qū)ο蠹夹g(shù)無(wú)論是在理論上還是實(shí)踐上都在飛速地發(fā)展。面向?qū)ο蠹夹g(shù)中最重要的就是“對(duì)象”的概念。這種“對(duì)象”具有一定的屬性和方法,這里的屬性指對(duì)象本身的各種特性參數(shù)。一個(gè)具體的對(duì)象可以有許多的屬性和方法,面向?qū)ο蠹夹g(shù)的重要特點(diǎn)就是對(duì)象的封裝性,對(duì)于外界而言,并不需要知道對(duì)象有哪些屬性,也不需要知道對(duì)象本身的方法是如何實(shí)現(xiàn)的,而只需要調(diào)用對(duì)象所提供的方法來(lái)完成特定的功能。面向?qū)ο蠹夹g(shù)有以下的優(yōu)點(diǎn):維護(hù)簡(jiǎn)單,模塊化是面向?qū)ο?a href="http://hljzzgx.com/v/tag/1315/" target="_blank">編程中的一個(gè)特征,實(shí)體被表示為類和同一名字空間中具有相同功能的類,可以在名字空間中添加一個(gè)類而不會(huì)影響該名字空間的其它成員;可擴(kuò)充性,面向?qū)ο缶幊虖谋举|(zhì)上支持?jǐn)U充性,如果有一個(gè)具有某種功能的類,就可以很快地?cái)U(kuò)充這個(gè)類,創(chuàng)建一個(gè)具有擴(kuò)充的功能的類;代碼重用,由于功能是被封裝在類中的,并且類是作為一個(gè)獨(dú)立實(shí)體而存在的,提供一個(gè)類庫(kù)就比較簡(jiǎn)單了。
在藍(lán)牙分布式智能家居網(wǎng)絡(luò)中,信息交互和控制中心是藍(lán)牙通信控制器。將面向?qū)ο蠹夹g(shù)應(yīng)用于藍(lán)牙分布式智能家居網(wǎng)絡(luò),就是在設(shè)計(jì)藍(lán)牙通信控制器時(shí),將程序中的對(duì)象與外部的應(yīng)用對(duì)象實(shí)體相對(duì)應(yīng),通過(guò)建立程序?qū)ο笈c外部世界對(duì)象之間的對(duì)應(yīng)關(guān)系以及程序中的函數(shù)與外部世界的過(guò)程之間的對(duì)應(yīng)關(guān)系,可以為開發(fā)者提供方便的開發(fā)途徑。面向?qū)ο蠹夹g(shù)與分布式家居網(wǎng)絡(luò)系統(tǒng)的結(jié)合點(diǎn)就是端口對(duì)象通信模型。
在端口對(duì)象通信機(jī)制里,其通信的基本單位是端口對(duì)象PO(Port Object)。一個(gè)典型的PO對(duì)象如圖2所示。
端口是端口對(duì)象之間信息交流的通道,按其功能可以分為三種類型: 即變量輸入輸出端口,它是端口對(duì)象間交換操作所需數(shù)據(jù)信息的接口;參數(shù)輸入輸出端口,它是端口對(duì)象間交換參數(shù)配置的接口,是系統(tǒng)動(dòng)態(tài)重構(gòu)的基礎(chǔ)。消息輸入輸出端口,它是一個(gè)特殊的端口,是端口對(duì)象之間相互調(diào)用有關(guān)操作的接口。端口對(duì)象在本質(zhì)上是一個(gè)消息處理機(jī),它對(duì)由消息輸入端口輸入的消息作出響應(yīng),即調(diào)用相關(guān)操作,同時(shí)又可通過(guò)消息輸出端口輸出相應(yīng)的消息以調(diào)用其它端口對(duì)象的操作。一個(gè)端口對(duì)象有多個(gè)內(nèi)部狀態(tài)和操作,其操作的調(diào)用遵循消息驅(qū)動(dòng)的原則。但相對(duì)于其它對(duì)象而言,只有其外部端口是可見的。每個(gè)端口對(duì)象均屬于某一個(gè)特定的端口對(duì)象類,該類中所有對(duì)象均具有相同的內(nèi)部運(yùn)行框架。端口對(duì)象支持繼承機(jī)制,即子類可以繼承父類的所有屬性和操作,同時(shí)還可以有自己特有的屬性和操作。
在藍(lán)牙分布式智能家居網(wǎng)絡(luò)中,藍(lán)牙通信控制器是具有藍(lán)牙功能的處理器,它采用單任務(wù)多線程并發(fā)執(zhí)行模型,即單個(gè)應(yīng)用程序可以劃分為幾個(gè)獨(dú)立的任務(wù),每個(gè)處理器上分配一個(gè)任務(wù),但每個(gè)任務(wù)可以按照需要?jiǎng)?chuàng)建多個(gè)線程,分布在多個(gè)處理器上的多個(gè)線程相互作用,共同完成某一應(yīng)用。線程之間通過(guò)共享對(duì)象進(jìn)行通信。共享對(duì)象可以被任意藍(lán)牙通信控制器上的線程訪問(wèn),對(duì)該對(duì)象的訪問(wèn)(不包括對(duì)該對(duì)象的本地訪問(wèn))稱為模塊間連接;而模型中的局部對(duì)象只能由本地藍(lán)牙通信控制器上的線程訪問(wèn),對(duì)局部對(duì)象的訪問(wèn)(包括對(duì)共享對(duì)象的本地訪問(wèn))稱為模塊內(nèi)連接。只有發(fā)生模塊間連接時(shí),藍(lán)牙通信控制器之間才相互通信,從而減小了空中通信量。對(duì)于模塊內(nèi)連接,由于各模塊支持并行處理,大大增加了處理效率。
藍(lán)牙通信控制器是藍(lán)牙分布式智能家居網(wǎng)絡(luò)的核心,針對(duì)上述端口對(duì)象通信模型,通過(guò)藍(lán)牙通信控制器來(lái)實(shí)現(xiàn)通信。藍(lán)牙通信控制器之間通信模型如圖3所示。
面向?qū)ο蟮乃{(lán)牙通信控制器主要由3層組成:硬件層,協(xié)議層,應(yīng)用層。硬件層主要完成一些依賴于硬件的功能,包括無(wú)線信號(hào)收發(fā)、編解碼等功能。端口對(duì)象通信機(jī)制將系統(tǒng)的硬件細(xì)節(jié)與上層的核心部分相隔離,當(dāng)系統(tǒng)底層的硬件發(fā)生變化的時(shí)候,只需更改底層的硬件驅(qū)動(dòng),增強(qiáng)了系統(tǒng)的可移植性。協(xié)議層遵循藍(lán)牙核心協(xié)議和藍(lán)牙分布式智能家居網(wǎng)絡(luò)所對(duì)應(yīng)的協(xié)議子集(包括OBEX等)參考模型標(biāo)準(zhǔn)。應(yīng)用層是實(shí)現(xiàn)分布式的關(guān)鍵?;诙丝趯?duì)象的通信機(jī)制在該層實(shí)現(xiàn)。
應(yīng)用層主要由端口對(duì)象管理器、對(duì)象列表、過(guò)程接口、本地過(guò)程調(diào)用和遠(yuǎn)程過(guò)程調(diào)用模塊組成。其結(jié)構(gòu)如圖4所示。端口對(duì)象管理器的任務(wù)是完成對(duì)端口對(duì)象的創(chuàng)建、刪除、定位等管理工作,并為系統(tǒng)提供名字服務(wù)。過(guò)程接口是用戶過(guò)程與應(yīng)用層的接口,無(wú)論用戶的過(guò)程調(diào)用是遠(yuǎn)程的或是本地的,對(duì)于用戶來(lái)說(shuō)是相同的。對(duì)調(diào)用的區(qū)分由過(guò)程接口來(lái)完成。它首先訪問(wèn)對(duì)象列表判斷調(diào)用的類型,再將該過(guò)程調(diào)用送到不同的過(guò)程調(diào)用模塊去處理。本地過(guò)程調(diào)用模塊處理模塊內(nèi)連接,它直接將本地調(diào)用轉(zhuǎn)由本地執(zhí)行并返回結(jié)果;只有那些模塊間連接才由遠(yuǎn)程調(diào)用模塊負(fù)責(zé)。遠(yuǎn)程調(diào)用模塊負(fù)責(zé)將消息包裝,與協(xié)議層進(jìn)行通信。
圖3 面向?qū)ο蟮乃{(lán)牙通信控制器通信模型
圖4 應(yīng)用層內(nèi)部結(jié)構(gòu)
在藍(lán)牙通信控制器中,每個(gè)端口對(duì)象都有自己的名字和身份識(shí)別碼(ID號(hào)),通過(guò)名字或ID都可以查詢到該端口對(duì)象的相應(yīng)信息。在系統(tǒng)初始化的時(shí)候,在每個(gè)藍(lán)牙通信控制器上都由端口對(duì)象管理器建立端口對(duì)象列表,該列表包括局部對(duì)象列表和共享對(duì)象列表。對(duì)象列表保存了所有對(duì)象的名字和ID號(hào)的映射關(guān)系及其狀態(tài)。對(duì)象的狀態(tài)由系統(tǒng)動(dòng)態(tài)更新。為了維護(hù)數(shù)據(jù)的一致性,在共享對(duì)象創(chuàng)建、刪除和更新時(shí),藍(lán)牙通信控制器必須廣播該消息,以使共享對(duì)象表保持一致。在藍(lán)牙通信控制器中,無(wú)論是本地對(duì)象還是遠(yuǎn)程對(duì)象,都通過(guò)統(tǒng)一的過(guò)程接口來(lái)訪問(wèn)。過(guò)程接口通過(guò)查找對(duì)象表可以得到對(duì)象的ID號(hào),通過(guò)ID號(hào)可以定位該對(duì)象的位置。若該對(duì)象位于本地,則過(guò)程接口將該進(jìn)程傳至本地過(guò)程調(diào)用模塊,由該模塊直接調(diào)用相應(yīng)過(guò)程,并將結(jié)果通過(guò)過(guò)程接口返回用戶調(diào)用。若該對(duì)象為遠(yuǎn)程對(duì)象,過(guò)程接口將該進(jìn)程傳至遠(yuǎn)程過(guò)程調(diào)用模塊,由遠(yuǎn)程過(guò)程調(diào)用模塊將相關(guān)參數(shù)包裝,發(fā)送到遠(yuǎn)程藍(lán)牙通信控制器,然后掛起等待遠(yuǎn)程藍(lán)牙通信控制器的應(yīng)答;遠(yuǎn)程藍(lán)牙通信控制器在接收到請(qǐng)求后,通過(guò)協(xié)議層將消息上傳至位于遠(yuǎn)程藍(lán)牙通信控制器內(nèi)的遠(yuǎn)程過(guò)程調(diào)用模塊,將消息解包后,由遠(yuǎn)程模塊的過(guò)程接口調(diào)用位于遠(yuǎn)程模塊上的本地過(guò)程,處理完成后再將結(jié)果打包后回傳給請(qǐng)求結(jié)點(diǎn)。請(qǐng)求結(jié)點(diǎn)在收到消息后,返回給調(diào)用進(jìn)程就可以結(jié)束掛起狀態(tài),繼續(xù)執(zhí)行了。在運(yùn)行過(guò)程中,對(duì)象的狀態(tài)需動(dòng)態(tài)更新,這樣雖然會(huì)增加額外的通信開銷,但是在共享對(duì)象狀態(tài)需要頻繁訪問(wèn)時(shí),系統(tǒng)只需訪問(wèn)本地對(duì)象列表中的共享對(duì)象狀態(tài)即可,無(wú)需發(fā)起通信過(guò)程。
結(jié)語(yǔ)
自上世紀(jì)末藍(lán)牙技術(shù)面世以來(lái),藍(lán)牙技術(shù)的研究和藍(lán)牙產(chǎn)品的開發(fā)引起了全世界的關(guān)注。將藍(lán)牙技術(shù)應(yīng)用于智能家居網(wǎng)絡(luò)的研究也日漸興起,由于家居設(shè)備安裝的隨機(jī)性,分布式藍(lán)牙家居網(wǎng)絡(luò)解決了藍(lán)牙家居設(shè)備上網(wǎng)的“即插即用”問(wèn)題。然而,由于藍(lán)牙技術(shù)和分布式處理的一些固有特性,影響了分布式藍(lán)牙智能家居網(wǎng)絡(luò)的數(shù)據(jù)傳輸、處理速率和安全性。本文針對(duì)這些問(wèn)題,將面向?qū)ο蠹夹g(shù)應(yīng)用于分布式藍(lán)牙智能家居網(wǎng)絡(luò)的核心—藍(lán)牙通信控制器,建立了通信及處理機(jī)制模型,分析表明該方案解決了分布式藍(lán)牙智能家居網(wǎng)絡(luò)的處理速率和安全問(wèn)題,這將有助于推進(jìn)分布式藍(lán)牙智能家居網(wǎng)絡(luò)的進(jìn)一步發(fā)展。
評(píng)論
查看更多