通訊協定
AdvertisedPeripheral
定義於 fuchsia.bluetooth.le/peripheral.fidl
適用於廣告期間有效的通訊協定。來電者可以關閉 以便停止刊登廣告如果系統內部停止刊登廣告 通訊協定將關閉,以便與 用戶端。
OnConnected
遠端 LE 中心連線至這個週邊裝置時呼叫 可連線廣告是透過 fuchsia.bluetooth.le/Peripheral.Advertise.通話開始時 系統已暫停放送廣告,直到系統暫停為止 就會收到回應
傳回的 fuchsia.bluetooth.le/Connection 通訊協定可用於 可與對等互連應用程式互動這也代表了周邊裝置在 用戶端可以捨棄通訊協定,以要求 同樣地,系統會關閉通訊協定 表示對等點連線已中斷。
- 要求
peer
啟動 以獲得最佳效能和最安全的連線 - 要求
connection
代表連線。
- 則應傳送空白回應來確認 連線並繼續放送廣告 (用於流量控制)。
要求
名稱 | 類型 |
---|---|
peer |
Peer
|
connection |
Connection
|
回應
<空白>
AdvertisingHandle
定義於 fuchsia.bluetooth.le/peripheral.fidl
適用於廣告期間的有效功能。呼叫端可關閉控制代碼, 停止刊登廣告。若系統基於任何原因在內部停止刊登廣告,帳號代碼會是 向客戶說明這項功能
中部
定義於 fuchsia.bluetooth.le/central.fidl
連線
使用指定 ID 連線至對等互連。
要求的 fuchsia.bluetooth.le/Connection 代表 客戶對 LE 與對等點的連線感興趣。關閉管道 移除興趣,但若其他用戶端則不會導致影片中斷 具備同一對等點的有效 fuchsia.bluetooth.le/Connection。
fuchsia.bluetooth.le/Connection handle
將關閉
系統傳送回應。
伺服器可能會在發生錯誤時傳送下列組別:
-
INVALID_ARGS
:部分參數無效。 -
ALREADY_BOUND
:這個中心已有對等點連線。現有 應使用連線。 -
NOT_CONNECTED
:無法建立連線。 -
CONNECTION_RESET
:對等點已中斷連線。 -
要求要建立連線的對等點 ID 為
id
。 -
要求
options
用來設定連線的選項。 -
要求
handle
在這個期間內仍有效的控制代碼 以獲得最佳效能和最安全的連線
要求
名稱 | 類型 |
---|---|
id |
fuchsia.bluetooth/PeerId
|
options |
ConnectionOptions
|
handle |
server_end<Connection>
|
ConnectPeripheral
使用指定 ID 建立連至週邊裝置的連線。
傳回 status
中的作業狀態。
成功之後,gatt_client
就會繫結,且可用於 GATT 用戶端
角色程序。失敗時,「gatt_client
」將關閉,status
會
則表示錯誤。
已淘汰 - 請改用連線
要求
名稱 | 類型 |
---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
options |
ConnectionOptions
|
gatt_client |
server_end<fuchsia.bluetooth.gatt/Client>
|
回應
名稱 | 類型 |
---|---|
status |
fuchsia.bluetooth/Status
|
DisconnectPeripheral
中斷這個中央中心與指定 ID 週邊裝置的連線。
已淘汰
要求
名稱 | 類型 |
---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
回應
名稱 | 類型 |
---|---|
status |
fuchsia.bluetooth/Status
|
GetPeripheral
Fchsia 核心堆疊並未實作這個方法(https://fxbug.dev/42087303)
傳回系統從先前掃描到已知單一週邊裝置的相關資訊。
擷取及/或繫結程序。如果
無法辨識 identifier
。
已淘汰
要求
名稱 | 類型 |
---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
回應
名稱 | 類型 |
---|---|
peripheral |
RemoteDevice?
|
GetPeripherals
傳回系統從先前的掃描作業、連線、 和/或綁定程序系統可以根據服務的 UUID 來篩選結果 都可能有關聯
這個方法只會傳回週邊裝置 (例如可連線的裝置),
已淘汰
要求
名稱 | 類型 |
---|---|
service_uuids |
vector<string>?
|
回應
名稱 | 類型 |
---|---|
peripherals |
vector<RemoteDevice>
|
ListenL2cap
為傳入的頻道註冊事件監聽器。登錄檔會指派
本機裝置專屬的 PSM 值,以及開啟
ChannelListener,用於接受傳入的頻道。極低
未指派所有 PSM,此呼叫就會失敗,並顯示
ZX_ERR_NO_RESOURCES
。
請注意,探索或廣告服務的方式 因此呼叫端應負責 將指派的 PSM 傳達給任何用戶端。
要求
名稱 | 類型 |
---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
回應
名稱 | 類型 |
---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
OnDeviceDiscovered
對在掃描工作階段中發現的每個週邊裝置/廣播器呼叫。rssi
包含產生此事件的廣告封包所接收的信號強度 (如果
廣告。
已淘汰
回應
名稱 | 類型 |
---|---|
device |
RemoteDevice
|
OnPeripheralDisconnected
在這個中心連線至具有指定 ID 的周邊裝置時呼叫。
已淘汰
回應
名稱 | 類型 |
---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
OnScanStateChanged
在掃描狀態變更時呼叫,例如:當掃描工作階段因呼叫 Central.StopScan() 或其他非預期的條件。
已淘汰
回應
名稱 | 類型 |
---|---|
scanning |
bool
|
掃描
掃描附近的 LE 週邊裝置和電視台。如果無法掃描
開始後,「result_watcher
」將以一組憑證關閉。
中央用戶端一次只能執行一項掃描作業。 因此,一次只能處理一項掃描要求。 無法再對掃描進行呼叫。
掃描工作階段的生命週期會與 result_watcher
相連結
提供的通訊協定如果管道已關閉,掃描作業就會停止。
掃描開始後,fuchsia.bluetooth.le/ScanResultWatcher 可用於監看掃描結果
- 要求
options
用於設定掃描工作階段的選項。 - 要求
result_watcher
效期內仍然有效的通訊協定 。
- 系統會傳送空白回應,用來確認掃描作業 已停止。
伺服器可能會在發生錯誤時傳送下列組別:
- 錯誤
ALREADY_EXISTS
:掃描作業正在進行中。每Central
通訊協定僅允許 1 項有效掃描作業。 - 錯誤
INVALID_ARGS
:部分掃描作業options
無效。詳情請參閱ScanOptions
說明文件。 - 錯誤
INTERNAL
:發生內部錯誤,因此無法掃描 已開始。
要求
名稱 | 類型 |
---|---|
options |
ScanOptions
|
result_watcher |
server_end<ScanResultWatcher>
|
回應
<空白>
StartScan
啟動鄰近週邊裝置和電視台的掃描工作階段。偵測到的裝置會是
回報時是透過 CentralDelegate.OnDeviceDiscovered() 回報。如果掃描工作階段正在進行中,
「filter
」將取代現有工作階段的篩選器。
如果 filter
為空值或空白 (也就是沒有任何未填入的欄位),代表委派代表
則在找到所有可探索裝置時會收到通知。我們不建議這麼做;客戶
通常應使用至少一項 filter.service_uuids
篩選結果。
filter.service_data
和/或 filter.manufacturer_identifier
。
已淘汰 - 請改用掃描功能
要求
名稱 | 類型 |
---|---|
filter |
ScanFilter?
|
回應
名稱 | 類型 |
---|---|
status |
fuchsia.bluetooth/Status
|
StopScan
終止先前啟動的掃描工作階段。
已淘汰
要求
<空白>
ChannelListener
定義於 fuchsia.bluetooth.le/l2cap.fidl
代表接受傳入管道要求的服務或通訊協定。 系統會透過這個方式連結相關聯 PSM 的連入管道要求 因此效能相當卓越如果關閉這項通訊協定,系統也會停止接收任何收到的資料 管道要求,但既有頻道則不受影響。 此外,這項通訊協定關閉後, 重複使用先前為這個執行個體指派的 PSM
接受
要求
名稱 | 類型 |
---|---|
channel |
fuchsia.bluetooth/Channel
|
回應
名稱 | 類型 |
---|---|
payload |
ChannelListener_Accept_Result
|
ChannelListenerRegistry
定義於 fuchsia.bluetooth.le/l2cap.fidl
代表在以下項目中註冊及接受傳入連線的能力 互動導向管道。
ListenL2cap
為傳入的頻道註冊事件監聽器。登錄檔會指派
本機裝置專屬的 PSM 值,以及開啟
ChannelListener,用於接受傳入的頻道。極低
未指派所有 PSM,此呼叫就會失敗,並顯示
ZX_ERR_NO_RESOURCES
。
請注意,探索或廣告服務的方式 因此呼叫端應負責 將指派的 PSM 傳達給任何用戶端。
要求
名稱 | 類型 |
---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
回應
名稱 | 類型 |
---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
CodecDelay
定義於 fuchsia.bluetooth.le/codec_delay.fidl
此通訊協定允許我們擷取控制器本機延遲值。這不應是為了 ,由需要存取這類資訊的通訊協定組成。
GetCodecLocalDelayRange
針對提供的串流指定的轉碼器擷取控制器延遲的範圍 屬性。
成功後,系統會傳回允許的最短和最長延遲時間。
如果無法讀取延遲,則傳回 ZX_ERR_NOT_SUPPORTED。 如果發生其他失敗情形,則傳回 ZX_ERR_INTERNAL。
要求
名稱 | 類型 |
---|---|
payload |
CodecDelayGetCodecLocalDelayRangeRequest
|
回應
名稱 | 類型 |
---|---|
payload |
CodecDelay_GetCodecLocalDelayRange_Result
|
連線
定義於 fuchsia.bluetooth.le/peer.fidl
代表對等點連線的通訊協定。這個 ID 可用於與 GATT 互動 以及建立 L2CAP 頻道
這項能力的生命週期會與其所代表的 LE 連線相關。為 如果沒有其他用戶端與同一個對等點連線,就會發生管道中斷的情況。
AcceptCis
日後接受對等點具有指定 CIG/CIS 值的 CIS 要求。所有語言 系統會拒絕未明確允許的 CIS 要求。
提供的 IsochronousStream 將用於日後的已知通知 連線狀態。
主機可以同時等待多個連入連線, 必須具備這個連線專屬的 CIG/CIS 值組合。
如未在這項連線中處理週邊裝置,Connection_stream 將會結束,並加上 ZX_ERR_NOT_SUPPORTED 憑證。
如果我們正在等待與相同 CIG/CIS 組合的其他連線 值,Connection_stream 將以 ZX_ERR_INVALID_ARGS epitaph 關閉。
要求
名稱 | 類型 |
---|---|
payload |
ConnectionAcceptCisRequest
|
ConnectL2cap
連線至 L2CAP LE 連線導向管道。
要求
名稱 | 類型 |
---|---|
payload |
ConnectionConnectL2capRequest
|
GetCodecLocalDelayRange
針對提供的串流指定的轉碼器擷取控制器延遲的範圍 屬性。
成功後,系統會傳回允許的最短和最長延遲時間。
如果無法讀取延遲,則傳回 ZX_ERR_NOT_SUPPORTED。 如果發生其他失敗情形,則傳回 ZX_ERR_INTERNAL。
要求
名稱 | 類型 |
---|---|
payload |
CodecDelayGetCodecLocalDelayRangeRequest
|
回應
名稱 | 類型 |
---|---|
payload |
CodecDelay_GetCodecLocalDelayRange_Result
|
RequestGattClient
伺服器可能會在發生錯誤時傳送下列組別:
ZX_ERR_ALREADY_BOUND
:已繫結至這個連線的用戶端伺服器 因此效能相當卓越應使用現有的用戶端。
要求
名稱 | 類型 |
---|---|
client |
server_end<fuchsia.bluetooth.gatt2/Client>
|
IsochronousStream
定義於 fuchsia.bluetooth.le/iso.fidl
OnEstablished
在 CIS 成立時通知客戶,由中央人員啟動 (來自 CigServer::CreateCis()) 或 Peripheral (來自 CisRequestManager::Accept())。
回應
名稱 | 類型 |
---|---|
payload |
IsochronousStreamOnEstablishedRequest
|
已讀
從輸出 (控制器 => 主機) 接收已建立的 ISO 串流 設定。需搭配懸掛式取得圖案使用。
可在建立並設定 ISO 資料串流前叫用,但無法叫用 直到設定完成並接收資料為止。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
IsochronousStream_Read_Result
|
SetupDataPath
使用指定的參數建立偶數資料路徑。僅限頻內 (HCI) ISO 目前支援傳輸功能。
如果已為此建立 ISO 串流,則傳回 ZX_ERR_ALREADY_EXISTS 往上移動即可
如果在 CIS 要求之前已在周邊裝置上發出,會傳回 ZX_ERR_BAD_STATE 接受。
如果轉碼器引數無效或位於 控制器支援的範圍
要求
名稱 | 類型 |
---|---|
payload |
IsochronousStreamSetupDataPathRequest
|
回應
名稱 | 類型 |
---|---|
payload |
IsochronousStream_SetupDataPath_Result
|
周邊裝置
定義於 fuchsia.bluetooth.le/peripheral.fidl
刊登廣告
以 LE 週邊裝置持續放送廣告。如果廣告無法
啟動之後,「advertised_peripheral
」將會關閉,並出現錯誤
。
此方法呼叫的次數沒有限制。如何重新設定 請先關閉原始廣告再啟動 則會傳回空的回應。
如果客戶關閉 fuchsia.bluetooth.le/AdvertisedPeripheral 管道, 廣告也會停止如果帳號代碼在要求前就關閉 廣告放送時,廣告可能會短暫啟用再放送 已經終止。通告的周邊裝置生命週期受限於 週邊裝置通訊協定,但日後可能會有變動 (https://fxbug.dev/42157682).
- 要求
parameters
設定廣告時使用的參數 執行個體。 - 要求
advertised_peripheral
通訊協定 保持不變
- 回應:廣告會在廣播時傳送空白的回應
已成功停止 (由於「
advertised_peripheral
」已釋出) 通訊協定)。避免重複放送類似的廣告和暫時性廣告 錯誤的廣告資源有限,請等待 建議在再次呼叫Advertise
前完成。
- 如果發生錯誤,
advertised_peripheral
將會關閉,並 即將退回PeripheralError
。
要求
名稱 | 類型 |
---|---|
parameters |
AdvertisingParameters
|
advertised_peripheral |
AdvertisedPeripheral
|
回應
名稱 | 類型 |
---|---|
payload |
Peripheral_Advertise_Result
|
ListenL2cap
為傳入的頻道註冊事件監聽器。登錄檔會指派
本機裝置專屬的 PSM 值,以及開啟
ChannelListener,用於接受傳入的頻道。極低
未指派所有 PSM,此呼叫就會失敗,並顯示
ZX_ERR_NO_RESOURCES
。
請注意,探索或廣告服務的方式 因此呼叫端應負責 將指派的 PSM 傳達給任何用戶端。
要求
名稱 | 類型 |
---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
回應
名稱 | 類型 |
---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
OnPeerConnected
在遠端 LE 中心啟動與這個週邊裝置的連線時傳送的事件 可連線廣告是透過 fuchsia.bluetooth.le/Peripheral.StartAdvertising.
傳回的 fuchsia.bluetooth.le/Connection 處理常式可用於與 。這也代表週邊裝置透過連線的擁有權:用戶端可以捨棄 來要求中斷連線的控制代碼。同樣地,系統會關閉帳號代碼, 表示對等點連線已中斷。
- 要求
peer
啟動連線的核心相關資訊。 - 要求
connection
代表連線。
已淘汰 - 請改用 PromodPeripheral.OnConnected
回應
名稱 | 類型 |
---|---|
peer |
Peer
|
connection |
Connection
|
StartAdvertising
以 LE 週邊裝置形式開始放送廣告。送出空白回應,表示廣告需要放送 。如果無法啟動廣告,則回應會 包含 fuchsia.bluetooth.le/PeripheralError。
此方法可能會呼叫任意次數,並能對後續呼叫發出呼叫 重新設定廣告參數。但僅限最近 fuchsia.bluetooth.le/AdvertisingHandle 仍有效。
fuchsia.bluetooth.le/Peripheral 只有在以下位置才能有一個有效廣告: 時間。用戶端必須同時取得多個週邊裝置的執行個體 廣告。
如果客戶關閉 fuchsia.bluetooth.le/AdvertisingHandle 管道結束: 廣告也會停止如果帳號代碼在要求完成前關閉, 並在實際終止前短暫啟用。
- 要求
parameters
參數,用來設定廣告執行個體。 - 要求
handle
控制代碼在此廣告工作階段期間仍然有效。
- 如果無法放送廣告,則會傳回 fuchsia.bluetooth.le/PeripheralError
已啟動。在這種情況下,
handle
將會關閉。
已淘汰
要求
名稱 | 類型 |
---|---|
parameters |
AdvertisingParameters
|
handle |
server_end<AdvertisingHandle>
|
回應
名稱 | 類型 |
---|---|
payload |
Peripheral_StartAdvertising_Result
|
ScanResultWatcher
定義於 fuchsia.bluetooth.le/central.fidl
代表執行中的掃描程序。這個通訊協定在
也可用於取得掃描結果客戶可以
關閉通訊協定即可停止掃描。如果系統停止掃描,
系統將結束通訊協定 (加上 Epitaph CANCELED
),以便通訊對象
用戶端。
觀看
傳回所有符合篩選條件的 LE 對等體清單
ScanOptions
。第一個回應會傳回找到相符的結果
在整個同業中只有在同儕的情況下,後續通話才會收到回覆
未掃描或更新。如果第二次呼叫
有一通待回覆的通話正在等候期間,因此系統誤傳送 Watch
系統將取消通訊協定並關閉通訊協定。
- 回應
updated
自上次新增或更新的同類應用程式 呼叫 Watch()。
要求
<空白>
回應
名稱 | 類型 |
---|---|
updated |
vector<Peer>
|
結構
AdvertisingDataDeprecated
定義於 fuchsia.bluetooth.le/types_deprecated.fidl
代表由廣播業者或週邊裝置宣傳的廣告和掃描回應資料。
已淘汰 - 請改用 AdvertisingData
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
name |
fuchsia.bluetooth/DeviceName
|
裝置名稱。 |
無預設 |
tx_power_level |
fuchsia.bluetooth/Int8?
|
廣告中回報的無線電傳輸功率, |
無預設 |
appearance |
fuchsia.bluetooth/UInt16?
|
廣告中回報的外觀。 |
無預設 |
service_uuids |
vector<string>?
|
廣告中回報的服務 UUID 清單。 |
無預設 |
service_data |
vector<ServiceDataEntry>?
|
廣告中包含的服務資料。 |
無預設 |
manufacturer_specific_data |
vector<ManufacturerSpecificDataEntry>?
|
製造商專屬資料項目。 |
無預設 |
solicited_service_uuids |
vector<string>?
|
廣告中取得的服務 UUID。週邊裝置可邀請中央區域 公開某些服務,以便透過服務招攬來連線至這些服務。 |
無預設 |
uris |
vector<string>?
|
廣告封包中包含的 URI。 這些是完整的 URI (會自動編碼/解碼) |
無預設 |
ChannelListener_Accept_Response
定義於 fuchsia.bluetooth.le/l2cap.fidl
<空白>
IsochronousStream_SetupDataPath_Response
定義於 fuchsia.bluetooth.le/iso.fidl
<空白>
ManufacturerData
定義於 fuchsia.bluetooth.le/advertising_data.fidl
fuchsia.bluetooth.le/AdvertisingData 的 manufacturer_data
欄位。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
company_id |
uint16
|
無預設 | |
data |
vector<uint8>[252]
|
無預設 |
ManufacturerSpecificDataEntry
定義於 fuchsia.bluetooth.le/types_deprecated.fidl
已淘汰 - 請改用 ManufacturerData
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
company_id |
uint16
|
無預設 | |
data |
vector<uint8>
|
無預設 |
Peripheral_Advertise_Response
定義於 fuchsia.bluetooth.le/peripheral.fidl
<空白>
Peripheral_StartAdvertising_Response
定義於 fuchsia.bluetooth.le/peripheral.fidl
<空白>
RemoteDevice
定義於 fuchsia.bluetooth.le/types_deprecated.fidl
代表遠端藍牙低功耗裝置。遠端裝置可以代表中央 廣播器或週邊裝置 (視接收來源的 API 而定)。
已淘汰 - 請改用對等點
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
可在目前系統中識別這部裝置的專屬 ID。 |
無預設 |
connectable |
bool
|
是否可連接這部裝置。無法連線的裝置通常是在 LE 廣播員角色。 |
無預設 |
rssi |
fuchsia.bluetooth/Int8?
|
本裝置最近一次已知的 RSSI (如果已知)。 |
無預設 |
advertising_data |
AdvertisingDataDeprecated?
|
如果這部裝置是廣播器或週邊裝置,此裝置會廣播廣告資料。 |
無預設 |
ScanFilter
定義於 fuchsia.bluetooth.le/types_deprecated.fidl
篩選掃描時使用的參數。系統會回報找到的周邊裝置或電視台 應用程式只有在符合所有提供的篩選器參數的情況下才會執行。空值欄位將 已忽略。
已淘汰 - 請改用篩選器
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
service_uuids |
vector<string>?
|
依據通告的服務 UUID 篩選。宣傳以下至少一種產品的周邊裝置:
「 |
無預設 |
service_data_uuids |
vector<string>?
|
依據含有其中一個指定 UUID 的服務資料篩選。 |
無預設 |
manufacturer_identifier |
fuchsia.bluetooth/UInt16?
|
根據製造商資料中呈現的公司 ID 進行篩選。如果這個篩選器參數 設定後,廣告酬載必須包含製造商特定資料,以及提供的 來滿足這個篩選器的需求 |
無預設 |
connectable |
fuchsia.bluetooth/Bool?
|
依據裝置是否可連線進行篩選。舉例來說,如果用戶端 連線至週邊裝置,即可將此設定設為 true。同樣地,用戶端可以 將此項目設為 false,即可只掃描棕色片。 |
無預設 |
name_substring |
fuchsia.bluetooth/DeviceName
|
根據部分宣傳裝置名稱篩選結果。 |
無預設 |
max_path_loss |
fuchsia.bluetooth/Int8?
|
根據無線電波的路徑損失篩選結果。符合這項篩選條件的裝置就必須 滿足以下條件:
|
無預設 |
ServiceData
定義於 fuchsia.bluetooth.le/advertising_data.fidl
fuchsia.bluetooth.le/AdvertisingData 的 service_data
欄位。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
uuid |
fuchsia.bluetooth/Uuid
|
無預設 | |
data |
vector<uint8>[252]
|
無預設 |
ServiceDataEntry
定義於 fuchsia.bluetooth.le/types_deprecated.fidl
已淘汰 - 請改用 ServiceData
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
uuid |
fuchsia.bluetooth/UuidString
|
無預設 | |
data |
vector<uint8>
|
無預設 |
ENUMS
AdvertisingModeHint 嚴格
類型:uint8
定義於 fuchsia.bluetooth.le/peripheral.fidl
用戶端可以指定模式,藉此指出廣告封包的傳輸速率。 模式以廣告間隔設定控制器時, 視窗參數。
模式會影響掃描器或中央裝置發現週邊裝置的速度;但是 可能會對耗電量產生不利影響。在此情況下,系統會根據客戶的 但不保證會如此。
名稱 | 值 | 說明 |
---|---|---|
VERY_FAST |
1 |
廣告的時間間隔和時間非常短,觀眾可以快速瀏覽廣告,但是費用會較高, 比較耗電這相當於 100 萬個 PHY 的 30 到 60 毫秒,而 編碼為 PHY。 |
快速 |
2 |
廣告會以短時間間隔和時段用電比 |
SLOW |
3 |
以中等間隔和期間的廣告進行宣傳。這相當於 100 萬個 PHY 和 3 的 1 至 1.2 秒 程式碼。 |
CentralError 嚴格
類型:uint32
定義於 fuchsia.bluetooth.le/central.fidl
名稱 | 值 | 說明 |
---|---|---|
已中止 |
1 |
已中止要求。 |
IN_PROGRESS |
2 |
這項要求已在處理中。 |
INVALID_PARAMETERS |
3 |
提供的參數無效。 |
失敗 |
4 |
由於硬體或系統發生錯誤,因此無法開始放送廣告。 |
IsoPacketStatusFlag 嚴格
類型:uint8
定義於 fuchsia.bluetooth.le/iso.fidl
此標記用於表示從異質管道接收到的資料是否有效。
名稱 | 值 | 說明 |
---|---|---|
VALID_DATA |
0 |
有效的資料。已正確接收完整的 SDU。 |
DATA_WITH_POSSIBLE_ERRORS |
1 |
資料可能無效,收到的一或多個片段可能含有錯誤或部分內容 缺少封包 |
LOST_DATA |
2 |
未正確接收部分封包。 |
PeripheralError strict
類型:uint32
定義於 fuchsia.bluetooth.le/peripheral.fidl
名稱 | 值 | 說明 |
---|---|---|
NOT_SUPPORTED |
1 |
目前的硬體不支援要求的作業或參數。 |
ADVERTISING_DATA_TOO_LONG |
2 |
提供的廣告資料超過編碼時的長度上限。 |
SCAN_RESPONSE_DATA_TOO_LONG |
3 |
提供的掃描回應資料超過編碼時允許的長度上限。 |
INVALID_PARAMETERS |
4 |
要求的參數無效。 |
已中止 |
5 |
開始放送廣告的要求已取消,例如透過 參數。 |
失敗 |
6 |
由於硬體或系統發生錯誤,因此無法開始放送廣告。 |
資料表
AcceptedChannelParameters
定義於 fuchsia.bluetooth.le/l2cap.fidl
監聽新管道時接受管道的參數組合 連線狀態。
請參閱 ChannelListenerRegistry/ListenL2cap。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
accepted_channel_modes |
vector<fuchsia.bluetooth/ChannelMode>
|
聆聽時應接受的所有管道模式。必須包含
或至少一個管道模式,否則呼叫就會失敗
|
2 |
max_packet_size |
uint16
|
支援的接收封包大小上限。 選用。如未提供,尺寸取決於藍牙 有些人會將 Cloud Storage 視為檔案系統 但實際上不是系統不會針對所選大小提供任何保證。 |
AdvertisingData
定義於 fuchsia.bluetooth.le/advertising_data.fidl
代表由 LE 週邊裝置或設備傳輸的廣告和掃描回應資料 電視台。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
name |
fuchsia.bluetooth/DeviceName
|
裝置的全名或簡稱。 |
2 |
appearance |
fuchsia.bluetooth/Appearance
|
裝置的外觀。 |
3 |
tx_power_level |
int8
|
已淘汰 - 請改用 include_tx_power_level。系統會忽略這個值。 |
4 |
service_uuids |
vector<fuchsia.bluetooth/Uuid>
|
服務 UUID。 |
5 |
service_data |
vector<ServiceData>
|
服務資料項目。 |
6 |
manufacturer_data |
vector<ManufacturerData>
|
製造商專屬資料項目。 |
7 |
uris |
vector<string>
|
代表要宣傳的 URI 的字串,如 IETF STD 66 所定義。 每個項目都應為包含配置的 UTF-8 字串。詳情請參閱:
|
8 |
include_tx_power_level |
bool
|
指出廣告資料是否應包含目前的 TX 功率。 |
AdvertisingParameters
定義於 fuchsia.bluetooth.le/peripheral.fidl
代表設定廣告的參數。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
data |
AdvertisingData
|
要在廣告封包的資料區段中編碼的欄位。 這是必填欄位。 |
2 |
scan_response |
AdvertisingData
|
要在掃描回應封包中傳送的欄位。用戶端可能會使用這組號碼 不符合廣告封包的平台上額外資料 支援廣告資料長度額外資訊 如果有,則會設為可掃描。 |
3 |
mode_hint |
AdvertisingModeHint
|
所需的廣告展示頻率。請參閱 fuchsia.bluetooth.le/AdvertisingModeHint。 如果沒有,預設為 fuchsia.bluetooth.le/AdvertisingModeHint.SLOW。 |
4 |
connectable |
bool
|
如果此值為「true」,則控制器會播送可連結廣告 可讓遠端 LE 中央中心與週邊裝置建立連線。如果為 false 或其他 則無法連線。 已淘汰 :新程式碼應使用 connection_options 欄位。 |
5 |
connection_options |
ConnectionOptions
|
如果有,控制器會播送可連接的廣告
讓對等互連可以建立連至週邊裝置的連線。欄位
的 |
6 |
advertising_procedure |
AdvertisingProcedure
|
指定要使用的廣告類型 (例如舊版、延伸等)。 如未指定,系統會預設為舊版廣告,以維持與 搭載藍牙 5.0 版之前的裝置。詳情請參閱 AdvertisingProcedure 的欄位說明 可能不準確或不適當 新增時間:HEAD
|
ChannelListenerRegistryListenL2capRequest 資源
定義於 fuchsia.bluetooth.le/l2cap.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
parameters |
AcceptedChannelParameters
|
管道本地端的可用參數。 |
2 |
listener |
ChannelListener
|
要開啟的管道監聽器通訊協定。 |
ChannelListenerRegistry_ListenL2cap_Response
定義於 fuchsia.bluetooth.le/l2cap.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
psm |
Psm
|
由登錄檔指派的 PSM。保證位於 |
CisEstablishedParameters
定義於 fuchsia.bluetooth.le/iso.fidl
已為單一 CIS 建立設定。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
cig_sync_delay |
zx/Duration
|
CIG 活動中所有 CIS 的 PDU 傳輸時間上限。 範圍介於 [234, 8388607] 微秒之間。 一律提供這個欄位。 |
2 |
cis_sync_delay |
zx/Duration
|
在 CIG 中,指定 CIS 的 PDU 傳輸時間上限 活動。範圍介於 [234, 8388607] 微秒之間。 一律提供這個欄位。 |
3 |
max_subevents |
uint8
|
每個 CIS 事件的子事件數量上限。 一律提供這個欄位。 |
4 |
iso_interval |
zx/Duration
|
連續兩個 CIS 錨點之間的時間,範圍 [5 毫秒,4 秒] 一律提供這個欄位。 |
5 |
central_to_peripheral_params |
CisUnidirectionalParams
|
中部適用的參數 =>週邊裝置傳輸資訊 (如適用)。 如果串流包含來自 週邊裝置中央。 |
6 |
peripheral_to_central_params |
CisUnidirectionalParams
|
週邊裝置的參數 =>中央傳輸資料 (如適用)。 如果串流包含來自 中央週邊裝置。 |
CisUnidirectionalParams
定義於 fuchsia.bluetooth.le/iso.fidl
與既定 CIS 中單一傳輸方向相關的參數。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
transport_latency |
zx/Duration
|
傳輸延遲時間,範圍 [234, 8388607] 微秒 一律提供這個欄位。 |
2 |
burst_number |
uint8
|
此方向的傳輸量。 一律提供這個欄位。 |
3 |
flush_timeout |
uint8
|
每個酬載的逾時時間 (以 ISO 間隔的倍數表示)。 一律提供這個欄位。 |
CodecDelayGetCodecLocalDelayRangeRequest
定義於 fuchsia.bluetooth.le/codec_delay.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
logical_transport_type |
fuchsia.bluetooth/LogicalTransportType
|
使用的邏輯傳輸類型。Currenly 僅支援 LE 傳輸機制 (CIS 或 BIS)。必填。 |
2 |
data_direction |
fuchsia.bluetooth/DataDirection
|
用於表示資料流方向。必填。 |
3 |
codec_attributes |
fuchsia.bluetooth/CodecAttributes
|
用於無線傳輸的轉碼器。必填。 |
CodecDelay_GetCodecLocalDelayRange_Response
定義於 fuchsia.bluetooth.le/codec_delay.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
min_controller_delay |
zx/Duration
|
指定設定的控制器延遲時間下限,範圍為 [0, 4] 秒。 成功時隨時提供。 |
2 |
max_controller_delay |
zx/Duration
|
指定設定的控制器延遲時間上限,範圍為 [0, 4] 秒。 成功時隨時提供。 |
ConnectionAcceptCisRequest 資源
定義於 fuchsia.bluetooth.le/peer.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
cig_id |
uint8
|
包含所要求 CIS 的 CIG 的 ID。必填。 |
2 |
cis_id |
uint8
|
所請求 CIS 的 ID。必填。 |
3 |
connection_stream |
server_end<IsochronousStream>
|
建立串流後,伺服器會叫用 IsochronousStream::OnCisCreateed()。必填。 如果這個管道的用戶端關閉,相應 CIG/CIS 的要求 組合將會遭到拒絕,除非與 相同的 CIG/CIS 參數 |
ConnectionConnectL2capRequest 資源
定義於 fuchsia.bluetooth.le/peer.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
parameters |
fuchsia.bluetooth/ChannelParameters
|
管道當地端的參數。 |
2 |
channel |
server_end<fuchsia.bluetooth/Channel>
|
要開啟的管道通訊協定。 |
3 |
psm |
Psm
|
遠端端要連線的 PSM。 |
ConnectionOptions
定義於 fuchsia.bluetooth.le/connection_options.fidl
代表由建立 FIDL 通訊協定,根據個別連線設定的參數 低功耗連線。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
bondable_mode |
bool
|
若為 true,連線會在可繫結模式下運作。這樣配對就會建立鍵結 如果對等點也處於可繫結模式,則可在連線中斷時持續保留。如果不是的話 連線模式就會預設為可連線模式如果為 false,則連線會在 可綁定模式,表示本機裝置僅允許未建立鍵結的配對。 |
2 |
service_filter |
fuchsia.bluetooth/Uuid
|
如果有,在連線之後執行的服務探索作業僅限於主要連線 符合這個欄位的服務否則根據預設,系統會探索所有可用的服務。 |
完整
定義於 fuchsia.bluetooth.le/peripheral.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|
篩選
定義於 fuchsia.bluetooth.le/central.fidl
篩選掃描時使用的參數。已找到的對等互連只會與 。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
service_uuid |
fuchsia.bluetooth/Uuid
|
依據通告的服務 UUID 篩選。 |
2 |
service_data_uuid |
fuchsia.bluetooth/Uuid
|
依據含有指定 UUID 的服務資料篩選。 |
3 |
manufacturer_id |
uint16
|
根據製造商提供的製造商 ID 篩選 資料。如果設定了這個篩選器參數,廣告酬載就必須 包含製造商專屬資料,以及提供的公司 ID 以配合這個篩選器如要查詢製造商 ID,請前往 https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers/ |
4 |
connectable |
bool
|
依據裝置是否可連線進行篩選。舉例來說 只對可連線的周邊裝置有興趣的用戶端 設為 true 或 false。同樣地,用戶端只能透過下列方法掃描電視台: 設為 false |
5 |
name |
fuchsia.bluetooth/DeviceName
|
根據宣傳裝置名稱的一部分篩選結果。 允許子字串比對。 |
6 |
max_path_loss |
int8
|
根據無線電波的路徑損失篩選結果。符合以下條件的裝置 符合此篩選器必須符合下列條件:
注意:這個欄位是根據 RSSI 和 TX 電源資訊計算而得 。 請勿將其與有效連線的資訊混淆 透過「Path Loss Reporting」取得而不是每個特徵的分數 |
IsochronousStreamOnEstablishedRequest
定義於 fuchsia.bluetooth.le/iso.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
result |
zx/Status
|
ZX_ERR_INTERNAL 的結果表示控制器已收到要求 但無法建立串流。 |
2 |
established_params |
CisEstablishedParameters
|
如果成功建立串流,則一律顯示這個欄位。 |
IsochronousStreamSetupDataPathRequest
定義於 fuchsia.bluetooth.le/iso.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
data_direction |
fuchsia.bluetooth/DataDirection
|
資料流向的路線。 必填。 |
2 |
codec_attributes |
fuchsia.bluetooth/CodecAttributes
|
指定無線傳輸使用的編碼格式, 必填。 |
3 |
controller_delay |
zx/Duration
|
提供的延遲時間必須位於控制器支援的範圍內,不得 超過 4 秒 必填。 |
IsochronousStream_Read_Response
定義於 fuchsia.bluetooth.le/iso.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
data |
vector<uint8>
|
資料框本身。 必填。 |
2 |
sequence_number |
uint16
|
與影格相關聯的序號。 必填。 |
3 |
status_flag |
IsoPacketStatusFlag
|
控制器回報的封包狀態標記。 必填。 |
4 |
timestamp |
zx/Duration
|
控制器回報的接待時間戳記。 選用。 |
舊版
定義於 fuchsia.bluetooth.le/peripheral.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|
對等節點
定義於 fuchsia.bluetooth.le/peer.fidl
代表藍牙低功耗對等互連,可在廣播器、週邊裝置或中央區域執行 角色。對等點的角色是從中央或週邊通訊協定取得。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
id |
fuchsia.bluetooth/PeerId
|
可在目前的系統中識別此對等互連項目。 一律提供這個欄位。 |
2 |
connectable |
bool
|
這個對等互連是否可連線。不可連線的同類應用程式通常位於 LE 電視台角色 一律提供這個欄位。 |
3 |
rssi |
int8
|
此同類群組上次觀察到的訊號強度。這個欄位僅適用於 正在廣播。如果對等點未放送廣告,RSSI 可能就會過時。 注意:這個欄位「不應」與「連線 RSSI」混淆目前所屬的對等互連區域 所有連線 |
4 |
advertising_data |
AdvertisingData
|
已淘汰 - 請改用「data」 |
5 |
name |
fuchsia.bluetooth/DeviceName
|
此對等點的名稱。這個名稱通常會在掃描程序中取得 會在連線名稱探索程序完成後更新。 如果已知名稱,則會出現這個欄位。 |
6 |
data |
ScanData
|
來自這個對等節點的廣告與掃描回應資料相關資訊。分享螢幕畫面時 這包含對等端上次接收的廣告資料。 |
7 |
bonded |
bool
|
這個同業是否已建立鍵結。 一律提供這個欄位。 |
8 |
last_updated |
zx/Time
|
系統單調時脈的值,測量時此點 上次更新 (例如因為收到廣告而更新)。 一律提供這個欄位。 |
ScanData
定義於 fuchsia.bluetooth.le/peer.fidl
從同業廣播和掃描回應資料中取得的資訊。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
tx_power |
int8
|
由廣告和/或可掃描的同儕回報的無線電傳輸功率。 注意:這個欄位「不應」與「連線 TX 電源等級」混為一談。某個對等互連項目中 目前連接到透過「傳輸電源回報」功能取得的系統。而不是每個特徵的分數 |
2 |
appearance |
fuchsia.bluetooth/Appearance
|
裝置的外觀。 |
3 |
service_uuids |
vector<fuchsia.bluetooth/Uuid>
|
服務 UUID。 |
4 |
service_data |
vector<ServiceData>
|
服務資料項目。 |
5 |
manufacturer_data |
vector<ManufacturerData>
|
製造商專屬資料項目。 |
6 |
uris |
vector<string>
|
代表要宣傳的 URI 的字串,如 IETF STD 66 所定義。 每個項目都應為包含配置的 UTF-8 字串。若需更多資訊,請參閲 關於允許計劃的組織,請參閱 https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml; 注意:為了節省空間,藍牙廣告會壓縮空氣中的結構定義。詳情請見 https://www.bluetooth.com/specifications/assigned-numbers/uri-scheme-name-string-mapping. |
7 |
timestamp |
zx/Time
|
收到這項掃描資料時的單調時間。 |
ScanOptions
定義於 fuchsia.bluetooth.le/central.fidl
掃描作業中使用的參數。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
filters |
vector<Filter>
|
掃描期間使用的篩選器清單。符合任何需求的周邊裝置 其中幾個篩選器都會納入報表中至少須指定 1 個篩選條件。 不建議使用會要求所有周邊裝置的客戶 因此報表可以指定空白篩選器 |
聯合國
廣告程序彈性
定義於 fuchsia.bluetooth.le/peripheral.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
legacy |
Legacy
|
使用舊版廣告封包放送廣告。所有裝置應該都能 找出這類封包 |
2 |
extended |
Extended
|
使用擴充廣告封包放送廣告。延展型廣告 和封包相比 舊版廣告封包 (31 位元組與每個 PDU 為 251 位元組)。完整 廣告封包在廣告鏈中最多支援 1,650 個位元組。 但只有支援藍牙 5.0 以上版本的新款裝置才會偵測到這些裝置。 並非所有版本都支援擴充廣告封包 很少直接解答該如何打造產品PeripheralError::NOT_SUPPORTED 會因要求而傳回 但是不受支援 |
ChannelListenerRegistry_ListenL2cap_Result 嚴格
定義於 fuchsia.bluetooth.le/l2cap.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
ChannelListenerRegistry_ListenL2cap_Response
|
|
2 |
err |
zx/Status
|
ChannelListener_Accept_Result 嚴格
定義於 fuchsia.bluetooth.le/l2cap.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
ChannelListener_Accept_Response
|
|
3 |
framework_err |
internal
|
CodecDelay_GetCodecLocalDelayRange_Result 嚴格
定義於 fuchsia.bluetooth.le/codec_delay.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
CodecDelay_GetCodecLocalDelayRange_Response
|
|
2 |
err |
zx/Status
|
IsochronousStream_Read_Result 嚴格
定義於 fuchsia.bluetooth.le/iso.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
IsochronousStream_Read_Response
|
|
3 |
framework_err |
internal
|
IsochronousStream_SetupDataPath_Result strict
定義於 fuchsia.bluetooth.le/iso.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
IsochronousStream_SetupDataPath_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Peripheral_Ad_Result 嚴格
定義於 fuchsia.bluetooth.le/peripheral.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Peripheral_Advertise_Response
|
|
2 |
err |
PeripheralError
|
Peripheral_StartAdvertising_Result 嚴格
定義於 fuchsia.bluetooth.le/peripheral.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Peripheral_StartAdvertising_Response
|
|
2 |
err |
PeripheralError
|
觀測站
名稱 | 值 | 類型 | 說明 |
---|---|---|---|
MAX_MANUFACTURER_DATA_LENGTH |
252
|
uint8 |
|
MAX_SERVICE_DATA_LENGTH |
252
|
uint8 |
|
MAX_URI_LENGTH |
278
|
uint16 |
ALIASES
名稱 | 值 | 說明 |
---|---|---|
Psm |
uint16 |
接受連線導向管道的服務 ID 連線狀態。稱為 (簡化版) 通訊協定/服務多工器 或藍牙訊號。 新增時間:HEAD
|