藍牙設備遠程通信方法、藍牙設備及客戶端的制作方法
【專利摘要】本發明實施例提供一種藍牙設備遠程通信方法、藍牙設備及客戶端,所述方法包括:判斷第一藍牙設備是否處于藍牙共享模式;若第一藍牙設備處于藍牙共享模式,則第一藍牙設備將通過藍牙控制器模塊接收到的藍牙數據通過網絡發送給客戶端;或者,第一藍牙設備將通過網絡接收到的來自客戶端的數據發送給第一藍牙設備的藍牙控制器模塊;若第一藍牙設備處于非藍牙共享模式,則第一藍牙設備將通過藍牙控制器接收到的藍牙數據發送給第一藍牙設備的第一藍牙協議棧;或者,第一藍牙設備將來自第一藍牙協議棧的數據發送給藍牙控制器。本發明實施例可以實現不在同一個藍牙工作環境中的第二藍牙設備與第三藍牙設備之間的藍牙數據通信。
【專利說明】
藍牙設備遠程通信方法、藍牙設備及客戶端
技術領域
[0001]本發明涉及藍牙通信領域,尤其涉及一種藍牙設備遠程通信方法、藍牙設備及客戶端。
【背景技術】
[0002]隨著藍牙技術和應用的逐漸發展,各種藍牙應用場景越來越復雜,藍牙設備的使用場景也越來越多。位于同一藍牙網絡范圍內的藍牙設備可以依靠其藍牙硬件模塊與場景中的其他藍牙設備進行數據通信和控制操作。但是,當藍牙設備與其它藍牙設備的距離較遠,不在同一個藍牙網絡范圍內時,所述藍牙設備與其它藍牙設備之間的藍牙連接就會斷開,無法進行數據通信和控制操作。
[0003]現有的藍牙通信方式,對藍牙設備的使用場景有較大限制,如果用戶攜帶藍牙設備出門在外,所述藍牙設備就無法實現與家中的其它藍牙設備進行藍牙數據通信。
【發明內容】
[0004]本發明實施例提供一種藍牙設備遠程通信方法、藍牙設備及客戶端,用以解決現有技術中的藍牙設備及藍牙通信方法無法實現藍牙設備間遠程傳輸數據的問題。
[0005]第一方面,本發明實施例提供一種藍牙設備遠程通信方法,包括:
[0006]判斷第一藍牙設備是否處于藍牙共享模式;
[0007]若所述第一藍牙設備處于藍牙共享模式,則
[0008]所述第一藍牙設備將通過藍牙控制器模塊接收到的藍牙數據通過網絡發送給客戶端;或者,所述第一藍牙設備將通過所述網絡接收到的來自所述客戶端的數據發送給所述第一藍牙設備的所述藍牙控制器模塊;
[0009]若所述第一藍牙設備處于非藍牙共享模式,則
[0010]所述第一藍牙設備將通過所述藍牙控制器接收到的藍牙數據發送給所述第一藍牙設備的第一藍牙協議棧;或者,所述第一藍牙設備將來自所述第一藍牙協議棧的數據發送給所述藍牙控制器。
[0011]第二方面,本發明實施例提供一種藍牙設備遠程通信方法,包括:
[0012]判斷客戶端是否處于接受藍牙共享模式;
[0013]若所述客戶端處于接受藍牙共享模式,則
[0014]所述客戶端接收所述第一藍牙設備通過網絡發送的第一數據,所述第一數據為所述第一藍牙設備通過藍牙控制器模塊接收到的藍牙數據;或者,
[0015]所述客戶端通過所述網絡向所述第一藍牙設備的所述藍牙控制器模塊發送第二數據。
[0016]第三方面,本發明實施例提供一種藍牙設備,包括:
[0017]判斷模塊,用于判斷所述藍牙設備是否處于藍牙共享模式;
[0018]藍牙控制器模塊,用于當所述判斷模塊判斷所述藍牙設備處于藍牙共享模式時,接收藍牙數據,或者接收來自所述客戶端的數據;或者,用于當所述判斷模塊判斷所述藍牙設備處于非藍牙共享模式時,接收所述藍牙數據,或者接收來自所述第一藍牙設備的第一藍牙協議棧的數據;第一數據轉發管理模塊,用于當所述判斷模塊判斷所述藍牙設備處于藍牙共享模式時,將來自所述藍牙控制器模塊的所述藍牙數據通過網絡發送給所述客戶端,或者,通過所述網絡接收來自所述客戶端的數據,并發送給所述藍牙控制器模塊;
[0019]或者,用于當所述判斷模塊判斷所述藍牙設備處于非藍牙共享模式時,將來自所述藍牙控制器模塊的數據發送給所述藍牙設備的所述第一藍牙協議棧,或者,將來自所述第一藍牙協議棧的數據發送給所述藍牙控制器模塊。
[0020]第四方面,本發明實施例提供一種客戶端,包括:
[0021]判斷模塊,用于判斷所述藍牙設備是否處于接受藍牙共享模式;
[0022]第二數據轉發管理模塊,用于當所述判斷模塊判斷所述藍牙設備處于接受藍牙共享模式時,通過網絡接收所述第一藍牙設備發送的第一數據,所述第一數據為所述第一藍牙設備通過藍牙控制器模塊接收到的藍牙數據;或者,
[0023]通過所述網絡向所述第一藍牙設備的所述藍牙控制器模塊發送第二數據。
[0024]本發明實施例提供的藍牙設備遠程通信方法、藍牙設備及客戶端,通過判斷第一藍牙設備是否處于藍牙共享模式,并在所述第一藍牙設備處于藍牙共享模式時,所述第一藍牙設備將通過藍牙控制器模塊接收到的藍牙數據通過網絡發送給客戶端;或者,所述第一藍牙設備將通過所述網絡接收到的來自所述客戶端的數據發送給所述第一藍牙設備的所述藍牙控制器模塊;在所述第一藍牙設備處于非藍牙共享模式時,所述第一藍牙設備將通過所述藍牙控制器接收到的藍牙數據發送給所述第一藍牙設備的第一藍牙協議棧;或者,所述第一藍牙設備將來自所述第一藍牙協議棧的數據發送給所述藍牙控制器。采用本發明實施例提供的藍牙設備遠程通信方法,當所述客戶端與所述第一藍牙設備及其它藍牙設備不在同一個藍牙工作環境中時,所述客戶端通過網絡與所述第一藍牙設備建立數據通信連接,從而可以通過所述第一藍牙設備實現所述客戶端與其它藍牙設備之間的藍牙數據通信。同時,通過對所述第一藍牙設備的藍牙共享模式的判斷,根據判斷結果實現數據的傳輸,可以防止所述第一藍牙設備與所述客戶端需要同時使用所述第一藍牙設備的藍牙功能時產生沖突的問題。
【附圖說明】
[0025]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖做一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0026]圖1為實現本發明實施例藍牙設備遠程通信方法的藍牙設備的框架結構示意圖;
[0027]圖2為本發明實施例藍牙設備遠程通信方法的流程示意圖;
[0028]圖3為本發明實施例藍牙設備遠程通信方法的另一流程示意圖;
[0029]圖4為本發明實施例中第一藍牙設備的第一數據轉發管理模塊的工作流程示圖;
[0030]圖5為本發明另一實施例藍牙設備遠程通信方法的流程示意圖;
[0031]圖6為本發明另一實施例藍牙設備遠程通信方法的另一流程示意圖;
[0032]圖7為本發明另一實施例中客戶端的第二數據轉發管理模塊的工作流程示意圖;
[0033]圖8為本發明實施例藍牙設備的結構示意圖;
[0034]圖9為本發明另一實施例藍牙設備的結構示意圖。
【具體實施方式】
[0035]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0036]本發明實施例提供的藍牙設備遠程通信方法,用于實現不處于同一個藍牙場景內的的藍牙設備與客戶端之間的數據傳輸。
[0037]圖1為實現本發明實施例藍牙設備遠程通信方法的藍牙設備的框架結構示意圖。
[0038]請參閱圖1,用于提供藍牙共享功能的第一藍牙設備10包括第一藍牙應用程序模塊11,第一藍牙協議棧12,第一數據轉發管理模塊13及藍牙控制器模塊14。所述第一藍牙應用程序模塊11用于與用戶進行交互,將用戶輸入的指令及數據轉換成應用層邏輯,然后調用所述第一藍牙協議棧提供的API接口實現藍牙設備間的數據通信及控制操作。其中所述藍牙控制器模塊14通過所述第一數據轉發管理模塊13與所述第一藍牙協議棧12進行連接。所述第一藍牙設備10的所述第一藍牙應用程序模塊11所有的藍牙相關的操作和數據內容都是通過所述第一藍牙協議桟12解析之后轉換成主機控制接口(Host ControllerInterface,簡稱:HCI)的接口指令和數據,通過所述第一數據轉發管理模塊13傳遞給所述藍牙控制器模塊14進行處理。
[0039]客戶端20為可以共享所述第一藍牙設備10提供的藍牙功能的設備。所述客戶端20包括第二藍牙應用程序模塊21,第二藍牙協議棧22,及第二數據轉發管理模塊23。
[0040]所述第一藍牙設備10的所述藍牙控制器模塊14從射頻接受到的所有藍牙數據包都通過所述第一數據轉發管理模塊13發送給所述客戶端10的數據轉發管理模塊23進行解析,并傳遞給所述第二藍牙協議棧22進行分析和處理。所述客戶端20需要通過所述藍牙控制器模塊進行發送的數據包都通過所述第二數據轉發管理模塊23發送給所述第一藍牙設備10的所述第一數據轉發管理模塊13,再傳遞給所述藍牙控制器模塊14進行發送。
[0041]所述第一藍牙設備10處于藍牙工作環境中,即其周圍有其它藍牙設備可以與所述第一藍牙設備10進行藍牙通信。所述客戶端20遠離所述藍牙工作環境,無法與所述其它藍牙設備進行藍牙通信。所述客戶端20通過共享所述第一藍牙設備10的所述藍牙控制器模塊14實現與所述藍牙工作環境中的其它藍牙設備進行數據通信。其中,所述第一藍牙設備10及所述客戶端20之間的數據和命令的傳遞方向如圖1中箭頭所示。
[0042]圖2為本發明實施例藍牙設備遠程通信方法的流程示意圖。
[0043]請參閱圖2,具體地,本發明實施例提供的藍牙設備遠程通信方法,包括:
[0044]S201:判斷第一藍牙設備是否處于藍牙共享模式。
[0045]S202:若所述第一藍牙設備處于藍牙共享模式,則
[0046]所述第一藍牙設備將通過藍牙控制器模塊接收到的藍牙數據通過網絡發送給客戶端;或者,所述第一藍牙設備將通過所述網絡接收到的來自所述客戶端的數據發送給所述第一藍牙設備的所述藍牙控制器模塊;
[0047]S203:若所述第一藍牙設備處于非藍牙共享模式,則
[0048]所述第一藍牙設備將通過所述藍牙控制器接收到的藍牙數據發送給所述第一藍牙設備的第一藍牙協議棧;或者,所述第一藍牙設備將來自所述第一藍牙協議棧的數據發送給所述藍牙控制器。
[0049]具體地,在所述步驟S201之前,所述方法還包括:
[0050]所述第一藍牙設備接收所述客戶端通過網絡發送的數據通信連接請求,并通過所述網絡與所述客戶端建立數據通信連接。
[0051 ]具體實現過程中,在所述第一藍牙設備接收所述客戶端發送的所述數據通信連接請求之前,所述第一藍牙設備首先通過網絡發送廣播消息,所述廣播消息中包括所述第一藍牙設備支持的藍牙協議版本信息,以供客戶端根據所述藍牙協議版本信息向所述第一藍牙設備發送數據通信連接請求。
[0052]其中,所述第一藍牙設備為具有藍牙控制器模塊,與其它藍牙設備處于同一個藍牙場景,并能夠與其它藍牙設備進行藍牙通信的設備。所述客戶端為處于所述藍牙場景外的設備。具體地,所述客戶端可以包括藍牙控制器模塊,也可以不包括藍牙控制器模塊。所述藍牙控制器模塊用于實現與其他藍牙設備之間的藍牙數據傳輸功能。
[0053]在所述第一藍牙設備通過所述網絡發送廣播消息前,所述第一藍牙設備通過所述第一藍牙應用程序的用戶界面進行網絡設置,將所述第一藍牙設備與所述客戶端設置在同一網絡段,并可以通過所述第一藍牙應用程序的用戶界面將所述第一藍牙設備的藍牙控制器設置為共享模式。然后,所述第一藍牙設備即可自動通過用戶數據報協議(UserDatagram Protocol,簡稱:UDP)方式向所在網絡IP段進行數據廣播。廣播的數據包括:所述第一藍牙設備的互聯網協議地址(Internet Protocol Address,簡稱IP地址)及所述藍牙控制器模塊支持的藍牙協議版本等信息。所述第二藍牙客戶端則通過所述第二藍牙應用程序模塊的UI界面開啟網絡監聽模式,監聽來自網絡的廣播數據。
[0054]當所述客戶端監聽到所述第一藍牙設備發送的所述UDP廣播數據后,對其數據進行解析,對比所述第一藍牙設備的藍牙控制器模塊所支持的藍牙協議版本等信息,并判斷所述第一藍牙設備的藍牙控制器模塊所支持的藍牙協議版本是否和所述客戶端的系統藍牙協議匹配,如果匹配就可以通過傳輸控制協議(Transmiss1n Control Protocol,簡稱TCP)方式向所述客戶端發送所述數據連接請求。
[0055]所述第一藍牙設備接收到所述客戶端發送的連接請求后,雙方建立起可靠連接,所述第一藍牙設備停止向網絡上發送廣播數據包,所述第一藍牙應用程序模塊可以記錄所述藍牙控制器模塊已經被所述客戶端占用,并記錄所述客戶端相應的藍牙協議版本號及IP?目息O
[0056]本發明實施例提供的藍牙設備遠程通信方法,通過判斷所述第一藍牙設備是否處于藍牙共享模式,并根據判斷結果自適應地確定不同的數據傳輸方式,防止所述第一藍牙設備及所述客戶端同時需要使用所述藍牙控制器模塊時產生沖突的問題。在確定數據傳輸方式之前,可以根據所述第一藍牙設備與所述客戶端使用所述藍牙控制器模塊的優先級確定所述第一藍牙設備當前的藍牙共享模式。具體地,在所述第一藍牙設備提供藍牙共享功能之前,可以在所述廣播數據包和所述數據連接請求信息中分別加入所述第一藍牙設備及所述客戶端的優先級標識信息。
[0057]當所述第一藍牙設備與所述客戶端建立數據通信連接后,所述第一數據轉發管理模塊根據所述第一藍牙設備及所述客戶端的優先級標識信息,對所述第一藍牙設備及所述客戶端使用所述藍牙控制器模塊的優先級權限進行比較,并確定所述藍牙控制器模塊處于藍牙共享模式還是處于非共享模式,以及將所述藍牙控制器模塊共享給哪一個設備,從而決定數據的走向。舉例來說,如果所述第一藍牙設備的優先級權限較高,說明所述第一藍牙設備可以優先使用所述藍牙控制器模塊,則所述第一藍牙設備開啟非藍牙共享模式。如果所述客戶端的優先級權限較高,說明所述客戶端可以優先使用所述第一藍牙設備的藍牙控制器模塊,則所述第一藍牙設備開啟藍牙共享模式。
[0058]圖3為本發明實施例藍牙設備遠程通信方法的另一流程示意圖。圖4為本發明實施例中第一藍牙設備的第一數據轉發管理模塊的工作流程示意圖。
[0059]請參閱圖3及圖4,具體地,若所述第一藍牙設備處于藍牙共享模式,上述步驟S202具體包括:
[0060]判斷所述第一藍牙設備是否接收到所述藍牙數據,若是,則將所述藍牙數據通過所述網絡發送給所述客戶端;
[0061 ]若否,則判斷所述第一藍牙設備是否接收到所述客戶端通過所述網絡發送的所述數據;若是,則將所述客戶端發送的所述數據發送給所述第一藍牙設備的所述藍牙控制器。
[0062]具體地,所述第一藍牙設備的第一數據轉發管理模塊首先判斷所述藍牙控制器模塊是否接收到當前藍牙工作環境中的其它藍牙設備發送的藍牙數據。如果是,則所述第一數據轉發管理模塊通過所述數據通信連接將所述藍牙數據打包發送到所述客戶端的第二數據轉發管理模塊;否則繼續判斷是否通過所述數據通信連接接收到來自所述客戶端的數據,如果有,則過濾掉所述數據響應的網絡信息后,將純凈的HCI數據和命令發送給所述第一藍牙設備的藍牙控制器模塊。完成上述一個循環處理后,再次回到初始狀態,重新判斷所述第一藍牙設備的藍牙控制器模塊是處于共享狀態還是非共享狀態,并根據判斷結果重復執行上述共享模式處理流程或者下述非共享模式處理流程。
[0063]在上述實施例的基礎上,進一步地,所述步驟S203包括:
[0064]所述第一藍牙設備將通過所述藍牙控制器接收到的藍牙數據發送給所述第一藍牙設備的藍牙協議棧;或者,所述第一藍牙設備將來自所述第一藍牙協議棧的數據發送給所述藍牙控制器,包括:
[0065]所述第一藍牙設備通過所述藍牙控制器模塊接收所述藍牙數據,并通過所述第一數據轉發管理模塊將所述藍牙數據發送給所述第一藍牙協議棧;
[0066]或者,
[0067]所述第一藍牙設備通過所述第一數據轉發管理模塊將來自所述第一藍牙協議棧的所述數據發送給所述藍牙控制器模塊。
[0068]具體地,當所述第一藍牙設備自身需要使用所述藍牙控制器模塊時,如果所述第一數據轉發模塊確定所述第一藍牙設備使用所述藍牙控制器模塊的優先級高于所述客戶端,則所述數據轉發管理模塊確定所述第一藍牙設備處于非共享模式,所述第一藍牙設備即可自己使用所述藍牙控制器模塊與當前藍牙工作環境中的其它藍牙設備進行藍牙數據通信。
[0069]在上述實施例的基礎上,進一步地,所述第一藍牙設備通過所述藍牙控制器模塊接收所述藍牙數據,并通過所述第一數據轉發管理模塊將所述藍牙數據發送給所述第一藍牙協議棧;
[0070]或者,
[0071]所述第一藍牙設備通過所述第一數據轉發管理模塊將來自所述第一藍牙協議棧的所述數據發送給所述藍牙控制器模塊,包括:
[0072]所述第一數據轉發管理模塊判斷所述藍牙控制器模塊是否接收到所述藍牙數據,若是,則所述第一數據轉發管理模塊將所述藍牙控制器模塊接收到的所述藍牙數據發送給所述第一藍牙協議棧;
[0073]若否,則所述第一數據轉發管理模塊將來自所述第一藍牙協議棧的所述數據發送給所述藍牙控制器模塊。
[0074]在上述實施例的基礎上,進一步地,所述廣播消息中還包括藍牙共享設備身份認證信息,所述第一藍牙設備接收所述客戶端發送的所述數據通信連接請求,并通過所述網絡與所述客戶端建立數據通信連接,包括:
[0075]根據所述藍牙共享設備認證信息確定發送所述數據通信連接請求的所述客戶端是否與所述共享設備設備身份認證信息相符,若是,則所述第一藍牙設備通過所述網絡與所述客戶端建立數據通信連接。
[0076]當所述客戶端停止使用所述第一藍牙設備的所述藍牙控制器模塊時,所述客戶端的所述第二數據轉發管理模塊向所述第一藍牙設備的第一數據轉發管理模塊發送一個停止共享的請求。所述第一藍牙設備接收到所述請求后發送停止共享應答,并向所述客戶端發送一個斷開連接的請求。所述客戶端接收到所述停止共享應答后,所述第一數據轉發管理模塊自動停止數據和命令的發送和接收。所述客戶端接收到所述斷開連接的請求后,則立即回復一個斷開請求應答,并自動斷開與所述第一藍牙設備之間的數據通信連接。所述第一藍牙設備接收到所述斷開請求應答后,也自動關閉與所述客戶端的數據通信連接,并繼續在UDP模式下進行廣播數據群發。
[0077]可選地,所述第一藍牙設備的網段內可以存在多個第一藍牙設備,所述多個第一藍牙設備同時發送藍牙共享廣播數據包。同一個客戶端可以同時向所述多個第一藍牙設備發起數據通信連接請求并建立數據通信連接,從而實現與所述多個第一藍牙設備的藍牙控制器模塊共享。即,同一個客戶端可以同時使用多個第一藍牙設備的藍牙控制器模塊。
[0078]本實施例中,所述第一藍牙設備為藍牙控制器模塊的共享提供方,負責提供物理的藍牙控制器設備;而所述客戶端則是所述藍牙控制器模塊的使用方,可以獲取供方藍牙控制器設備的使用權及HCI數據和命令等信息。可選地,所述第一藍牙設備和所述客戶端可以根據場景的需要進行切換。例如:自身帶有藍牙控制器模塊的客戶端可以通過加載所述第一數據轉發管理模塊,通過UI設置項操作將自身配置為提供藍牙設備共享功能的所述第一藍牙設備;也可以通過加載所述第二數據轉發管理模塊,通過UI設置項操作將自身配置為使用其他第一藍牙設備提供的藍牙共享功能的所述第二設備。不帶有藍牙控制器模塊的藍牙設備則只能作為藍牙控制器模塊的使用方,即所述客戶端。
[0079]本發明實施例提供的藍牙設備遠程通信方法,通過判斷第一藍牙設備是否處于藍牙共享模式,并在所述第一藍牙設備處于藍牙共享模式時,所述第一藍牙設備將通過藍牙控制器模塊接收到的藍牙數據通過網絡發送給客戶端;或者,所述第一藍牙設備將通過所述網絡接收到的來自所述客戶端的數據發送給所述第一藍牙設備的所述藍牙控制器模塊;在所述第一藍牙設備處于非藍牙共享模式時,所述第一藍牙設備將通過所述藍牙控制器接收到的藍牙數據發送給所述第一藍牙設備的第一藍牙協議棧;或者,所述第一藍牙設備將來自所述第一藍牙協議棧的數據發送給所述藍牙控制器。采用本發明實施例提供的藍牙設備遠程通信方法,當所述客戶端與所述第一藍牙設備及其它藍牙設備不在同一個藍牙工作環境中時,所述客戶端通過網絡與所述第一藍牙設備建立數據通信連接,從而可以通過所述第一藍牙設備實現所述客戶端與其它藍牙設備之間的藍牙數據通信。同時,通過對所述第一藍牙設備的藍牙共享模式的判斷,根據判斷結果實現數據的傳輸,可以防止所述第一藍牙設備與所述客戶端需要同時使用所述第一藍牙設備的藍牙功能時產生沖突的問題。
[0080]實施例二
[0081]圖5為本發明另一實施例藍牙設備遠程通信方法的流程示意圖。圖6為本發明另一實施例藍牙設備遠程通信方法的另一流程示意圖。
[0082]請參閱圖5及圖6,本發明實施例提供的藍牙設備遠程通信方法,包括:
[0083]S501:判斷客戶端是否處于接受藍牙共享模式;
[0084]S502:若所述客戶端處于接受藍牙共享模式,則所述客戶端接收所述第一藍牙設備發送的第一數據,所述第一數據為所述第一藍牙設備通過藍牙控制器模塊接收到的藍牙數據;或者,
[0085]所述客戶端通過所述網絡向所述第一藍牙設備的所述藍牙控制器模塊發送第二數據。
[0086]在上述實施例的基礎上,所述客戶端判斷所述客戶端是否處于接受藍牙共享模式之前,所述方法還包括:客戶端通過網絡向第一藍牙設備發送數據通信連接請求,以使所述客戶端通過所述網絡與所述第一藍牙設備建立數據通信連接。
[0087]在上述實施例的基礎上,在所述客戶端通過網絡向第一藍牙設備發送數據通信連接請求之前,所述方法還包括:所述客戶端接收第一藍牙設備通過網絡發送的廣播消息,所述廣播消息中包括所述第一藍牙設備支持的藍牙協議版本信息。
[0088]所述客戶端通過網絡向第一藍牙設備發送數據通信連接請求,包括:
[0089]所述客戶端根據所述第一藍牙設備支持的藍牙協議版本信息,確定所述客戶端支持的藍牙協議版本是否與所述第一藍牙設備支持的藍牙協議版本匹配,若匹配,則所述客戶端通過網絡向第一藍牙設備發送數據通信連接請求。
[0090]在上述實施例的基礎上,進一步地,所述客戶端接收所述第一藍牙設備通過網絡發送的第一數據,所述第一數據為所述第一藍牙設備通過藍牙控制器模塊接收到的藍牙數據;或者,
[0091]所述客戶端通過所述網絡向所述第一藍牙設備發送第二數據,包括:
[0092]所述第二數據轉發管理模塊判斷是否通過所述網絡接收到來自所述第一藍牙設備的所述第一數據,若是,則將所述第一數據發送給所述第二藍牙協議棧;
[0093]若否,則判斷是否接收到所述第二藍牙協議棧發送的第二數據,若是,則將所述第二數據通過所述數據通信連接發送給所述第一藍牙設備。
[0094]圖7為本發明另一實施例中客戶端的第二數據轉發管理模塊的工作流程示意圖。
[0095]請參閱圖7,具體地,首先,所述第二數據轉發管理模塊會判斷所述客戶端是否已經和所述第一藍牙設備完成共享連接。如果沒有完成共享連接,則所述第二數據轉發模塊會判斷所述第二藍牙協議棧是否需要發送數據給所述第一藍牙設備的藍牙控制器模塊。如果檢測到所述第二藍牙協議棧需要發送數據和命令,則所述客戶端會直接向系統發出錯誤提醒,提示系統未連接到所述第一藍牙設備的藍牙控制器模塊,無法進行藍牙相關的數據傳輸和控制操作。如果判斷當前遠端客戶端已經完成共享連接,則進入接受共享模式處理流程。
[0096]當所述客戶端進入接受藍牙共享模式后,所述第二數據轉發模塊會首先判斷是否接收到所述第一藍牙設備的第一數據轉發模塊發送的數據,如果是,則在過濾網絡包后將純凈HCI數據和命令傳遞給所述第一藍牙設備的所述第二藍牙協議棧及所述第二藍牙應用程序進行解析及處理;否則繼續判斷所述客戶端的所述第二藍牙協議棧和所述第二藍牙應用程序是否有需要傳遞給所述第一藍牙設備的所述藍牙控制器模塊進行處理的HCI數據和命令,如果有,則將所述HCI數據和命令進行網絡打包后通過所述數據通信連接發送給所述第一藍牙設備的藍牙控制器模塊進行處理。完成上述處理后,所述第二數據轉發管理模塊再次回到初始狀態,重新判斷是否已經和所述第一藍牙設備完成共享連接,并根據判斷結果決定是否重復執行接受共享模式處理流程。
[0097]本發明實施例提供的藍牙設備遠程通信方法,與實施例一中的藍牙設備遠程通信方法的實現原理及技術效果類似,在此不再贅述。
[0098]圖8為本發明實施例藍牙設備的結構示意圖。
[0099 ]請參閱圖8,本發明實施例提供的藍牙設備包括:
[0100]判斷模塊810,用于判斷所述藍牙設備是否處于藍牙共享模式;
[0101]藍牙控制器模塊830,用于當所述判斷模塊判斷所述藍牙設備處于藍牙共享模式時,接收藍牙數據,或者接收來自所述客戶端的數據;
[0102]或者,
[0103]用于當所述判斷模塊810判斷所述藍牙設備處于非藍牙共享模式時,接收所述藍牙數據,或者接收來自所述第一藍牙設備的第一藍牙協議棧的數據;
[0104]第一數據轉發管理模塊820,用于當所述判斷模塊810判斷所述藍牙設備處于藍牙共享模式時,將來自所述藍牙控制器模塊的所述藍牙數據通過網絡發送給所述客戶端,或者,通過所述網絡接收來自所述客戶端的數據,并發送給所述藍牙控制器模塊;
[0105]或者,
[0106]用于當所述判斷模塊810判斷所述藍牙設備處于非藍牙共享模式時,將來自所述藍牙控制器模塊的數據發送給所述藍牙設備的所述第一藍牙協議棧,或者,將來自所述第一藍牙協議棧的數據發送給所述藍牙控制器模塊。
[0107]具體地,所述判斷模塊810可以與所述第一數據轉發管理模塊820集成為一體。
[0108]本發明實施例提供的藍牙設備用于執行實施例一提供的藍牙設備遠程通信方法,其具體實現原理及技術效果與實施例二類似,在此不再贅述。
[0109]實施例四
[0110]圖9為本發明另一實施例客戶端的結構示意圖。
[0111]請參閱圖9,本發明實施例提供的客戶端,包括:
[0112]判斷模塊910,用于判斷所述藍牙設備是否處于接受藍牙共享模式;
[0113]第二數據轉發管理模塊920,用于在所述判斷模塊910判斷所述藍牙設備處于接受藍牙共享模式時,通過網絡接收所述第一藍牙設備發送的第一數據,所述第一數據為所述第一藍牙設備通過藍牙控制器模塊接收到的藍牙數據;或者,
[0114]通過所述網絡向所述第一藍牙設備的所述藍牙控制器模塊發送第二數據。
[0115]具體地,所述判斷模塊910可以與所述第二數據轉發管理模塊920集成為一體。
[0116]本發明實施例提供的藍牙設備用于執行實施例二提供的藍牙設備遠程通信方法,其具體實現原理及技術效果與實施例二類似,在此不再贅述。
[0117]本領域普通技術人員可以理解:實現上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機、手機或其他便攜裝置的可讀取存儲介質中。該程序在執行時,執行包括上述各方法實施例的步驟;而前述的存儲介質包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0118]最后應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的范圍。
【主權項】
1.一種藍牙設備遠程通信方法,其特征在于,包括: 判斷第一藍牙設備是否處于藍牙共享模式; 若所述第一藍牙設備處于藍牙共享模式,則 所述第一藍牙設備將通過藍牙控制器模塊接收到的藍牙數據通過網絡發送給客戶端;或者,所述第一藍牙設備將通過所述網絡接收到的來自所述客戶端的數據發送給所述第一藍牙設備的所述藍牙控制器模塊; 若所述第一藍牙設備處于非藍牙共享模式,則 所述第一藍牙設備將通過所述藍牙控制器接收到的藍牙數據發送給所述第一藍牙設備的第一藍牙協議棧;或者,所述第一藍牙設備將來自所述第一藍牙協議棧的數據發送給所述藍牙控制器。2.根據權利要求1所述的方法,其特征在于, 所述第一藍牙設備將通過藍牙控制器收到的藍牙數據通過網絡發送給客戶端;或者,所述第一藍牙設備將通過所述網絡接收到的來自所述客戶端的數據發送給所述第一藍牙設備的所述藍牙控制器,包括: 判斷所述第一藍牙設備是否接收到所述藍牙數據,若是,則將所述藍牙數據通過所述網絡發送給所述客戶端; 若否,則判斷所述第一藍牙設備是否接收到所述客戶端通過所述網絡發送的所述數據;若是,則將所述客戶端發送的所述數據發送給所述第一藍牙設備的所述藍牙控制器。3.根據權利要求1所述的方法,其特征在于,所述第一藍牙設備第一數據轉發管理模塊, 所述第一藍牙設備將通過所述藍牙控制器接收到的藍牙數據發送給所述第一藍牙設備的藍牙協議棧;或者,所述第一藍牙設備將來自所述第一藍牙協議棧的數據發送給所述藍牙控制器,包括: 所述第一藍牙設備通過所述藍牙控制器模塊接收所述藍牙數據,并通過所述第一數據轉發管理模塊將所述藍牙數據發送給所述第一藍牙協議棧; 或者, 所述第一藍牙設備通過所述第一數據轉發管理模塊將來自所述第一藍牙協議棧的所述數據發送給所述藍牙控制器模塊。4.根據權利要求3所述的方法,其特征在于, 所述第一藍牙設備通過所述藍牙控制器模塊接收所述藍牙數據,并通過所述第一數據轉發管理模塊將所述藍牙數據發送給所述第一藍牙協議棧; 或者, 所述第一藍牙設備通過所述第一數據轉發管理模塊將來自所述第一藍牙協議棧的所述數據發送給所述藍牙控制器模塊,包括: 所述第一數據轉發管理模塊判斷所述藍牙控制器模塊是否接收到所述藍牙數據,若是,則所述第一數據轉發管理模塊將所述藍牙控制器模塊接收到的所述藍牙數據發送給所述第一藍牙協議棧; 若否,則所述第一數據轉發管理模塊將來自所述第一藍牙協議棧的所述數據發送給所述藍牙控制器模塊。5.根據權利要求1-4任一項所述的方法,其特征在于,所述判斷所述第一藍牙設備是否處于藍牙共享模式之前,還包括: 所述第一藍牙設備接收所述客戶端通過網絡發送的數據通信連接請求,并通過所述網絡與所述客戶端建立所述數據通信連接。6.根據權利要求5所述的方法,其特征在于,所述廣播消息中還包括藍牙共享設備身份認證信息,所述第一藍牙設備接收所述客戶端發送的所述數據通信連接請求,并通過所述網絡與所述客戶端建立數據通信連接,包括: 根據所述藍牙共享設備認證信息確定發送所述數據通信連接請求的所述客戶端是否與所述共享設備設備身份認證信息相符,若是,則所述第一藍牙設備通過所述網絡與所述客戶端建立數據通信連接。7.根據權利要求5所述的方法,其特征在于,所述第一藍牙設備接收所述客戶端通過網絡發送的數據通信連接請求之前,所述方法還包括: 所述第一藍牙設備通過網絡發送廣播消息,所述廣播消息中包括所述第一藍牙設備支持的藍牙協議版本信息,以供所述客戶端根據所述藍牙協議版本信息向所述第一藍牙設備發送所述數據通信連接請求。8.一種藍牙設備遠程通信方法,其特征在于,包括: 判斷客戶端是否處于接受藍牙共享模式; 若所述客戶端處于接受藍牙共享模式,則 所述客戶端接收所述第一藍牙設備通過網絡發送的第一數據,所述第一數據為所述第一藍牙設備通過藍牙控制器模塊接收到的藍牙數據;或者, 所述客戶端通過所述網絡向所述第一藍牙設備的所述藍牙控制器模塊發送第二數據。9.根據權利要求8所述的方法,其特征在于,所述客戶端包括第二藍牙協議棧及第二數據轉發管理模塊, 所述客戶端接收所述第一藍牙設備通過網絡發送的第一數據,所述第一數據為所述第一藍牙設備通過藍牙控制器模塊接收到的藍牙數據;或者, 所述客戶端通過所述網絡向所述第一藍牙設備發送第二數據,包括: 所述第二數據轉發管理模塊判斷是否接收到來自所述第一藍牙設備的所述第一數據,若是,則將所述第一數據發送給所述第二藍牙協議棧; 若否,則判斷是否接收到所述第二藍牙協議棧發送的第二數據,若是,則所述第二數據轉發管理模塊通過所述網絡將所述第二數據發送給所述第一藍牙設備。10.根據權利要求8或9所述的方法,其特征在于,所述客戶端判斷所述客戶端是否處于接受藍牙共享模式之前,還包括: 所述客戶端通過所述網絡向第一藍牙設備發送數據通信連接請求,以使所述客戶端通過所述網絡與所述第一藍牙設備建立數據通信連接。11.根據權利要求10所述的方法,其特征在于,所述客戶端通過所述網絡向第一藍牙設備發送數據通信連接請求之前,還包括: 所述客戶端接收所述第一藍牙設備通過網絡發送的廣播消息,所述廣播消息中包括所述第一藍牙設備支持的藍牙協議版本信息; 所述客戶端通過所述網絡向第一藍牙設備發送數據通信連接請求,包括: 所述客戶端根據所述第一藍牙設備支持的藍牙協議版本信息,確定所述客戶端支持的藍牙協議版本是否與所述第一藍牙設備支持的藍牙協議版本匹配,若匹配,則所述客戶端通過網絡向第一藍牙設備發送數據通信連接請求。12.一種藍牙設備,其特征在于,包括: 判斷模塊,用于判斷所述藍牙設備是否處于藍牙共享模式; 藍牙控制器模塊,用于當所述判斷模塊判斷所述藍牙設備處于藍牙共享模式時,接收藍牙數據,或者接收來自所述客戶端的數據;或者,用于當所述判斷模塊判斷所述藍牙設備處于非藍牙共享模式時,接收所述藍牙數據,或者接收來自所述第一藍牙設備的第一藍牙協議棧的數據;第一數據轉發管理模塊,用于當所述判斷模塊判斷所述藍牙設備處于藍牙共享模式時,將來自所述藍牙控制器模塊的所述藍牙數據通過網絡發送給所述客戶端,或者,通過所述網絡接收來自所述客戶端的數據,并發送給所述藍牙控制器模塊; 或者,用于當所述判斷模塊判斷所述藍牙設備處于非藍牙共享模式時,將來自所述藍牙控制器模塊的數據發送給所述藍牙設備的所述第一藍牙協議棧,或者,將來自所述第一藍牙協議棧的數據發送給所述藍牙控制器模塊。13.一種客戶端,其特征在于,包括: 判斷模塊,用于判斷所述藍牙設備是否處于接受藍牙共享模式; 第二數據轉發管理模塊,用于當所述判斷模塊判斷所述藍牙設備處于接受藍牙共享模式時,通過網絡接收所述第一藍牙設備發送的第一數據,所述第一數據為所述第一藍牙設備通過藍牙控制器模塊接收到的藍牙數據;或者, 通過所述網絡向所述第一藍牙設備的所述藍牙控制器模塊發送第二數據。
【文檔編號】G08C17/02GK105978606SQ201610580874
【公開日】2016年9月28日
【申請日】2016年7月22日
【發明人】鄧攀, 盛東輝, 李淑榮
【申請人】青島海信電器股份有限公司