国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

BlueTooth探索系列(三)---發(fā)現(xiàn)服務(wù)框架(續(xù))

2019-11-18 16:19:36
字體:
供稿:網(wǎng)友
BlueTooth探索系列(三)---發(fā)現(xiàn)服務(wù)框架(續(xù))

作者cleverpig


可以自由轉(zhuǎn)載, 轉(zhuǎn)載請保留下面的作者信息:

作者 http://www.matrix.org.cn/blog/cleverpig(http://www.matrix.org.cn/blog/cleverpig)


2.SDP概貌

1).sdp框架的堆棧

BlueTooth探索系列(三)---發(fā)現(xiàn)服務(wù)框架(續(xù))(圖一)


上圖顯示了藍牙協(xié)議和使用SDP的應(yīng)用實例。

如圖中,SrvDscApp這個服務(wù)發(fā)現(xiàn)用戶應(yīng)用位于本地設(shè)備LocDev上,通過與藍牙SDP客戶端的接口,發(fā)送服務(wù)查詢請求并接收從位于遠端設(shè)備RemDevs上的SDP服務(wù)器的服務(wù)查詢響應(yīng)。SDP使用了面向連接的L2CAP協(xié)議來傳輸服務(wù),這種L2CAP協(xié)議使用基帶異步無連接(ACL)來實現(xiàn)最終裝載/傳輸SDP的PDU(協(xié)議數(shù)據(jù)單元)。
服務(wù)發(fā)現(xiàn)過程以與發(fā)現(xiàn)設(shè)備過程密切相關(guān),發(fā)現(xiàn)設(shè)備過程又與執(zhí)行設(shè)備查詢和設(shè)備捆綁的過程密切相關(guān)。這樣,這個SrvDscApp應(yīng)用通過使用BT_module_Cntrl實例與基帶進行接口,而用BT_module_Cntrl實例在進入查詢模式的操作時負責指揮藍牙模塊。

注:BT_module_Cntrl可以是藍牙協(xié)議堆棧實現(xiàn)的一部分或者是SrvDscApp應(yīng)用的一個低級部分。正因為這樣,也沒有關(guān)于任何特定協(xié)議堆棧或者SrvDscApp應(yīng)用實現(xiàn)被完成的假設(shè),BT_module_Cntrl實例代表著一個與SrvDscApp分離的邏輯實體,它既不是SrvDscApp的一部分,也不是協(xié)議堆棧的部件或者任何相應(yīng)的代碼片斷。
服務(wù)記錄數(shù)據(jù)庫在上圖中顯示在SDP server的右側(cè),它是一個邏輯實體,工作起來就像服務(wù)發(fā)現(xiàn)的相關(guān)信息的倉庫,可被client用來查找特定服務(wù),可被server用來發(fā)布服務(wù)。

2).配置與角色

以下角色被定義在SDP框架中:
本地設(shè)備(LocDev):本地設(shè)備是一個發(fā)起服務(wù)發(fā)現(xiàn)過程的設(shè)備。它必須至少包含藍牙SDP框架的客戶端部分:被用戶用來發(fā)起發(fā)現(xiàn)服務(wù)過程的服務(wù)發(fā)現(xiàn)應(yīng)用(SrvDscApp),顯示發(fā)現(xiàn)結(jié)果的顯示功能。

遠程設(shè)備(RemDev):遠程設(shè)備是一種參與服務(wù)發(fā)現(xiàn)過程,對來自本地設(shè)備LocDev的服務(wù)查詢請求作出回應(yīng)。它必須包含藍牙SDP框架中的服務(wù)器部分:即包含一個服務(wù)記錄數(shù)據(jù)庫,用來組成對服務(wù)發(fā)現(xiàn)請求的回應(yīng)部分。

賦予一個設(shè)備的LocDev或者RemDev角色不是永久的也不是唯一的。某個RemDev可能像SDP客戶端那樣安裝了SrvDscApp,而某個LocDev也可能有一個SDP Server。對于一個安裝了SrcDscApp、SDP客戶端、SDP Server的設(shè)備,這個設(shè)備的角色賦值是由每次的SDP會話過程決定的。因此,一個設(shè)備可以在一個特定的SDP會話中擔任LocDev角色,也可能在另一次SDP會話中擔任RemDev角色。由上圖看出,一個沒有UI的設(shè)備,不能接收用戶輸入并顯示服務(wù)查詢的結(jié)果,那么這個設(shè)備就不被看作是LocDev的候選者。但無論如何,即使這樣一個設(shè)備不被看作是一個LocDev的候選者,如果運行在這個設(shè)備上的應(yīng)用需要執(zhí)行服務(wù)發(fā)現(xiàn)會話時,在下面章節(jié)的過程描述仍能應(yīng)用。

BlueTooth探索系列(三)---發(fā)現(xiàn)服務(wù)框架(續(xù))(圖二)

上圖是一個典型的服務(wù)發(fā)現(xiàn)結(jié)構(gòu)。圖中notebook作為本地設(shè)備正在查詢周邊的遠程設(shè)備上的服務(wù)。

3)用戶需求和使用場所

本框架涉及的用途如下:
A.通過服務(wù)類查詢服務(wù);
B.通過服務(wù)屬性查詢服務(wù);
C.瀏覽服務(wù)。

前面的兩個用途是用在尋找已知的某個特定服務(wù)時的,例如用戶要查找A服務(wù)或者具有B和C特點的A服務(wù)是否有效;而第三類用途則適用于通用的服務(wù)查詢,例如在用戶的手持藍牙設(shè)備周邊查找那些服務(wù)可用時。上面的例子中本框架的使用依賴于支持藍牙協(xié)議的用戶應(yīng)用程序—SrvDscApp,這個應(yīng)用在一個LocDev設(shè)備中通過與SDP協(xié)議接口來定位服務(wù)。從這個層面看,本框架與其它框架具有獨到之處:SDP框架是通過一個描述與某個特定藍牙協(xié)議接口的應(yīng)用實現(xiàn)開發(fā)者設(shè)計的目標—最大的滿足最終用戶需要。

4)sdp框架基礎(chǔ)

在兩個嵌入藍牙的設(shè)備互相通訊之前必須經(jīng)過以下過程:
A.設(shè)備需要加電和初始化。初始化過程可能需要為建立藍牙鏈路和設(shè)備授權(quán)和數(shù)據(jù)加密提供一個PIN(個人標識號碼)。
B.一個藍牙鏈路被建立后,有一個設(shè)備發(fā)現(xiàn)的過程:主設(shè)備首先通過查詢處理發(fā)現(xiàn)其它的設(shè)備的BD_ADDR,而被查詢的設(shè)備則將自己所擁有的服務(wù)告知主設(shè)備。然而把LocDev設(shè)備當作主設(shè)備,而RemDev設(shè)備作為從設(shè)備的想法是看似很自然的。但這點并沒有被本框架所要求。在本文檔中提供的服務(wù)發(fā)現(xiàn)過程中,在同一個微型網(wǎng)絡(luò)(很小的網(wǎng)絡(luò),也稱為piconet)中任意一個設(shè)備都可能成為主設(shè)備或者從設(shè)備。而且,在這個微型網(wǎng)絡(luò)中的一個從設(shè)備也可能在另一個微型網(wǎng)絡(luò)中發(fā)起服務(wù)發(fā)現(xiàn),即成為那個微型網(wǎng)絡(luò)中的主設(shè)備。這樣就造成了同一設(shè)備的復(fù)用沖突問題,在這種情況下,這個從設(shè)備將告知原網(wǎng)絡(luò)中的主設(shè)備:本設(shè)備不可用(這個從設(shè)備有可能進入保持可操作模式)一段時間,當然。原網(wǎng)絡(luò)中的主設(shè)備不能再作為另一個新的微型網(wǎng)絡(luò)的主設(shè)備了,因為每個微型網(wǎng)絡(luò)由這個網(wǎng)絡(luò)中的唯一主設(shè)備的BD_ADDR來標識。

本框架不要求必須使用授權(quán)或者加密。如果授權(quán)或者加密被某個設(shè)備所調(diào)用,則服務(wù)發(fā)現(xiàn)將只在這些需要授權(quán)或者加密的設(shè)備上傳遞授權(quán)或者加密安全保障,從而加強彼此之間的數(shù)據(jù)安全。換一個說話,只有在藍牙鏈路上安全限制已經(jīng)存在時才被稱為SDP事務(wù)的安全限制。

5)一致性保證

如果本框架的一致性被公布,則所有在本框架中被標識為強制性的設(shè)備性能都應(yīng)該以某種特定的方式支持。同樣這個規(guī)則也適用于所有在本框架中被標識為強制性的可選的和有條件的性能。所有在SDP框架中強制性的性能指標、可選的和有條件的性能指標都將作為藍牙產(chǎn)品認證體系中的被驗證的主題。進入討論組討論。

(出處:http://m.survivalescaperooms.com)



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 旬阳县| 马鞍山市| 金山区| 铜鼓县| 望谟县| 固始县| 芜湖市| 奈曼旗| 柯坪县| 辉县市| 公安县| 吉木乃县| 泉州市| 湖南省| 遂川县| 东阳市| 淮北市| 达日县| 盐池县| 新河县| 徐闻县| 濉溪县| 安岳县| 固镇县| 永仁县| 兴化市| 临安市| 定州市| 安庆市| 舒兰市| 通许县| 汝城县| 普宁市| 建阳市| 平陆县| 南郑县| 铜陵市| 衢州市| 嘉善县| 星座| 阿拉善左旗|