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

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

藍(lán)牙核心技術(shù)概述(四):藍(lán)牙協(xié)議規(guī)范(HCI、L2CAP、SDP、RFOCMM)

2019-11-09 15:48:54
字體:
供稿:網(wǎng)友

關(guān)鍵詞:藍(lán)牙核心技術(shù)協(xié)議  HCI  L2CAP SDP RFCOMM

作者:xubin341719(歡迎轉(zhuǎn)載,請(qǐng)注明作者,請(qǐng)尊重版權(quán),謝謝!)歡迎指正錯(cuò)誤,共同學(xué)習(xí)、共同進(jìn)步!!下載鏈接:Bluetooth PROFILE SPECIFICATIONS (基本涵蓋所有藍(lán)牙協(xié)議)、buletooth core 2.1-4.0 SPECIFICATION(三藍(lán)牙版本的核心協(xié)議v2.1/v3.0/v4.0)、藍(lán)牙核心技術(shù)與應(yīng)用 馬建倉 版(藍(lán)牙協(xié)議相關(guān)初學(xué)者必讀,開發(fā)者參考)

藍(lán)牙核心技術(shù)概述(一):藍(lán)牙概述藍(lán)牙核心技術(shù)概述(二):藍(lán)牙使用場景藍(lán)牙核心技術(shù)概述(三): 藍(lán)牙協(xié)議規(guī)范(射頻、基帶鏈路控制、鏈路管理)藍(lán)牙核心技術(shù)概述(四):藍(lán)牙協(xié)議規(guī)范(HCI、L2CAP、SDP、RFOCMM)藍(lán)牙核心技術(shù)概述(五):藍(lán)牙協(xié)議規(guī)范(irOBEX、BNEP、AVDTP、AVCTP)

一、主機(jī)控制接口協(xié)議  HCI藍(lán)牙主機(jī)-主機(jī)控模型

藍(lán)牙軟件協(xié)議棧堆的數(shù)據(jù)傳輸過程:

1、藍(lán)牙控制器接口數(shù)據(jù)分組:指令分組、事件分組、數(shù)據(jù)分組(1)、指令分組

如:Accpet Connection RequestOpcode為:0x0409參數(shù)長度為: 07 參數(shù)中藍(lán)牙地址為:00:0d:fd:5f:16:9f角色為:從設(shè)備  0x01大端數(shù)據(jù)模式指令為:09 04 07 9f 16 5f fd 0d 00 01(2)、事件分組

如上圖:Opcode :0x0409狀態(tài): 0x00總長度: 4字節(jié)命令狀態(tài):0x0f(3)、數(shù)據(jù)分組ACL 數(shù)據(jù)分組

連接句柄(12bit)

PB(2bit)

BC(2bit)

數(shù)據(jù)長度(16bit)

數(shù)據(jù)…………

注:PB  Packet_Boundary  BC Broadcast FlagSCO 數(shù)據(jù)分組

連接句柄(12bit)

保留(4bit)

數(shù)據(jù)長度(16bit)

數(shù)據(jù)…………

(4)、RS232分組指示器:

HCI 分組類型

RS232分組指示器

HCI指令分組

0x01

HCI ACL數(shù)據(jù)分組

0x02

HCI SCO數(shù)據(jù)分組

0x03

HCI事件分組

0x04

HCI錯(cuò)誤消息分組

0x05

HCI協(xié)商分組

0x06

2、HCI控制命令

(1)、鏈路控制指令

命令

OCF

概述

Inquiry

0x0001

藍(lán)牙設(shè)備進(jìn)入查詢模式,搜索臨近設(shè)備

Inquiry Cancel

0x0002

退出查詢模式

Periodic Inquiry Mode

0x0003

藍(lán)牙設(shè)備在指定周期內(nèi)自動(dòng)查詢

Exit Periodic Inquiry Mode

0x0004

退出自動(dòng)查詢模式

Create Connection

0x0005

按指定藍(lán)牙設(shè)備的BD_ADDR創(chuàng)建ACL鏈路

Disconnect

0x0006

終止現(xiàn)有連接

Add SCO Connection

0x0007

利用連接句柄參數(shù)指定的ACL連接創(chuàng)建SCO

Cancel Create Connection

0x0008

 

Accept Connection Request

0x0009

接收新的呼入連接請(qǐng)求

Reject Connection Request

0x000A

拒絕新的呼入連接請(qǐng)求

Link Key Request Reply

0x000B

應(yīng)答從主機(jī)控制器發(fā)出的鏈路密鑰請(qǐng)求事件,并指定存儲(chǔ)在主機(jī)上的鏈路密鑰做為與BD_ADDR指定的藍(lán)牙設(shè)備進(jìn)行連接使用的鏈路密鑰請(qǐng)求事件

Link Key Request Negative Reply

0x000C

如果主機(jī)上沒有存儲(chǔ)鏈路密鑰,作為與BD_ADDR指定的藍(lán)牙設(shè)備進(jìn)行連接使用的鏈路密鑰,就應(yīng)答從主機(jī)控制器發(fā)出的鏈路密鑰請(qǐng)求事件

PIN Code Request Reply

0x000D

應(yīng)答從主機(jī)控制器發(fā)出的PIN請(qǐng)求事件,并指定用于連接的PIN

PIN Code Request Negative Reply

0x000E

當(dāng)主機(jī)不能指定連接的PIN時(shí),應(yīng)回答從機(jī)控制器發(fā)出的PIN請(qǐng)求事件

Change Connection Packet Type

0x000F

改變正在建立連接的分組類型

Authentication Request

0x0011

指定連接句柄關(guān)聯(lián)的兩個(gè)藍(lán)牙設(shè)備之間建立身份鑒權(quán)

Set Connection Encryption

0x0013

建立取消連接加密

Change Connection Link Key

0x0015

強(qiáng)制關(guān)聯(lián)了連接句柄的兩個(gè)設(shè)備建立連接,并生成一個(gè)新的鏈路密鑰

Master Link Key

0x0017

強(qiáng)制關(guān)聯(lián)了連接句柄的兩個(gè)設(shè)備利用主設(shè)備時(shí)鏈路密鑰或常規(guī)密鑰

Remote Name Request

0x0019

獲取遠(yuǎn)端設(shè)備的名稱

Cancel Remote Name Request

 

 

Read Remote Supported Features

0x001B

請(qǐng)求遠(yuǎn)端設(shè)備所支持的特性列表

Read Remote Extended Features

 

 

Read Remote Version Information

0x001D

從遠(yuǎn)端設(shè)備讀取版本信息

Read Clock Offset

0x001F

讀取遠(yuǎn)端的時(shí)鐘信息

(2)、鏈路策略指令

命令

OCF

簡介

Hold Mode

0x0001

改變LM狀態(tài)和本地及遠(yuǎn)程設(shè)備為主模式的LM位置

Sniff Mode

0x0003

改變LM狀態(tài)和本地及遠(yuǎn)程設(shè)備為呼吸模式的LM位置

Exit Sniff Mode

0x0004

結(jié)束連接句柄在當(dāng)前呼吸模式里的呼吸模式

Park State

0x0005

改變LM狀態(tài)和本地及遠(yuǎn)程設(shè)備為休眠模式的LM位置

Exit Park State

0x0006

切換從休眠模式返回到激活模式的藍(lán)牙設(shè)備

QoS Setup

0x0007

指出連接句柄的服務(wù)質(zhì)量參數(shù)

Role Discovery

0x0009

藍(lán)牙設(shè)備連接后確定自己的主從角色

Switch Role

0x000B

角色互換

Read Link Policy Settings

0x000C

為指定連接句柄讀鏈路策略設(shè)置。鏈路策略設(shè)置允許主機(jī)控制器指定用于連接句柄的LM連接模式

Write Link Policy Settings

0x000D

為指定連接句柄寫鏈路策略設(shè)置。鏈路策略設(shè)置允許主機(jī)控制器指定用于連接句柄的LM連接模式

Read Default Link Policy Settings

0x000E

 

Write Default Link Policy Settings

0x000F

 

Flow Specification

0X0010

 

(3)、主機(jī)控制器與基帶指令

Set Event Mark

0x0001

使能主機(jī)過濾HCI產(chǎn)生的事件

Reset

0x0003

復(fù)位藍(lán)牙控制器、鏈路管理器、基帶鏈路管理器

Set Event Filter

0x0005

使能主機(jī)指定不同事件過濾

Flush

0x0008

針對(duì)指定的藍(lán)牙句柄,放棄所有作為當(dāng)前待傳輸數(shù)據(jù),甚至當(dāng)前是屬于多個(gè)在主機(jī)控制器里的L2CAP指令的數(shù)據(jù)塊

Read PIN Type

0x0009

主機(jī)讀取指定主機(jī)的PIN類型是可變的還是固定的

Write PIN Type

0x000A

主機(jī)寫入指定主機(jī)的PIN類型是可變的還是固定的

Create New Unit Key

0x000B

創(chuàng)建新的單一密鑰

Read Stored Link Key

0x000D

讀取存放在藍(lán)牙控制器中的單個(gè)或者多個(gè)密鑰

Write Stored Link Key

0x0011

寫入存放在藍(lán)牙控制器中的單個(gè)或者多個(gè)密鑰

Delete Stored Link Key

0x0012

刪除存放在藍(lán)牙控制器中的單個(gè)或者多個(gè)密鑰

Write Local Name

0x0013

修改藍(lán)牙設(shè)備名稱

Read Local Name

0x0014

讀取藍(lán)牙設(shè)備名稱

Read Connection Accept Timeout

0x0015

讀連接識(shí)別超時(shí)參數(shù)值,定時(shí)器終止后藍(lán)牙硬件自動(dòng)拒絕連接

Write Connection Accept Timeout

0x0016

寫連接識(shí)別超時(shí)參數(shù)值,定時(shí)器終止后藍(lán)牙硬件自動(dòng)拒絕連接

Read Page Timeout

0x0017

讀尋呼超時(shí)參數(shù)值,本地設(shè)備返回連接失敗前,該值是允許藍(lán)牙硬件定義等待遠(yuǎn)程設(shè)備連接申請(qǐng)時(shí)間

Write Page Timeout

0x0018

寫尋呼超時(shí)參數(shù)值,本地設(shè)備返回連接失敗前,該值是允許藍(lán)牙硬件定義等待遠(yuǎn)程設(shè)備連接申請(qǐng)時(shí)間

Read Scan Enable

0x0019

寫出掃描允許參數(shù)值---用來控制藍(lán)牙設(shè)備周期性查詢

Write Scan Enable

0x001A

讀出掃描允許參數(shù)值---用來控制藍(lán)牙設(shè)備周期性查詢

Read Page Scan Activity

0x001B

讀尋呼掃描間隔、尋呼掃描區(qū)間參數(shù)

Write Page Scan Activity

0x001C

寫尋呼掃描間隔、尋呼掃描區(qū)間參數(shù)

Read Inquiry Scan Activity

0x001D

讀查詢掃描間隔、查詢掃描區(qū)間參數(shù)

Write Inquiry Scan Activity

0x001E

寫查詢掃描間隔、查詢掃描區(qū)間參數(shù)

Read Authentication Enable

0x001F

讀取鑒權(quán)允許參數(shù)---控制藍(lán)牙設(shè)備是否對(duì)每個(gè)連接進(jìn)行鑒權(quán)

Write Authentication Enable

0x0020

寫取鑒權(quán)允許參數(shù)---控制藍(lán)牙設(shè)備是否對(duì)每個(gè)連接進(jìn)行鑒權(quán)

Read Encryption Mode

0x0021

讀加密模式數(shù)值---控制藍(lán)牙設(shè)備是否對(duì)每個(gè)連接進(jìn)行加密

Write Encryption Mode

0x0022

寫加密模式數(shù)值---控制藍(lán)牙設(shè)備是否對(duì)每個(gè)連接進(jìn)行加密

Read Class Of Device

0x0023

讀取設(shè)備類型參數(shù)值,用于區(qū)別設(shè)備能力

Write Class Of Device

0x0024

寫設(shè)備類型參數(shù)值,用于區(qū)別設(shè)備能力

Read Voice Setting

0x0025

讀取語音設(shè)置參數(shù)值,控制語音連接的各種設(shè)置

Write Voice Setting

0x0026

寫語音設(shè)置參數(shù)值,控制語音連接的各種設(shè)置

Read Automatic Flush Timeout

0x0027

對(duì)指定句柄,讀取刷新超時(shí)值

Write Automatic Flush Timeout

0x0028

對(duì)指定句柄,寫入刷新超時(shí)值

Read Num Broadcast Retransmissions

0x0029

讀取設(shè)備的廣播重復(fù)發(fā)送次數(shù),重復(fù)發(fā)送提高廣播消息的可靠性

Write Num Broadcast Retransmissions

0x002A

寫入設(shè)備的廣播重復(fù)發(fā)送次數(shù),重復(fù)發(fā)送提高廣播消息的可靠性

Read Hold Mode Activity

0x002B

讀取Hold Mode Activity的參數(shù)值,用來確定Hold掛起的時(shí)間

Write Hold Mode Activity

0x002C

寫入Hold Mode Activity的參數(shù)值,用來確定Hold掛起的時(shí)間

Read Transmit Power Level

0x002D

對(duì)指定句柄,讀取傳輸功率的參數(shù)值

Read Synchronous Flow Control Enable

0x002E

讀取SCO流量控制設(shè)置。通過使用該設(shè)置,主機(jī)控制器決定是否主機(jī)控制器發(fā)送與SCO連接句柄相關(guān)的完成分組事件的數(shù)量

Write Synchronous Flow Control Enable

0x002F

讀寫入SCO流量控制設(shè)置。通過使用該設(shè)置,主機(jī)控制器決定是否主機(jī)控制器發(fā)送與SCO連接句柄相關(guān)的完成分組事件的數(shù)量

Set Host Controller To Host Flow Control

0x0031

主機(jī)控制器的打開、關(guān)閉,主機(jī)控制器到主機(jī)的流量控制

Host Buffer Size

0x0033

主機(jī)通知主機(jī)控制器自己的ACL、SCO數(shù)據(jù)緩沖區(qū)大小。主機(jī)控制器分段傳輸數(shù)據(jù),而數(shù)據(jù)不會(huì)超出這個(gè)范圍

Host Number Of Completed Packets

0x0035

當(dāng)主機(jī)對(duì)于任何連接的句柄準(zhǔn)備接受較多的HCI指令時(shí),該指令用于通過主機(jī)指出主機(jī)控制器

Read Link Supervision Timeout

0x0036

讀取連接管理超時(shí)參數(shù)。主從藍(lán)牙設(shè)備用該參數(shù)監(jiān)視鏈路丟失情況

Write Link Supervision Timeout

0x0037

寫入連接管理超時(shí)參數(shù)。主從藍(lán)牙設(shè)備用該參數(shù)監(jiān)視鏈路丟失情況

Read Number of Supported IAC

0x0038

讀取查詢掃描期間本地藍(lán)牙掃描的查詢識(shí)別碼(ICA)的數(shù)值

Read Current IAC LAP

0x0039

讀取創(chuàng)建在查詢掃描期間本地藍(lán)牙設(shè)備正同時(shí)掃描的藍(lán)牙識(shí)別碼的LAP

Write Current IAC LAP

0x003A

寫入創(chuàng)建在查詢掃描期間本地藍(lán)牙設(shè)備正同時(shí)掃描的藍(lán)牙識(shí)別碼的LAP

Read Page Scan Period Mode

0x003B

讀取本地藍(lán)牙設(shè)備的強(qiáng)制尋呼掃描區(qū)間模式

Write Page Scan Period Mode

0x003C

寫入本地藍(lán)牙設(shè)備的強(qiáng)制尋呼掃描區(qū)間模式

Read Page Scan Mode

0x003D

讀取本地藍(lán)牙設(shè)備的默認(rèn)尋呼掃描區(qū)間模式

Write Page Scan Mode

0x003E

寫入本地藍(lán)牙設(shè)備的默認(rèn)尋呼掃描區(qū)間模式

(4)、信息指令參數(shù)

Read Local Version Information

0x0001

讀取本地藍(lán)牙版本信息

Read Local Supported Features

0x0003

讀取本地藍(lán)牙設(shè)備特征表

Read Local Extended Features

0x0004

 

Read Buffer Size

0x0005

返回HCI緩沖容量。緩沖容量用于傳輸緩沖數(shù)據(jù)

Read Country Code [Deprecated]

0x0007

讀取國家代碼狀態(tài)參數(shù)值

Read BD ADDR

0x0009

讀取BD_ADDR的參數(shù)值

(5)、狀態(tài)指令參數(shù)

Read Failed Contact Count

0x0001

讀取對(duì)于其他設(shè)備特殊連接的Failed Contact Count參數(shù)值。Failed Contact Count記錄在刷新時(shí)終止及當(dāng)前正在傳輸?shù)腖2CAP數(shù)據(jù)指令被自動(dòng)刷新后,主單元或從單元不能連續(xù)響應(yīng)事件次數(shù)

Reset Failed Contact Count

0x0002

復(fù)位時(shí)對(duì)于其他設(shè)備的連接的Failed Contact Count的參數(shù)值。Failed Contact Count記錄在刷新時(shí)終止及當(dāng)前正在傳輸?shù)腖2CAP數(shù)據(jù)指令被自動(dòng)刷新后,主單元或從單元不能連續(xù)響應(yīng)事件次數(shù)

Get Link Quality

0x0003

讀取指定連接句柄的Link Quality的值

Read rssI

0x0005

讀取對(duì)于其他藍(lán)牙設(shè)備連接句柄的接收信號(hào)強(qiáng)度指示

Read AFH Channel Map

0x0007

 

Read BD Clock

0x0009

 

(6)、測試指令

Read Loopback Mode

0x0001

讀取主機(jī)端控制器會(huì)送模式的設(shè)置值。回送模式設(shè)置可以確定信息發(fā)送路徑

Write Loopback Mode

0x0002

寫入主機(jī)控制器會(huì)送模式的設(shè)置值。回送模式設(shè)置可以確定信息發(fā)送路徑

Enable Device Under Test Mode

0x0003

允許本地藍(lán)牙設(shè)備模塊通過LMP測試指令接入測試模式。當(dāng)主機(jī)要求本地設(shè)備作為待測試設(shè)備,實(shí)現(xiàn)藍(lán)牙測試模式文件中規(guī)定測試場景,則發(fā)送該指令

(7)、錯(cuò)誤代碼

錯(cuò)誤代碼

錯(cuò)誤含義

錯(cuò)誤代碼

錯(cuò)誤含義

0x01

位置HCI指令

0x14

由于另一端引起連接中斷:資源限制

0x02

不能連接

0x15

由于另一端引起連接中斷:關(guān)機(jī)

0x03

硬件故障

0x16

本機(jī)中斷連接

0x04

尋呼超時(shí)

0x17

重復(fù)嘗試

0x05

身份驗(yàn)證失敗

0x18

不允許匹配

0x06

鍵丟失

0x19

未知LMP PDU

0x07

存儲(chǔ)器已滿

0x1A

不支持遠(yuǎn)端特性

0x08

連接超時(shí)

0x1B

拒絕SCO補(bǔ)償

0x09

最大連接數(shù)

0x1C

拒絕SCO間歇模式

0x0A

連接到設(shè)備A的最大SCO連接數(shù)

0x1D

拒絕SCO無線模式

0x0B

ACL連接已存在

0x1E

非法鏈路管理參數(shù)

0x0C

指令非法

0x1F

未特別指明錯(cuò)誤

0x0D

由于資源有限,主機(jī)被拒絕

0x20

不支持鏈路管理器協(xié)議參數(shù)

0x0E

由于安全原因,主機(jī)被拒絕

0x21

不允許角色改變

0x0F

由于遠(yuǎn)端設(shè)備單連接設(shè)備,主機(jī)拒絕

0x22

鏈路管理響應(yīng)超時(shí)

0x10

主機(jī)超時(shí)

0x23

鏈路管理錯(cuò)誤處理事務(wù)沖突

0x11

不支持特性或參數(shù)值

0x24

不允許LMP PDU

0x12

非法主機(jī)控制接口指令

0x25~0xFF

保留

0x13

由于另一端引起連接中斷:用戶中斷連接

 

 

二、邏輯鏈路控制與適配協(xié)議  L2CAPL2CAP位于基帶之上,將基帶的數(shù)據(jù)分組轉(zhuǎn)換為便于高層應(yīng)用的數(shù)據(jù)分組格式,并提供協(xié)議復(fù)用和服務(wù)質(zhì)量交換等功能。L2CAP只支持ACL數(shù)據(jù)傳輸,不支持SCO數(shù)據(jù)。L2CAP本身不提供加強(qiáng)信道可靠性和保證數(shù)據(jù)完整性的機(jī)制,其信道的可靠性依靠基帶提供。

1、協(xié)議復(fù)用:底層傳輸協(xié)議沒有提供對(duì)高層協(xié)議的復(fù)用機(jī)制,因而L2CAP支持高層協(xié)議復(fù)用,L2CAP層可以區(qū)分其上的SDP、RFCOMM、TCS等。

2、分段重組:L2CAP層幫助實(shí)現(xiàn)基帶的短PDU和高層的長PDU相互傳輸,L2CAP本身不完成任何PDU的分段重組,具體的分段重組有低層和高層來完成。

3、服務(wù)質(zhì)量 Qualityof Serivce 信息的交換:藍(lán)牙建立連接的過程中,L2CAP允許交互藍(lán)牙所期望的服務(wù)質(zhì)量,建立完成后,通過監(jiān)視資源的使用情況,來保證服務(wù)質(zhì)量。

4、組抽象:L2CAP忽略地址組概念,他只關(guān)心數(shù)據(jù)。

L2CAP信道有三種類型:

A、面向連接信道:Connection-OrientedCO,用于兩個(gè)設(shè)備之間的數(shù)據(jù)通信。

B、無連接信道:Connection-LessCL,用來向一組設(shè)備廣播方式傳輸數(shù)據(jù)。CID為固定值:0x0002。

C、信令信道:Signaling,用于創(chuàng)建CO通道,可以通過協(xié)商改變CO信道的特性。

CL信道的L2CAP_PDU

長度(2bytes)

信道ID(0x0002)

PSM(最小為2bytes)

有效載荷

PSM為 協(xié)議/服務(wù)復(fù)用器Protocol/Service Multiplexer,一般為SDP、RFCOMM、TCS等中介協(xié)議復(fù)用。小于0x1000的值,0x0001對(duì)應(yīng)SDP,0x0003對(duì)應(yīng)RFCOMM、0x0005對(duì)應(yīng)TCS。(1)、藍(lán)牙邏輯鏈路控制與適配協(xié)議信令:L2CAP的信令通道的CID為0x0001

信令指令分組:

長度(2byte)

CID(0x0001)

指令1

指令2

……………

指令n

L2CAP 分組頭部分

 

信令指令格式:

代碼(1byte)

標(biāo)識(shí)符(1byte)

長度(2byte)

數(shù)據(jù)

信令指令頭

如上圖所示,一條L2CAP信令,1為L2CAP分組頭,2為信令指令頭,3為數(shù)據(jù)部分。

L2CAP:

         Role:Master

         Address:11

         PDULength: 6  //指令的長度,值為06 00

         ChannelID: 0x0001  (Signaling)//L2CAP的信令通道,值為01 00

         Code:Information request//信息請(qǐng)求,值為0a

         Identifier:1//標(biāo)識(shí)符,值為01

         CommandLength: 2//命令長度,值為02 00

         InfoType:Extended features supported//02 00

所以這條指令完整的為:

06 00 01 00 0a 01 02 00 02 00

信令的其他操作如下:

L2CAP信令指令碼:

Code

Description

 

0x00

RESERVED

保留

0x01

Command reject

拒絕命令

0x02

Connection request

連接請(qǐng)求

0x03

Connection response

連接響應(yīng)

0x04

Configure request

配置請(qǐng)求

0x05

Configure response

配置響應(yīng)

0x06

Disconnection request

斷開請(qǐng)求

0x07

Disconnection response

斷開響應(yīng)

0x08

Echo request

 

0x09

Echo response

 

0x0A

Information request

信息請(qǐng)求

0x0B

Information response

信息響應(yīng)

1)、連接請(qǐng)求Connection_Request Code=0x02

代碼(0x02)

標(biāo)識(shí)符(1字節(jié))

長度(2字節(jié))

PSM(2字節(jié))

源CID(2字節(jié))

例如:SDP 連接請(qǐng)求

如上紅框所示:

代碼(0x02)

標(biāo)識(shí)符(1字節(jié))

長度(2字節(jié))

PSM(2字節(jié))

源CID(2字節(jié))

0x02

3

4

SDP

0x0040

2)、連接相應(yīng)Connection_Response Code=0x03

代碼(0x03)

標(biāo)識(shí)符

長度

目標(biāo)CID

源CID

結(jié)果

狀態(tài)

例如:SDP請(qǐng)求響應(yīng)

如上面紅框所示:

代碼(0x03)

標(biāo)識(shí)符

長度

目標(biāo)CID

源CID

結(jié)果

狀態(tài)

0x03

3

8

0x0040

0x0040

0x0000

 

(2)、MTU MAXIMUMTRANSMISSION UNIT最大傳輸單元

MTU最大傳輸單元,L2CAP應(yīng)用必須支持最小為48字節(jié)的MTU,默認(rèn)值為672

(3)、QoS 服務(wù)質(zhì)量

三、服務(wù)發(fā)現(xiàn)協(xié)議   SDP

SDP兩種服務(wù)發(fā)現(xiàn)模式:1)、服務(wù)搜索:查詢具有特定服務(wù)屬性的服務(wù);2)、服務(wù)瀏覽:簡單的瀏覽全部可用服務(wù)。(1)、PDU 格式:(協(xié)議數(shù)據(jù)單元)

PDU ID(1byte)

Transaction ID(2byte)

參數(shù)長度(2byte)

參數(shù)1

……

參數(shù)N

Header

 

不同PDU ID實(shí)現(xiàn)SDP的不同功能,概述如下表格:

Value

Parameter Descirption

 

0x00

Reserved 

保留

0x01

SDP_ErrorResponse

錯(cuò)誤響應(yīng)

0x02

SDP_ServiceSearchRequest

服務(wù)搜索請(qǐng)求

0x03

SDP_ServiceSearchResponse

服務(wù)搜索響應(yīng)

0x04

SDP_ServiceAttributeRequest

服務(wù)屬性請(qǐng)求

0x05

SDP_ServiceAttributeResponse

服務(wù)屬性響應(yīng)

0x06

SDP_ServiceSearchAttributeRequest

服務(wù)搜索屬性請(qǐng)求

0x07

SDP_ServiceSearchAttributeResponse

服務(wù)搜索屬性響應(yīng)

0x08-0xff

Reserved

保留

(2)、服務(wù)記錄表SDP的服務(wù)記錄表對(duì)每一個(gè)服務(wù)進(jìn)行描述,每條記錄包含服務(wù)句柄、一組服務(wù)屬性:

Service Record Attributes:服務(wù)記錄;Service Record Handle 服務(wù)句柄;Attribute 服務(wù)屬性;

四、串口仿真協(xié)議   RFCOMM

為建立在串口之上的傳統(tǒng)應(yīng)用提供環(huán)境接口,使他們可以做比較少協(xié)議改動(dòng)就可以在藍(lán)牙無線通信無線鏈路上工作。多路串口仿真是RFCOMM的重要功能,通過多路復(fù)用器(multiplexer),一條L2CAP鏈路可以同時(shí) 多個(gè)串行應(yīng)用。兩臺(tái)設(shè)備間的串口仿真:

RFCOMM 兩個(gè)藍(lán)牙設(shè)備之間可以支持多達(dá)60多路仿真串口。

RFCOMM幀類型如下:

SABM

異步平衡模式設(shè)置指令

UA

未加編號(hào)的確認(rèn)響應(yīng)

DM

斷開連接模式響應(yīng)

DISC

斷開連接指令

UIH

帶頭校驗(yàn)的未編號(hào)信息命令和響應(yīng)


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 莫力| 曲松县| 育儿| 怀远县| 哈尔滨市| 宜宾县| 张家口市| 准格尔旗| 罗田县| 阳西县| 泾源县| 鄂托克旗| 民和| 介休市| 平顺县| 南郑县| 东乡县| 天津市| 三台县| 定陶县| 丹凤县| 庄河市| 兰溪市| 江孜县| 云阳县| 宝鸡市| 澜沧| 泰安市| 西充县| 陆河县| 阿坝县| 修文县| 忻城县| 平乐县| 光泽县| 广南县| 迁安市| 牟定县| 金沙县| 溧水县| 石城县|