本發明涉及通訊技術領域,尤其涉及一種藍牙設備的通信方法及系統。
背景技術:
隨著短距離通訊技術-藍牙技術的迅猛發展,藍牙技術已經成為移動終端不可或缺的模塊之一,藍牙配置文件的逐步增多,代表著藍牙技術普適范圍的不斷擴大,應用場景也不斷的增加;因此,通過藍牙技術的不斷增強,也給移動終端用戶帶來越來越多的便利性和實用性。而移動終端作業早已滲透到諸如公共交通、物流倉儲、生產制造、零售商超、餐飲、智能家居、環境保護、資源調查、醫學診斷、生物工程、甚至文物保護等等極其之泛的領域。現場作業、數據采集、終端控制在整個系統中也占據舉足輕重的位置。
目前,終端設備與手機的結合使用藍牙通信的模式應用廣泛,終端設備和手機應用是移動作業中關鍵一環,終端設備需要執行業務需求,并與手機應用進行交互。終端設備往往眾多,各具有不同功能,在工作時,一個業務流程往往需要多個設備協作完成工作,這也就和移動業務應用需要執行的多重復雜的任務形成矛盾。在有的項目中,需要同時使用多個設備與移動應用進行協作,終端設備在移動應用中的連接頻繁切換,導致數據丟失,且操作繁瑣,不方便。
綜上所述,目前缺乏一種滿足多個藍牙設備通信要求的實現多個藍牙設備同時通信、易于操作、用戶體驗效果良好、而且不進行頻繁連接切換導致數據丟失的一種藍牙設備的通信方法及系統。
技術實現要素:
本發明的目的是提供一種實現多個藍牙設備同時通信、易于操作、用戶體驗效果良好、而且不進行頻繁連接切換導致數據丟失的一種藍牙設備的通信方法及系統。
本發明提供了一種藍牙設備的通信方法,包括以下步驟:
獲取若干從屬終端的基本信息,將所有所述基本信息轉換成相應的mac地址數據;
根據每個所述mac地址數據,構建相應的設備對象,每個所述設備對象包括設備基本信息、線程、通信連接信息以及屬性信息;
根據所述屬性信息,選擇預設的運行策略,并按照所選的所述運行策略完成對所述線程、通信連接信息與所述設備基本信息的連接。
作為一種可實施方式,所述并按照所選的所述運行策略完成對所述線程、通信連接信息與所述設備基本信息的連接,包括以下步驟:
根據所述運行策略判斷所述線程、通信連接信息與所述設備基本信息的連接狀態,判斷當前所述線程、通信連接信息與所述設備基本信息是否連接;
若當前所述線程、通信連接信息與所述設備基本信息已經連接,則更新所述屬性信息;
若當前所述線程、通信連接信息與所述設備基本信息未連接,則開啟監聽線程和開啟通信連接,將所述線程、通信連接信息與設備基本信息進行綁定,同時更新所述屬性信息。
作為一種可實施方式,所述運行策略包括第一運行策略、第二運行策略以及第三運行策略;
所述第一運行策略為:運行一次對所述線程、通信連接信息與所述設備基本信息的進行連接的整體步驟,將所述線程、通信連接信息與設備基本信息進行綁定,同時更新所述屬性信息;
所述第二運行策略為:運行多次對所述線程、通信連接信息與所述設備基本信息的進行連接的整體步驟,將所述線程、通信連接信息與設備基本信息進行綁定,同時更新所述屬性信息;
所述第三運行策略為:永久運行對所述線程、通信連接信息與所述設備基本信息的進行連接的整體步驟,將所述線程、通信連接信息與設備基本信息進行綁定,同時更新所述屬性信息。
作為一種可實施方式,還包括以下步驟:
在選擇預設的運行策略后,根據預設值對運行策略進行延時控制,并且實時計算每個設備對象的執行頻率以及控制運行策略的運行時間。
相應地,本發明還提供一種藍牙設備的通信系統,包括信息獲取轉換模塊、設備對象構建模塊以及運行連接模塊;
所述信息獲取轉換模塊,用于獲取若干從屬終端的基本信息,將所有所述基本信息轉換成相應的mac地址數據;
設備對象構建模塊,用于根據每個所述mac地址數據,構建相應的設備對象,每個所述設備對象包括設備基本信息、線程、通信連接信息以及屬性信息;
運行連接模塊,用于根據所述屬性信息,選擇預設的運行策略,并按照所選的所述運行策略完成對所述線程、通信連接信息與所述設備基本信息的連接。
作為一種可實施方式,所述運行連接模塊包括判斷單元、更新單元以及連接更新單元;
所述判斷單元,用于根據所述運行策略判斷所述線程、通信連接信息與所述設備基本信息的連接狀態,判斷當前所述線程、通信連接信息與所述設備基本信息是否連接;
所述更新單元,用于若當前所述線程、通信連接信息與所述設備基本信息已經連接,則更新所述屬性信息;
所述連接更新單元,用于若當前所述線程、通信連接信息與所述設備基本信息未連接,則開啟監聽線程和開啟通信連接,將所述線程、通信連接信息與設備基本信息進行綁定,同時更新所述屬性信息。
作為一種可實施方式,所述運行連接模塊還包括第一運行策略單元、第二運行策略單元以及第三運行策略單元;
所述第一運行策略單元,用于運行一次對所述線程、通信連接信息與所述設備基本信息的進行連接的整體步驟,將所述線程、通信連接信息與設備基本信息進行綁定,同時更新所述屬性信息;
所述第二運行策略單元,用于運行多次對所述線程、通信連接信息與所述設備基本信息的進行連接的整體步驟,將所述線程、通信連接信息與設備基本信息進行綁定,同時更新所述屬性信息;
所述第三運行策略單元,用于永久運行對所述線程、通信連接信息與所述設備基本信息的進行連接的整體步驟,將所述線程、通信連接信息與設備基本信息進行綁定,同時更新所述屬性信息。
作為一種可實施方式,還包括計時器模塊;
所述計時器模塊,用于在選擇預設的運行策略后,根據預設值對運行策略進行延時控制,并且實時計算每個設備對象的執行頻率以及控制運行策略的運行時間。
與現有技術相比,本技術方案具有以下優點:
本發明提供的一種藍牙設備的通信方法及系統,能夠減少了基于藍牙通訊的操作步驟,實現了多個藍牙設備同時通信,解決了相關技術中終端設備之間藍牙連接頻繁切換的現狀,避免由藍牙連接切換造成的數據丟失,更好地利用系統資源和性能,提高了用戶的體驗效果。
附圖說明
圖1是本發明實施例一提供的一種藍牙設備的通信方法的流程示意圖;
圖2是本發明實施例二提供的一種藍牙設備的通信系統的結構示意圖;
圖中:100、信息獲取轉換模塊;200、設備對象構建模塊;300、運行連接模塊;310、第一運行策略單元;320、第二運行策略單元;330、第三運行策略單元;340、判斷單元;350、更新單元;360、連接更新單元。
具體實施方式
以下結合附圖,對本發明上述的和另外的技術特征和優點進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明的部分實施例,而不是全部實施例。
請參閱1,本發明實施例一提供的一種藍牙設備的通信方法的流程示意圖,包括以下步驟:
s100、獲取若干從屬終端的基本信息,將所有基本信息轉換成相應的mac地址數據;
整個系統可以看成是一個主終端建立與至少兩個從屬終端基于藍牙應用的配對連接;每個基本信息轉換成唯一的mac地址數據,根據mac地址數據與從屬終端建立唯一連接。
s200、根據每個mac地址數據,構建相應的設備對象,每個設備對象包括設備基本信息、線程、通信連接信息以及屬性信息;
這里需要說明的是構建的設備對象是有一定數量上限的,根據系統內存資源進行確定。每構建一個新的設備對象,就會分配一個新空間給該設備對象,反之設備對象也是可以刪除的,能充分利用系統內存資源。但是,如果系統內存資源是無限的話,則構建的設備對象是沒有上限的。
而屬性信息是用于邏輯判斷的條件參數包括但不限于:設備狀態參數、設備線程執行周期參數、回調函數以及可調用標識;以上的這些參數可以支持基本的運行,在整個程序運行過程中進行構建新的設備對象以及其他管理操作。根據擴展功能也可以增加更多的參數,比如藍牙連接模式參數、計時器等,藍牙連接模式參數是用來對藍牙設備本身的一個定義,通過這個定義可以進行不同的處理操作,比如:只讀、只寫、和讀寫的藍牙設備,區分這些藍牙設備在這些設備同時藍牙連接后,能夠對他們進行區別控制;這里的計時器主要運用于運行策略中涉及時間的控制。
s300、根據屬性信息,選擇預設的運行策略,并按照所選的運行策略完成對線程、通信連接信息與設備基本信息的連接。
在實際運行過程中,是先選取其中一個設備對象,根據選取設備對象的屬性信息選擇運行策略;在完成運行策略后,再選取下一個設備對象進行運行策略,直至所有設備對象全部完成線程、通信連接信息與設備基本信息的連接。也就是說是把每個設備對象都進行這一步的過程運行,直至完成所有的對線程、通信連接信息與設備基本信息的連接。
本發明提供的一種藍牙設備的通信方法,能夠減少了基于藍牙通訊的操作步驟,實現了多個藍牙設備同時通信,解決了相關技術中終端設備之間藍牙連接頻繁切換的現狀,避免由藍牙連接切換造成的數據丟失,更好地利用系統資源和性能,提高了用戶的體驗效果。
其中,需要進一步對步驟s300中的并按照所選的運行策略完成對線程、通信連接信息與設備基本信息的連接進行詳細說明,包括以下步驟:
s310、根據運行策略判斷線程、通信連接信息與設備基本信息的連接狀態,判斷當前線程、通信連接信息與設備基本信息是否連接;
s320、若當前線程、通信連接信息與設備基本信息已經連接,則更新屬性信息;
屬性信息的更新包括兩方面內容,一個是更新可調用標識,通過更新可調用標識,進行運行策略的選擇,是執行一個設備對象連接判斷的先決條件;
另一個是更新回調函數,通過更新回調函數,主動反饋當前設備對象的連接狀態,方便用戶使用,提高了用戶的體驗效果。
s330、若當前線程、通信連接信息與設備基本信息未連接,則開啟監聽線程和開啟通信連接,將線程、通信連接信息與設備基本信息進行綁定,同時更新屬性信息。
在上述步驟中,s320和s330的判斷是不分先后順序的。根據上述步驟,可以實現多個藍牙設備同時通信,解決了相關技術中終端設備之間藍牙連接頻繁切換的現狀。
進一步地,運行策略包括第一運行策略、第二運行策略以及第三運行策略;
第一運行策略為:運行一次對線程、通信連接信息與設備基本信息的進行連接的整體步驟,將線程、通信連接信息與設備基本信息進行綁定,同時更新屬性信息;第一運行策略對完成設備對象的連接是最快的,但是穩定性上比較差。
第二運行策略為:運行多次對線程、通信連接信息與設備基本信息的進行連接的整體步驟,將線程、通信連接信息與設備基本信息進行綁定,同時更新屬性信息;第二運行策略對完成設備對象的連接的速度和穩定性都比較好。
第三運行策略為:永久運行對線程、通信連接信息與設備基本信息的進行連接的整體步驟,將線程、通信連接信息與設備基本信息進行綁定,同時更新屬性信息,第二運行策略對完成設備對象的連接比較占用系統資源,只有在個別設備對象連接經常變動的情況下才會采用。
綜上所述,根據選擇不同的運行策略,完成系統中所有設備對象連接的效率、系統資源是使用效率以及設備對象連接的穩定性都是不同的;至于具體選擇哪種運行策略是根據實際設備的屬性信息決定,在實際應用中,如選擇第二運行策略,在構造對象時選擇第二運行策略,并設置變量參數為cnn次數,在構造完成后,進入策略允許階段,會按照設置變量參數執行cnn次。
進一步的,在選擇預設的運行策略后,還包括以下步驟:
根據預設值對運行策略進行延時控制,并且實時計算每個設備對象的執行頻率以及控制運行策略的運行時間。
這里提到的預設值其實就是一個時間參數,每次在根據運行策略運行對線程、通信連接信息與設備基本信息的進行連接的整體步驟時,都需要調取時間參數,根據預設值進行控制。下面舉例說明,比如預設值為2s時,在第二,第三運行策略運行時,每過2s都對線程、通信連接信息與設備基本信息的進行連接的整體步驟進行周期性嘗試連接,將線程、通信連接信息與設備基本信息進行綁定,同時更新屬性信息。
而且在藍牙連接構造對象成功后,進入運行策略執行階段,在執行策略時首先判斷運行策略類型,根據運行策略類型進行對線程、通信連接信息與基本信息連接信息綁定,對連接情況進行校驗后,判斷當前狀態blue_state,為false則執行藍牙線程連接、信息綁定操作,操作完成再進行當前狀態blue_state判斷,為true則退出輪詢隊列,false則等待間隔預設參數s,進行下一次連接嘗試,每次連接成功后記錄時間,根據上述步驟能得出設備對象在一定時間內的執行頻率。
上述整個過程都在預設值的控制下進行,不僅能實時計算每個設備對象的執行頻率,而且能控制運行策略的運行時間。
如圖2所示,本發明實施例二提供的一種藍牙設備的通信系統,包括信息獲取轉換模塊100、設備對象構建模塊200以及運行連接模塊300;
信息獲取轉換模塊100用于獲取若干從屬終端的基本信息,將所有基本信息轉換成相應的mac地址數據;
設備對象構建模塊200用于根據每個mac地址數據,構建相應的設備對象,每個設備對象包括設備基本信息、線程、通信連接信息以及屬性信息;
運行連接模塊300用于根據屬性信息,選擇預設的運行策略,并按照所選的運行策略完成對線程、通信連接信息與設備基本信息的連接。
作為一種可實施方式,運行連接模塊300包括判斷單元340、更新單元350以及連接更新單元360;
判斷單元340用于根據運行策略判斷線程、通信連接信息與設備基本信息的連接狀態,判斷當前線程、通信連接信息與設備基本信息是否連接;
更新單元350用于若當前線程、通信連接信息與設備基本信息已經連接,則更新屬性信息;
連接更新單元360用于若當前線程、通信連接信息與設備基本信息未連接,則開啟監聽線程和開啟通信連接,將線程、通信連接信息與設備基本信息進行綁定,同時更新屬性信息。
作為一種可實施方式,運行連接模塊300還包括第一運行策略單元310、第二運行策略單元320以及第三運行策略單元330;
第一運行策略單元310用于運行一次對線程、通信連接信息與設備基本信息的進行連接的整體步驟,將線程、通信連接信息與設備基本信息進行綁定,同時更新屬性信息;
第二運行策略單元320用于運行多次對線程、通信連接信息與設備基本信息的進行連接的整體步驟,將線程、通信連接信息與設備基本信息進行綁定,同時更新屬性信息;
第三運行策略單元330用于永久運行對線程、通信連接信息與設備基本信息的進行連接的整體步驟,將線程、通信連接信息與設備基本信息進行綁定,同時更新屬性信息。
作為一種可實施方式,一種藍牙設備的通信系統還包括計時器模塊;計時器模塊用于在選擇預設的運行策略后,根據預設值對運行策略進行延時控制,并且實時計算每個設備對象的執行頻率以及控制運行策略的運行時間。
本發明提供的一種藍牙設備的通信系統,能夠減少了基于藍牙通訊的操作步驟,實現了多個藍牙設備同時通信,解決了相關技術中終端設備之間藍牙連接頻繁切換的現狀,避免由藍牙連接切換造成的數據丟失,更好地利用系統資源和性能,提高了用戶的體驗效果。
本發明雖然已以較佳實施例公開如上,但其并不是用來限定本發明,任何本領域技術人員在不脫離本發明的精神和范圍內,都可以利用上述揭示的方法和技術內容對本發明技術方案做出可能的變動和修改,因此,凡是未脫離本發明技術方案的內容,依據本發明的技術實質對以上實施例所作的任何簡單修改、等同變化及修飾,均屬于本發明技術方案的保護范圍。