專利名稱:一種通過藍牙服務器實現(xiàn)多個藍牙設備組網(wǎng)的方法、軟件程序及服務器的制作方法
技術領域:
本發(fā)明涉及計算機軟件、硬件及無線通信技術,特別是一種通過藍牙服務器實現(xiàn)多個藍牙設備組網(wǎng)的 方法、軟件程序及服務器。
背景技術:
藍牙(Bluetooth)技術,實際上是一種短距離無線通信技術,利用"藍牙"技術,能夠有效地簡化 掌上電腦、筆記本電腦和移動電話手機等移動通信終端設備之間的通信,也能夠成功地簡化以上這些設備 與Internet之間的通信,從而使這些現(xiàn)代通信設備與因特網(wǎng)之間的數(shù)據(jù)傳輸變得更加迅速高效,為無線 通信拓寬道路。
組建個人區(qū)域網(wǎng)(PAN)是藍牙的用途之一。個人區(qū)域網(wǎng)是一個基于Internet協(xié)議(IP)的網(wǎng)絡。 它通常用于設備和計算機之間的短距離特定通信。PAN描述了兩個或更多個藍牙設備如何構成一個即時網(wǎng) 絡。藍牙個人區(qū)域網(wǎng)PAN有兩種應用模型 一種被稱為組網(wǎng)絡GN (Group Ad-hoc Networking);另一種被 稱為網(wǎng)絡訪問點NAP (Networking Access Point)。
在組網(wǎng)(GN)中, 一個簡單的組網(wǎng)由一個主設備和1 7個活動的從設備組成微微網(wǎng)。在這一個主從 網(wǎng)中,主設備與從設備之間的點對點或點對多點通訊在主設備的控制下進行,這個網(wǎng)絡不需與外部網(wǎng)絡相 連。另外一種就是由一個NAP和其他藍牙設備組成的網(wǎng)絡。這種無線設備充當網(wǎng)絡設備(以太網(wǎng)、GSM等) 之間的網(wǎng)橋、代理或者路由。網(wǎng)絡訪問點與Internet相連,它是其他計算機或設備與外部網(wǎng)絡相連的中 介。計算機通過網(wǎng)絡訪問點共享所有的網(wǎng)絡資源。
藍牙個人區(qū)域網(wǎng)就是要用無線代替有線,用藍牙硬件在不同設備之間建立一條虛擬的藍牙鏈路,從而 使現(xiàn)有的各種應用軟件不經(jīng)修改,就可以在不同藍牙設備之間進行數(shù)據(jù)傳輸和數(shù)據(jù)交換。但是這種組網(wǎng), 有如下局限及問題
1. 需要對藍牙設備進行專業(yè)的配置來實現(xiàn)GN和NAP。
2. 微微網(wǎng)中的主設備在同一時間只能同其中的一個從設備進行數(shù)據(jù)交換。
3. 這種組網(wǎng)只能把有限的設備(最多8個設備)組入一個微微網(wǎng)。盡管在一個地理位置中可能存在 多個獨立的微微網(wǎng),且可以通過時分復用實現(xiàn)讓一個藍牙設備在一個微微網(wǎng)中作為主設備,在另一個微微 網(wǎng)中作為從設備來把兩個或更多的微微網(wǎng)組合起來成為散射網(wǎng)。然而處于散射網(wǎng)中并不意味著該藍牙設備 具有任何網(wǎng)絡路由能力或功能。也就是說,處于不同微微網(wǎng)中的藍牙設備只能通過接力的形式將數(shù)據(jù)在微 微網(wǎng)間傳輸。
4. 組網(wǎng)絡GN和網(wǎng)絡訪問點NAP不可并存,NAP藍牙設備只能充當路由的腳色,它不可再與其他藍牙 設備組成微微網(wǎng),在本地的藍牙設備之間進行數(shù)據(jù)傳遞。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種可以為更多個藍牙設備進行組網(wǎng),并可同時與這些藍牙設備進
行數(shù)據(jù)通信的建設方法、軟件程序和服務器。
為解決上述問題,本發(fā)明實施例提供了一種全新的藍牙設備組網(wǎng)方法,包括步驟 搭建一個配備有多個藍牙適配器的服務器,并安裝特有的軟件稈序用于管理藍牙適配器。 藍牙服務器為搭配在上面的各藍牙適配器各自分配一個端口,這樣可方便多個藍牙設備對應接入。 當終端藍牙設備進入藍牙服務器的信號區(qū)后,終端藍牙設備如果藍牙關閉,則不建立連接。 當終端藍牙設備進入藍牙服務器的信號區(qū)后,終端藍牙設備如果藍牙開啟并運行終端軟件,則向藍牙
服務器發(fā)送連接請求。
藍牙服務器的某一個未超過最大連接數(shù)量的藍牙適配器接收到連接請求后,會建立起一個對應的交互 線程,以處理與此設備之間的交互通信。這種連接可以根據(jù)移動藍牙設備的數(shù)量增加而不斷增加。
藍牙服務器可以同這些接入的藍牙設備同時進行雙向數(shù)據(jù)傳輸,接入的各藍牙設備相互之間也可進行 數(shù)據(jù)傳輸;這種數(shù)據(jù)傳輸是建立在藍牙Sockets通信協(xié)議之上。
通過藍牙服務器,這些接入的藍牙設備還可以同外部網(wǎng)絡通信,進行數(shù)據(jù)傳輸。在這種情況下,服務 器擔當網(wǎng)絡訪問點NAP的作用。
本發(fā)明實施例也提供了一種藍牙服務器,包括
安裝有一種軟件程序的具有較高硬件配置的電腦主機,用于程序數(shù)據(jù)處理和通信端口管理。 多個通過USB接口相連的藍牙適配器,用于提供支持多個藍牙設備的硬件基礎。
同時本發(fā)明實施例還提供了一種軟件程序,安裝在藍牙服務器中,用于為各藍牙適配器分配一個端
口,當有藍牙設備通過某藍牙適配器連接到藍牙服務器時,建立一個對應的交互線程,管理服務器與藍牙 設備之間的數(shù)據(jù)交互。
與現(xiàn)有技術相比,本發(fā)明實施例具有如下優(yōu)點
消除了藍牙設備組網(wǎng)的個數(shù)限制,各藍牙設備之間能直接實現(xiàn)數(shù)據(jù)交換和交互通信,實現(xiàn)真正的藍牙
局域網(wǎng)絡,同時借助服務器的NAP功能,還能接入外部網(wǎng)絡。本發(fā)明可以為人員集中的地方如地鐵、商場、
機場、餐飲和娛樂場所等,通過藍牙服務器同時為大量用戶提供本地及網(wǎng)絡上的內(nèi)容與信息服務。同時接 入的移動終端通過藍牙服務器,相互之間也可進行通信,從而達到藍牙設備間的信息互動。
圖1是本發(fā)明中多個藍牙設備與藍牙服務器組網(wǎng)的實施例示意圖。
圖2是本發(fā)明中單個藍牙設備通過藍牙服務器連入該網(wǎng)絡并實現(xiàn)數(shù)據(jù)交互傳輸?shù)膶嵤├鞒虉D。
具體實施例方式
下面結合附圖對本發(fā)明實施例的具體實施方式
作進一步的詳細闡述。
如圖1所示,是本發(fā)明中多個藍牙設備與藍牙服務器組網(wǎng)的實施例示意圖。包括步驟
多個藍牙適配器通過USB端口連接到服務器主機上;
服務器主機通過軟件程序管理各個藍牙適配器,為逸些藍牙適配器與終端藍牙設備的連接與數(shù)據(jù)通信 提供分配與管理
多個藍牙設備通過這些藍牙適配器與藍牙服務器建立起基于藍牙Sockets協(xié)議的通信連接,服務器主 機與多個藍牙設備之間以及多個藍牙設備相互之間均可實現(xiàn)同時交互數(shù)據(jù)傳輸,從而形成一個全新的藍牙 局域網(wǎng)絡BLAN (Bluetooth Local Area Network);
藍牙服務器還可與外部Internet相連,擔當網(wǎng)絡訪問點NAP的作用,這樣與藍牙服務器相連的藍牙 設備也可以連接到外部網(wǎng)絡。
為了克服藍牙技術固有的局限以達到與多個客戶端進行連接交互,需要在同一服務器主機上配備多個 藍牙通信適配器,并可根據(jù)負載具體定制。為保證數(shù)據(jù)的帶寬,每個藍牙適配器可根據(jù)需耍限定連接的數(shù) 量。服務器會用未超過限定連接數(shù)量的藍牙適配器去連接新的請求??紤]到服務器主機的負載程度、通信 效率和服務質(zhì)量因素,服務器主機應具有合理的較高配置。另外,為了對各個訪問點服務器進行控制與維 護,服務器主機還應具備網(wǎng)絡硬件與軟件的配置。
本發(fā)明建立的藍牙無線網(wǎng)絡中,客戶端與服務器的連接以及相互之間的數(shù)據(jù)通信建立在無線藍牙通信 協(xié)議之上。這里具體介紹所用到的藍牙協(xié)議棧及編碼設計與實現(xiàn)-
在Internet網(wǎng)絡中具有一套通信協(xié)議棧以實現(xiàn)不同類型不同層次上的數(shù)據(jù)通信, 一旦某個客戶應用 程序獲得了其將連接主機的IP地址,就必須決定使用什么傳輸協(xié)議。和Internet網(wǎng)絡一樣,無線藍牙也 基于一套成熟的協(xié)議棧實現(xiàn)藍牙設備間的無線通信。在本發(fā)明所構建的無線藍牙網(wǎng)絡中,每個提供服務的 藍牙適配器也具有自己的地址,當客戶端得到將要訪問的藍牙地址時也必須決定使用什么協(xié)議進行通信。 每層協(xié)議完成不同的功能,并為上層協(xié)議服務。而本發(fā)明主要基于RFCOffl協(xié)議實現(xiàn)了服務器與客戶端之 間的各種數(shù)據(jù)通信。同時該發(fā)明也適用于通過L2CAP協(xié)議實現(xiàn)了服務器與客戶端之間的各種數(shù)據(jù)通信。
RFC0MM是基于ETSI的TS07. 10規(guī)范的串口仿真協(xié)議,支持藍牙設備之間點對點的通信。作為線纜替 代協(xié)議,它在基帶上仿真RS-232的控制和數(shù)據(jù)信號,為使用串行線傳送機制的上層協(xié)議(如0BEX)提供_ 服務。RFC0MM是一個可靠的傳輸協(xié)議,就像TCP/IP協(xié)議族的TCP協(xié)議,然而兩者之間主耍不同之處在于 TCP協(xié)議支持65535端口,而RFCOMM只支持30個端口,當基于一個適配器同時服務于7個客戶連接時, 端口沖突的發(fā)生幾率大概是50%以上。所以為了保持穩(wěn)定性與并行服務于多個客戶端應用程序,我們必須 對每個服務進程控制其服務對象的數(shù)量,這也是我們?yōu)槭裁匆谝粋€服務器主機上配備多個藍牙適配器的原因。
在本發(fā)明的基于藍牙的無線網(wǎng)絡中,利用Sockets進行通信的模式和利用TCP/IP協(xié)議通信的模式類似。 首先創(chuàng)建一個Socket對象,接著建立一個藍牙地址,并設定利用的協(xié)議類型和使用的端口,然后將創(chuàng)建的 Socket對象與藍牙地址綁定在一起,用Listen方法使建立的Socket對象處于監(jiān)聽模式,用以監(jiān)聽是否有客 戶連接請求,當發(fā)現(xiàn)有客戶端應用程序發(fā)送連接請求時,可用Accept方法接收客戶請求并獲得系統(tǒng)資源, 保存連接信息用以實現(xiàn)數(shù)據(jù)通信。如果該Socket的連接超過限定的數(shù)量,則暫停監(jiān)聽直到有連接斷開。
利用Sockets協(xié)議進行通信的模式實現(xiàn)了本發(fā)明中多個藍牙設備的互聯(lián)及與藍牙服務器的組網(wǎng),該種 通信模式在本發(fā)明的保護范圍之內(nèi)。
如圖2所示,是本發(fā)明中單個藍牙設備通過藍牙服務器連入該網(wǎng)絡并實現(xiàn)數(shù)據(jù)交互傳輸?shù)膶嵤├鞒?圖。包括步驟
藍牙服務器會隨時監(jiān)聽客戶連接, 一旦發(fā)現(xiàn)有藍牙接入請求,就會用未超過限定連接數(shù)量的藍牙適配 器接受請求。 一旦連接成功,則在主機端創(chuàng)建客戶交互線程,與此客戶應用程序進行交互。
交互線程建立后,服務器與藍牙客戶端之間進行數(shù)據(jù)的交互傳輸與處理,并時刻判斷客戶是否發(fā)送了 斷離請求。如果是,則斷離連接,釋放系統(tǒng)資源,否則對客戶請求進行相應處理,如根據(jù)客戶不同請求 向其發(fā)送不同數(shù)據(jù)文件,或者保存客戶傳來的數(shù)據(jù)。
與藍牙服務器建立了連接的藍牙客戶端可以通過與外部網(wǎng)絡建立了連接的藍牙服務器與外網(wǎng)進行數(shù) 據(jù)通信,從而實現(xiàn)NAP的功能。連接中的藍牙客戶端通過交互線程將其與外網(wǎng)傳輸?shù)臄?shù)據(jù)發(fā)送到藍牙服務 器,藍牙服務器的服務程序接收到數(shù)據(jù)后對數(shù)據(jù)進行解析,然后根據(jù)其內(nèi)容通過藍牙服務器的網(wǎng)線與遠端 的外網(wǎng)服務器進行通信,為藍牙客戶端發(fā)出數(shù)據(jù)傳輸請求并傳輸數(shù)據(jù)。同時藍牙服務器的服務程序也會把 外網(wǎng)的數(shù)據(jù)接收并轉發(fā)到與藍牙服務器相連的對應藍牙客戶端。
通過以上實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件 平臺的方式來實現(xiàn)。基于這樣的理解,本發(fā)明的技術方案對現(xiàn)有技術做出的貢獻部分可以以軟件產(chǎn)品的形 式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包含若干指令,用以使得一臺包含藍牙適配器的 計算機設備(個人計算機、服務器、網(wǎng)絡設備等)執(zhí)行本發(fā)明實施例所述的方法。
以上所述的本發(fā)明實施方式,并不構成對本發(fā)明保護范圍的限定。任何在本發(fā)明的精神和原則之內(nèi)所 作的修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
1、一種通過具有藍牙設備的服務器實現(xiàn)多個藍牙設備組網(wǎng)的方法,其特征在于,包括如下步驟(1)搭建一個配備有多個藍牙適配器的主機,并在主機中安裝特有的軟件程序用于管理藍牙適配器,監(jiān)控藍牙設備的接入;(2)帶藍牙的多個移動終端設備與主機建立起基于藍牙Sockets協(xié)議的無線通信連接,這種連接個數(shù)還可以隨藍牙服務器上藍牙適配器個數(shù)的增加而增加;(3)主機為接入的每一個藍牙設備單獨建立一個交互線程,并通過這一線程管理藍牙設備與主機藍牙適配器之間的數(shù)據(jù)通信;(4)所有接入主機的藍牙設備,相互之間也可以通過主機及藍牙適配器建立起數(shù)據(jù)交互通信;(5主機如果接入了外部網(wǎng)絡,如Internet,則所有與主機連接的藍牙設備也可以通過藍牙設備訪問外部網(wǎng)絡;
2、 一種藍牙服務器,其特征在于,包括(1) 安裝有一種軟件程序的具有較高硬件配置的電腦主機,用于程序數(shù)據(jù)處理、藍牙適配器管理 和藍牙通信端口管理;(2) 多個通過USB接口相連的藍牙適配器,用于提供支持多個藍牙設備的硬件基礎。
3、 一種軟件程序,其特征在于,包括(1) 安裝在藍牙服務器中,用于管理各藍牙適配器,為各藍牙適配器分配一個端口;(2) 當有藍牙設備通過某藍牙適配器連接到藍牙服務器時,建立一個對應的交互線程,管理服務器 與藍牙設備之間的數(shù)據(jù)交互;
4、 根據(jù)權利要求1所述的方法,其特征在于-(1) 藍牙服務器與移動終端的藍牙設備之間是通過基于藍牙Sockets協(xié)議的無線通信連接,各藍牙設 備之間的無線通信交互也是通過基于藍牙Sockets協(xié)議的無線通信連接;(2) 每一個接入藍牙服務器的移動終端藍牙設備會被一個單獨的交互線程管理,隨著藍牙服務器上 藍牙適配器接入個數(shù)的增加,可以接入藍牙服務器的移動終端藍牙設備個數(shù)也在增加;
5、 根據(jù)權利要求2所述的藍牙服務器,其特征在于藍牙適配器是通過USB接口連入藍牙服務器主 機,這種USB接口可以是外接的USB Hub,也可以是主板集,的USB接口,也可以是USB擴展卡,進 一步的,也可以以藍牙內(nèi)嵌模塊的形式接入藍牙服務器主機。
6、 根據(jù)權利要求3所述的軟件程序,其特征進一步包括軟件程序可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包含若干指令,用以使得一臺包含藍牙適配器的計算機設備(個人計算機、服務器、網(wǎng)絡設備等)執(zhí)行本發(fā)明實施例所述的方法。
全文摘要
本發(fā)明是一種通過藍牙服務器實現(xiàn)多個藍牙設備組網(wǎng)的方法、軟件程序及服務器,涉及計算機軟件、硬件及無線通信技術領域。本發(fā)明目的是為解決目前藍牙PAN組網(wǎng)在連入個數(shù)及應用等方面的局限性而提出的一種嶄新的藍牙組網(wǎng)方式BLAN(Bluetooth Local Area Network),包括步驟搭建藍牙服務器并安裝相關軟件程序以對藍牙服務器上的多個藍牙適配器進行管理;多個藍牙設備通過這些藍牙適配器與藍牙服務器建立起基于藍牙Sockets協(xié)議的通信連接,服務器主機與多個藍牙設備之間以及多個藍牙設備相互之間均可實現(xiàn)同時交互數(shù)據(jù)傳輸。本發(fā)明在人口密集區(qū)域,如地鐵、商場、機場、餐飲和娛樂場所等,可為大量藍牙用戶提供本地及網(wǎng)絡上的內(nèi)容與信息服務,藍牙用戶之間也可實現(xiàn)信息互動。
文檔編號H04W84/18GK101510793SQ200910000640
公開日2009年8月19日 申請日期2009年1月12日 優(yōu)先權日2009年1月12日
發(fā)明者王云峰 申請人:北京翰龍潮網(wǎng)絡科技有限公司