通訊協定
頻道
定義於 fuchsia.bluetooth/channel.fidl
用於傳送/接收封包的雙面管道。這個通訊協定也會
做為保持 Channel 開啟的權杖。關閉這個通訊協定 (並
巴西/EDR 頻道的相關 socket) 會關閉基礎模型。
頻道。
接收
等待傳入封包的掛鉤。只有一個Receive
可能是待處理狀態
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
| payload | Channel_Receive_Result | 
傳送
透過管道傳送多個資料封包。只有一個Send
可能是待處理狀態
要求
| 名稱 | 類型 | 
|---|---|
| packets | vector<Packet> | 
回應
| 名稱 | 類型 | 
|---|---|
| payload | Channel_Send_Result | 
WatchChannelParameters
針對 RFCOMM 管道,這項操作不會傳回,通話會停止運作 無限期。
針對 BR/EDR L2CAP 連線導向的頻道,目前 返回,然後通話會無限期停止。初始管道參數 提供管道為 fuchsia.bluetooth.bredr/Channel。
針對 LE L2CAP 連線導向頻道,第一次呼叫會 就會立即傳回管道遠端端的參數。 後續呼叫會一直維持到 ChannelParameters 變更,也就是 而且會傳回新參數,包括含有 未變更。
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
| payload | Channel_WatchChannelParameters_Result | 
結構
地址
在 fuchsia.bluetooth/address.fidl 中定義的
代表 48 位元的藍牙裝置位址。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| type | AddressType | 裝置位址類型。 | 無預設 | 
| bytes | uint8[6] | 裝置位址位元組 (按小端序排列)。 | 無預設 | 
布林值
定義於 fuchsia.bluetooth/deprecated.fidl
已淘汰
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| value | bool | 無預設 | 
Channel_Receive_Response
定義於 fuchsia.bluetooth/channel.fidl
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| packets | vector<Packet> | 無預設 | 
Channel_Send_Response
定義於 fuchsia.bluetooth/channel.fidl
<空白>
DeviceClass
定義於 fuchsia.bluetooth/device_class.fidl
「裝置/服務類別」是變數格式欄位,用來定義 藍牙裝置。位元欄位分為名為「主要服務類別」的區段, 「主要裝置類別」和「次要裝置類別」
請勿假設任何應用程式的特定功能或特性 僅根據納入在「主要」或「次要」類別中的裝置。若需更多資訊,請參閲 https://www.bluetooth.com/specifications/assigned-numbers/baseband.
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| value | uint32 | 無預設 | 
錯誤
定義於 fuchsia.bluetooth/deprecated.fidl
已淘汰 :改用通訊協定專屬的錯誤列舉
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| error_code | ErrorCode | 無預設 | |
| protocol_error_code | uint32 | 無預設 | |
| description | string? | 無預設 | 
HostId
系統用來識別主機轉接器的 64 位元不重複值。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| value | uint64 | 無預設 | 
Int8
定義於 fuchsia.bluetooth/deprecated.fidl
已淘汰
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| value | int8 | 無預設 | 
封包
定義於 fuchsia.bluetooth/channel.fidl
來自 遠端對等互連。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| packet | vector<uint8> | 無預設 | 
PeerId
系統用來識別對等互連裝置的 64 位元不重複值。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| value | uint64 | 無預設 | 
狀態
定義於 fuchsia.bluetooth/deprecated.fidl
已淘汰 - 使用通訊協定專屬的錯誤列舉和「error」語法
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| error | Error? | 無預設 | 
UInt16
定義於 fuchsia.bluetooth/deprecated.fidl
已淘汰
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| value | uint16 | 無預設 | 
烏伊德
定義於 fuchsia.bluetooth/uuid.fidl
以藍牙 UUID 以 128 位元標準格式表示。雖然藍牙標準支援 接線傳輸 16 和 32 位元短格式的 UUID,Fchsia FIDL 程式庫需要所有 UUID 以 128 位元的標準格式表示
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| value | uint8[16] | 以小端序順序的 UUID 位元組。 | 無預設 | 
ENUMS
AddressType 嚴格
類型:uint8
在 fuchsia.bluetooth/address.fidl 中定義的
| 名稱 | 值 | 說明 | 
|---|---|---|
| 公開 | 1 | LE 公開裝置位址或  | 
| 排名 | 2 | LE 私人或靜態隨機裝置位址。 | 
外觀彈性
類型:uint16
定義於 fuchsia.bluetooth/appearance.fidl
LE Appearance 屬性的可能值,用來說明外部 顯示在高層級的同類應用程式 (請參閱藍牙指派號碼文件: https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.gap.appearance.xml) 這類列舉可彈性調整,因為新版裝置可能會使用新的外觀值, 編號文件可能包含其他項目。
| 名稱 | 值 | 說明 | 
|---|---|---|
| 不明 | 0 | |
| 手機 | 64 | |
| 電腦 | 128 | |
| 觀看 | 192 | |
| WATCH_SPORTS | 193 | |
| 時鐘 | 256 | |
| 顯示形式 | 320 | |
| REMOTE_CONTROL | 384 | |
| EYE_GLASSES | 448 | |
| 代碼 | 512 | |
| 鑰匙 | 576 | |
| MEDIA_PLAYER | 640 | |
| BARCODE_SCANNER | 704 | |
| 溫度控制器 | 768 | |
| THERMOMETER_EAR | 769 | |
| HEART_RATE_SENSOR | 832 | |
| HEART_RATE_SENSOR_BELT | 833 | |
| BLOOD_PRESSURE | 896 | |
| BLOOD_PRESSURE_ARM | 897 | |
| BLOOD_PRESSURE_WRIST | 898 | |
| HID | 960 | |
| HID_KEYBOARD | 961 | |
| HID_MOUSE | 962 | |
| HID_JOYSTICK | 963 | |
| HID_GAMEPAD | 964 | |
| HID_DIGITIZER_TABLET | 965 | |
| HID_CARD_READER | 966 | |
| HID_DIGITAL_PEN | 967 | |
| HID_BARCODE_SCANNER | 968 | |
| GLUCOSE_METER | 1024 | |
| RUNNING_WALKING_SENSOR | 1088 | |
| RUNNING_WALKING_SENSOR_IN_SHOE | 1089 | |
| RUNNING_WALKING_SENSOR_ON_SHOE | 1090 | |
| RUNNING_WALKING_SENSOR_ON_HIP | 1091 | |
| 騎自行車 | 1152 | |
| CYCLING_COMPUTER | 1153 | |
| CYCLING_SPEED_SENSOR | 1154 | |
| CYCLING_CADENCE_SENSOR | 1155 | |
| CYCLING_POWER_SENSOR | 1156 | |
| CYCLING_SPEED_AND_CADENCE_SENSOR | 1157 | |
| PULSE_OXIMETER | 3136 | |
| PULSE_OXIMETER_FINGERTIP | 3137 | |
| PULSE_OXIMETER_WRIST | 3138 | |
| WEIGHT_SCALE | 3200 | |
| PERSONAL_MOBILITY | 3264 | |
| PERSONAL_MOBILITY_WHEELCHAIR | 3265 | |
| PERSONAL_MOBILITY_SCOOTER | 3266 | |
| GLUCOSE_MONITOR | 3328 | |
| SPORTS_ACTIVITY | 5184 | |
| SPORTS_ACTIVITY_LOCATION_DISPLAY | 5185 | |
| SPORTS_ACTIVITY_LOCATION_AND_NAV_DISPLAY | 5186 | |
| SPORTS_ACTIVITY_LOCATION_POD | 5187 | |
| SPORTS_ACTIVITY_LOCATION_AND_NAV_POD | 5188 | 
AssignCodingFormat 彈性
類型:uint8
定義於 fuchsia.bluetooth/coding_format.fidl
由藍牙 SIG 指定的編碼格式 (請參閱「指派號碼」文件瞭解值): https://www.bluetooth.com/specifications/assigned-numbers/
| 名稱 | 值 | 說明 | 
|---|---|---|
| U_LAW_LOG | 0 | |
| A_LAW_LOG | 1 | |
| CVSD | 2 | |
| 資訊公開 | 3 | |
| LINEAR_PCM | 4 | |
| MSBC | 5 | |
| LC3 | 6 | |
| G_729A | 7 | 
ChannelMode 彈性
類型:uint32
定義於 fuchsia.bluetooth/channel.fidl
L2CAP 頻道支援的管道作業模式。
如為 BR/EDR,用於指定偏好和接受的 L2CAP 管道 。如果對等連線拒絕非基本模式,藍牙系統就會 就會試著以基本模式開啟管道
如果是 LE,這個值可用於指定要使用的確切管道模式 (如果 對等點拒絕要求的模式,管道就無法建立。
如需每種模式的說明,請參閱「藍牙規格 v5.4」、「Vol 3」,第 3 部分、第 2.4 節。
| 名稱 | 值 | 說明 | 
|---|---|---|
| BASIC | 1 | 僅限巴西/EDR。 | 
| ENHANCED_RETRANSMISSION | 2 | 僅限巴西/EDR。 | 
| LE_CREDIT_BASED_FLOW_CONTROL | 3 | 僅限 LE。 | 
| ENHANCED_CREDIT_BASED_FLOW_CONTROL | 4 | 僅限 LE。 | 
ConnectionRole 嚴格
類型:uint32
定義於 fuchsia.bluetooth/connection_role.fidl
指的是藍牙裝置 (本機或對等) 在實體通路中的角色。詳情請見 藍牙詞彙指南 瞭解詳情
| 名稱 | 值 | 說明 | 
|---|---|---|
| 領先 | 1 | 定義 BR/EDR 或 「啟動中」使用 LE。 | 
| 追蹤者 | 2 | 與 BR/EDR 或 「廣告」使用 LE。 | 
DataDirection 嚴格
類型:uint8
定義於 fuchsia.bluetooth/coding_format.fidl
用於表示串流中的資料方向。請注意,這些值不會對應到常數 例如藍牙核心規格
| 名稱 | 值 | 說明 | 
|---|---|---|
| 輸入 | 1 | 主機 =>控制器 | 
| 輸出 | 2 | 控制器 =>代管者 | 
ErrorCode 嚴格
類型:uint32
定義於 fuchsia.bluetooth/deprecated.fidl
已淘汰 - 改用通訊協定專屬的錯誤列舉和 zx.Status
| 名稱 | 值 | 說明 | 
|---|---|---|
| 不明 | 0 | |
| 失敗 | 1 | |
| 已取消 | 2 | |
| IN_PROGRESS | 3 | |
| TIMED_OUT | 4 | |
| NOT_FOUND | 5 | |
| NOT_SUPPORTED | 6 | |
| BLUETOOTH_NOT_AVAILABLE | 7 | |
| BAD_STATE | 8 | |
| INVALID_ARGUMENTS | 9 | |
| 已經 | 10 | |
| PROTOCOL_ERROR | 11 | 
LogicalTransportType 彈性
類型:uint8
定義於 fuchsia.bluetooth/coding_format.fidl
可與已編碼資料串流搭配使用的邏輯傳輸類型。請注意,這些值 未對應於藍牙核心規格的常數,也不是 BR/EDR 值 。
| 名稱 | 值 | 說明 | 
|---|---|---|
| LE_CIS | 1 | 左岸 | 
| LE_BIS | 2 | LE BBI | 
資料表
ChannelParameters
定義於 fuchsia.bluetooth/channel.fidl
要使用的參數組合,或用於建立 L2CAP 的參數 互動導向管道。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | channel_mode | ChannelMode | 選用。 如為巴西/EDR:如未提供,系統會使用基本資料。 LE:如未提供,系統會使用 LE_CREDIT_BASED_FLOW_CONTROL。 | 
| 2 | max_rx_packet_size | uint16 | 這個設定檔接受的封包大小上限。必須大於或等於 48。 選用。如未提供,尺寸取決於藍牙 有些人會將 Cloud Storage 視為檔案系統 但實際上不是系統不會針對所選大小提供任何保證。 | 
| 3 | security_requirements | SecurityRequirements | BR/EDR:最低安全性要求必須連結才能進行 這裡提供的規定將是 嘗試分享的訊息。如為同業 無法提供相關規定,代表管道已關閉。 選用。如未提供,將保證唯一保證 就是加密 LE:請勿使用, | 
| 4 | flush_timeout | zx/Duration | 針對 BR/EDR:清除逾時時間代表 資料封包被捨棄之前,必須在控制器中緩衝處理。 可使用無限量的清除逾時,將封包標示為可清除 而非特定清除逾時時間 範圍:1 毫秒至 1,279 毫秒 (或 ∞)。無條件捨去。 選用。如未提供,則不會發生清除逾時情況,且封包便無法清除。 LE:請勿使用, | 
CodecAttributes
定義於 fuchsia.bluetooth/coding_format.fidl
識別可能與資料串流使用的轉碼器及其設定。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | codec_id | CodecId | 編碼格式。 必填。 | 
| 2 | codec_configuration | vector<uint8> | 設定資料。 視需要使用 (視所使用的轉碼器而定)。 | 
SecurityRequirements
定義於 fuchsia.bluetooth/channel.fidl
存取廣告所宣傳服務的驗證和權限需求。 僅限巴西/EDR。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | authentication_required | bool | 如果具有「而且」和「是」屬性,則必須以下列方法驗證實體連結: 攻擊路徑上攻擊者的保護,以存取此服務。如果缺少 不需要驗證 | 
| 2 | secure_connections_required | bool | 如果存在且為 true,實體連結就必須以安全的方式加密 如果主機支援這項服務,就會建立連線金鑰以存取這項服務。 如果主機不支援安全連線,廣告就會失敗。 詳情請參閱「藍牙規格 v5.2, Vol 3, Part C, Sec 5.2.2.8」。 | 
VendorCodingFormat
定義於 fuchsia.bluetooth/coding_format.fidl
供應商定義的編碼格式。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | company_id | uint16 | 公司 ID (如需關於值的數字,請參閱「指派的號碼」文件) https://www.bluetooth.com/specifications/assigned-numbers/ 這是必要項目。 | 
| 2 | vendor_id | uint16 | 供應商定義的轉碼器 ID。 必填。 | 
聯合國
Channel_Receive_Result 嚴格
定義於 fuchsia.bluetooth/channel.fidl
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | Channel_Receive_Response | |
| 3 | framework_err | internal | 
Channel_Send_Result 嚴格
定義於 fuchsia.bluetooth/channel.fidl
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | Channel_Send_Response | |
| 3 | framework_err | internal | 
Channel_WatchChannelParameters_Result 嚴格
定義於 fuchsia.bluetooth/channel.fidl
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | ChannelParameters | |
| 3 | framework_err | internal | 
CodecId 彈性
定義於 fuchsia.bluetooth/coding_format.fidl
指定編碼格式。
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | assigned_format | AssignedCodingFormat | 藍牙 SIG 定義的編碼格式。 | 
| 2 | vendor_format | VendorCodingFormat | 供應商定義的編碼格式。 | 
觀測站
| 名稱 | 值 | 類型 | 說明 | 
|---|---|---|---|
| MAJOR_DEVICE_CLASS_AUDIO_VIDEO | 1024 | uint32 | |
| MAJOR_DEVICE_CLASS_COMPUTER | 256 | uint32 | |
| MAJOR_DEVICE_CLASS_HEALTH | 2304 | uint32 | |
| MAJOR_DEVICE_CLASS_IMAGING | 1536 | uint32 | |
| MAJOR_DEVICE_CLASS_LAN | 768 | uint32 | |
| MAJOR_DEVICE_CLASS_MASK | 7936 | uint32 | 主要裝置類別欄位的常數。主要裝置類別是由位元 12-8 定義。 | 
| MAJOR_DEVICE_CLASS_MISCELLANEOUS | 0 | uint32 | |
| MAJOR_DEVICE_CLASS_PERIPHERAL | 1280 | uint32 | |
| MAJOR_DEVICE_CLASS_PHONE | 512 | uint32 | |
| MAJOR_DEVICE_CLASS_TOY | 2048 | uint32 | |
| MAJOR_DEVICE_CLASS_UNCATEGORIZED | 7936 | uint32 | |
| MAJOR_DEVICE_CLASS_WEARABLE | 1792 | uint32 | |
| MAX_DEVICE_NAME_LENGTH | 248 | uint8 | 裝置名稱的長度上限。系統是根據 HCI 和 GAP 選取這個值 規格(v5.2, Vol 4, Part E, 7.3.11 and Vol 3, Part C, 12.1」)。 | 
| UUID_STRING_REPRESENTATION_LENGTH | 36 | uint8 | UUID 的標準字串表示法大小。這個值是根據標準網址 IETF RFC4122 第 3 節中定義的 36 個字元 8-4-4-4-12 格式。 | 
ALIASES
| 名稱 | 值 | 說明 | 
|---|---|---|
| DeviceName | string[MAX_DEVICE_NAME_LENGTH] | 藍牙裝置名稱的別名。 | 
| PeerIdString | string[16] | 已淘汰 - 請改用 fuchsia.bluetooth/PeerId | 
| UuidString | string[UUID_STRING_REPRESENTATION_LENGTH] | 已淘汰 - 請改用 fuchsia.bluetooth/Uuid |