本發(fā)明屬于通信技術(shù)領(lǐng)域,更進一步涉及電子通信技術(shù)領(lǐng)域中的一種檢測低功耗藍牙正常通信的系統(tǒng)及其方法。本發(fā)明可用于對不同廠家生產(chǎn)的低功耗藍牙是否具有正常通信功能的檢測。
背景技術(shù):
藍牙作為一種短距離通信的方式,應(yīng)用越來越廣泛。特別是低功耗藍牙在各種智能可穿戴設(shè)備上的使用。終端藍牙作為主端,低功耗藍牙設(shè)備作為從端,實現(xiàn)移動終端與低功耗藍牙設(shè)備的通信。但是低功耗藍牙設(shè)備在使用過程中容易損壞,現(xiàn)在對于藍牙完好性的檢測方法,只是單一的針對每個廠家的低功耗藍牙設(shè)備提供對應(yīng)的方法。這樣就會導致操作復(fù)雜,用戶使用成本提高,帶來很大的不便。
北京清川科技有限公司在其申請的專利“一種藍牙連接方法、藍牙設(shè)備及系統(tǒng)”(申請?zhí)枺?01610007214.0,公開號:CN105490713A)公開了一種藍牙連接系統(tǒng),該系統(tǒng)包括:藍牙設(shè)備,請求藍牙設(shè)備。該系統(tǒng)存在的不足之處是:實現(xiàn)了主端與從端之間的數(shù)據(jù)傳輸,但不能適應(yīng)不同的寫特征值和通知特征值;
中科創(chuàng)達軟件股份有限公司在其申請的專利“一種藍牙連接的方法及裝置”(申請?zhí)枺?01610757801.1,公開(公告)號:CN106162535A)公開了一種藍牙連接的方法和裝置。包括,啟動藍牙功能后,開始掃描周圍存在的藍牙設(shè)備,同時,判斷電子設(shè)備是否存有之前連接過的藍牙設(shè)備的標識,若判斷結(jié)果為是,則說明電子設(shè)備之前連接過藍牙設(shè)備,停止掃描。并獲取電子設(shè)備之前連接過的藍牙設(shè)備的標識,與所述之前連接過得藍牙設(shè)備建立連接。該方法存在的不足之處是:不能動態(tài)的改變讀特征值和通知特征值,由于每個廠家生產(chǎn)的藍牙具有不同的讀特征值和寫特征值,因此只能適應(yīng)單一廠家生產(chǎn)的藍牙。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是針對上述現(xiàn)有技術(shù)存在的不足,提出一種檢測低功耗藍牙正常通信的系統(tǒng)及其方法。
本發(fā)明實現(xiàn)的具體思路是:通過測試終端藍牙和被檢測低功耗藍牙設(shè)備的通信能力,判斷低功耗藍牙是否能夠正常工作。由于通信功能是通過藍牙服務(wù)的寫特征值和通知特征值攜帶傳輸數(shù)據(jù)實現(xiàn)的,因此為了實現(xiàn)終端的通用性,方便用戶測試,本發(fā)明實現(xiàn)了動態(tài)的修改寫特征值和通知特征值。
實現(xiàn)本發(fā)明目的的系統(tǒng)包括掃描低功耗藍牙模塊、顯示低功耗藍牙模塊、低功耗藍牙連接模塊、通信模塊;其中:
所述的掃描低功耗藍牙模塊,用于獲得低功耗藍牙的廣播信息;
所述的顯示低功耗藍牙模塊,用于根據(jù)獲取的低功耗藍牙廣播信息,建立低功耗藍牙列表;
所述的低功耗藍牙連接模塊,用于獲得包括寫特征值,通知特征值的服務(wù)信息;
所述的通信模塊,用于主端與從端之間相互數(shù)據(jù)傳輸;
實現(xiàn)本發(fā)明目的的方法,包括如下步驟:
(1)確定通信的主、從端:
(1a)打開用于檢測低功耗藍牙的終端藍牙,將終端藍牙作為通信的主端;
(1b)打開待檢測的低功耗藍牙,將低功耗藍牙作為通信的從端;
(2)獲取低功耗藍牙的廣播信息:
主端通過調(diào)用掃描低功耗藍牙模塊,獲得低功耗藍牙的廣播信息;
(3)建立低功耗藍牙列表:
主端通過調(diào)用顯示低功耗藍牙模塊,根據(jù)獲取的低功耗藍牙廣播信息,建立低功耗藍牙列表;
(4)判斷低功耗藍牙列表中是否存在待檢測從端的廣播信息,若是,則執(zhí)行步驟(5),否則執(zhí)行步驟(17);
(5)建立低功耗藍牙服務(wù)信息列表:
主端通過調(diào)用低功耗藍牙連接模塊,獲得包括寫特征值,通知特征值的服務(wù)信息,建立包括服務(wù)信息的低功耗藍牙服務(wù)信息列表;
(6)在主端輸入寫特征值;
(7)判斷低功耗藍牙服務(wù)信息列表中是否存在主端輸入的寫特征值,若是,則執(zhí)行步驟(9),否則,執(zhí)行步驟(8);
(8)判斷主端輸入的寫特征值是否與從端的寫特征值相同,若是,則執(zhí)行步驟(17),否則執(zhí)行步驟(6);
(9)發(fā)送攜帶數(shù)據(jù)的寫特征值:
在主端寫特征值中寫入需要向從端發(fā)送的數(shù)據(jù),得到攜帶數(shù)據(jù)的寫特征值,主端調(diào)用通信模塊向從端發(fā)送攜帶數(shù)據(jù)的寫特征值,從端從攜帶數(shù)據(jù)的寫特征值中解析出數(shù)據(jù);
(10)判斷從端解析出的數(shù)據(jù)與主端發(fā)送的數(shù)據(jù)是否相同,若是,則執(zhí)行步驟(11),否則執(zhí)行步驟(17);
(11)在主端輸入通知特征值;
(12)判斷低功耗藍牙服務(wù)信息列表中是否存在主端輸入的通知特征值,若是,則執(zhí)行步驟(14),否則執(zhí)行步驟(13);
(13)判斷主端輸入的通知特征值是否與從端的通知特征值相同,若是,則執(zhí)行步驟(17),否則執(zhí)行步驟(11);
(14)從端往主端發(fā)送消息:
主端調(diào)用通信模塊向從端發(fā)送通知特征值,在從端寫特征值中寫入需要向主端發(fā)送的數(shù)據(jù),得到攜帶數(shù)據(jù)的寫特征值,從端調(diào)用通信模塊向主端發(fā)送攜帶數(shù)據(jù)的寫特征值,主端從攜帶數(shù)據(jù)的寫特征值中解析出數(shù)據(jù);
(15)判斷主端解析出的數(shù)據(jù)與從端發(fā)送的數(shù)據(jù)是否相同,若是,則執(zhí)行步驟(16),否則執(zhí)行步驟(17);
(16)從端完成了與主端之間的通信,低功耗藍牙具有正常的通信功能;
(17)從端沒有完成與主端之間的通信,低功耗藍牙不具有正常的通信功能。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:
第一,本發(fā)明的系統(tǒng)通過掃描低功耗藍牙模塊,顯示低功耗藍牙模塊,低功耗藍牙連接模塊,通信模塊,實現(xiàn)了從端寫特征值和通知特征值改變時,主端與從端之間的數(shù)據(jù)傳輸,克服了現(xiàn)有技術(shù)在主端與從端之間,無法適應(yīng)不同的寫特征值和通知特征值的數(shù)據(jù)傳輸?shù)牟蛔?,使得本發(fā)明能夠適應(yīng)主端與不同從端之間的通信。
第二,本發(fā)明的方法通過在主端輸入寫特征值和輸入通知特征值,實現(xiàn)了特征值的動態(tài)改變,克服了現(xiàn)有技術(shù)只能適應(yīng)單一廠家生產(chǎn)的藍牙的不足,使得本發(fā)明能夠很好的適配不同的廠家生產(chǎn)的從端,具有很好的通用性。
附圖說明
圖1是本發(fā)明系統(tǒng)模塊的示意圖;
圖2是本發(fā)明方法的流程圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明做進一步的詳細描述。
參照附圖1,對本發(fā)明的系統(tǒng)做進一步的詳細描述。
實現(xiàn)本發(fā)明目的的系統(tǒng)包括掃描低功耗藍牙模塊、顯示低功耗藍牙模塊、低功耗藍牙連接模塊、通信模塊。其中:
所述的掃描低功耗藍牙模塊,低功耗藍牙在啟動狀態(tài)下會向周圍廣播信息,通過過此模塊,用于獲得低功耗藍牙的廣播信息,。
所述的顯示低功耗藍牙模塊,用于根據(jù)獲取的低功耗藍牙廣播信息,建立低功耗藍牙列表。低功耗藍牙列表中包括用來進行藍牙連接的從端硬件地址。
所述的低功耗藍牙連接模塊,用于獲得包括寫特征值,通知特征值的服務(wù)信息,寫特征值,和通知特征值是用來進行主端和從端進行數(shù)據(jù)傳輸?shù)摹?/p>
所述的通信模塊,用于主端與從端之間相互數(shù)據(jù)傳輸,驗證主從端傳輸數(shù)據(jù)的結(jié)果,可以判斷數(shù)據(jù)是否能夠正常傳輸。
參照附圖2,對本發(fā)明的方法做進一步的詳細描述。
步驟1,確定通信的主、從端。
打開用于檢測低功耗藍牙的終端藍牙,將終端藍牙作為通信的主端,打開待檢測的低功耗藍牙,根據(jù)低功耗藍牙協(xié)議棧的要求,低功耗藍牙只能作為通信的從端。
步驟2,獲取低功耗藍牙的廣播信息。
主端通過調(diào)用掃描低功耗藍牙模塊,獲得從端的廣播信息,廣播信息中包括從端的硬件地址和從端名字,根據(jù)從端的硬件地址可以建立主端和從端的連接,為了方便我們可以借助串口助手軟件作為從端數(shù)據(jù)的發(fā)送、顯示界面。
步驟3,建立低功耗藍牙列表。
主端通過調(diào)用顯示低功耗藍牙模塊,根據(jù)獲取的低功耗藍牙廣播信息,低功耗藍牙廣播信息包含低功耗藍牙的硬件地址,低功耗藍牙的名字建立低功耗藍牙列表。
步驟4,判斷低功耗藍牙列表中是否存在待檢測從端的廣播信息,若是,則執(zhí)行步驟5,否則執(zhí)行步驟17;
步驟5,建立低功耗藍牙服務(wù)信息列表。
主端通過調(diào)用低功耗藍牙連接模塊,當建立藍牙之間的連接后,主端會根據(jù)從端的藍牙自帶屬性,自動接收到所有的寫特征值和通知特征值,此時根據(jù)得到的寫特征值和通知特征值建立低功耗藍牙服務(wù)信息列表。
步驟6,在主端輸入寫特征值,由于從端的生產(chǎn)廠家不同,導致不同從端擁有不同的寫特征值,而主端往從端設(shè)備發(fā)送消息,是依附在寫特征值上的,本發(fā)明通過動態(tài)輸入寫特征值使主端能夠適配所有的從端。
步驟7,判斷低功耗藍牙服務(wù)信息列表中是否存在主端輸入的寫特征值,若是,則執(zhí)行步驟9,否則,執(zhí)行步驟8。
步驟8,判斷主端輸入的寫特征值是否與從端的寫特征值相同,若是,則執(zhí)行步驟17,否則執(zhí)行步驟6。
步驟9,發(fā)送攜帶數(shù)據(jù)的寫特征值。
因為主端與從端設(shè)備的通信是通過寫特征值攜帶傳輸數(shù)據(jù)實現(xiàn)的,因此為了驗證從端設(shè)備的是否能夠與主端完成數(shù)據(jù)傳輸,在主端寫特征值中寫入需要向從端設(shè)備發(fā)送的數(shù)據(jù),向從端設(shè)備發(fā)送寫特征值,通過藍牙的無線傳輸數(shù)據(jù),在從端設(shè)備中解析寫特征值中攜帶的數(shù)據(jù),此時就會在串口助手軟件上顯示出從端設(shè)備接收的數(shù)據(jù)。
步驟10,判斷從端解析出的數(shù)據(jù)與主端發(fā)送的數(shù)據(jù)是否相同,若是,則執(zhí)行步驟11,否則執(zhí)行步驟17。
步驟11,在主端輸入通知特征值,由于從端的生產(chǎn)廠家不同,導致不同從端擁有不同的通知特征值,而從端往主端發(fā)送消息,是依附在寫特征值上的,本發(fā)明通過動態(tài)輸入通知特征值使主端能夠適配所有的從端。
步驟12,判斷低功耗藍牙服務(wù)信息列表中是否存在主端輸入的通知特征值,若是,則執(zhí)行步驟14,否則執(zhí)行步驟13。
步驟13,判斷主端輸入的通知特征值是否與從端的通知特征值相同,若是,則執(zhí)行步驟17,否則執(zhí)行步驟11。
步驟14,從端往主端發(fā)送消息。
在主端向從端設(shè)備發(fā)送通知特征值,使主端能夠接收從端的通知。在串口助手軟件上寫入需要向主端發(fā)送的數(shù)據(jù),通過藍牙的無線傳輸,在主端解析寫特征值中攜帶的從端設(shè)備的傳輸數(shù)據(jù)。
步驟15,判斷主端解析出的數(shù)據(jù)與從端發(fā)送的數(shù)據(jù)是否相同,若是,則執(zhí)行步驟16,否則執(zhí)行步驟17。
步驟16,從端完成了與主端之間的通信,低功耗藍牙具有正常的通信功能;
步驟17,從端沒有完成與主端之間的通信,低功耗藍牙不具有正常的通信功能。