mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-11-23 20:24:21 +08:00
262cb18e2b
LE Advertising Data is 31 bytes long.
107 lines
3.6 KiB
Plaintext
107 lines
3.6 KiB
Plaintext
BlueZ D-Bus LE Advertising API Description
|
|
******************************************
|
|
|
|
Advertising packets are structured data which is broadcast on the LE Advertising
|
|
channels and available for all devices in range. Because of the limited space
|
|
available in LE Advertising packets (31 bytes), each packet's contents must be
|
|
carefully controlled.
|
|
|
|
BlueZ acts as a store for the Advertisement Data which is meant to be sent.
|
|
It constructs the correct Advertisement Data from the structured
|
|
data and configured the kernel to send the correct advertisement.
|
|
|
|
Advertisement Data objects are registered freely and then referenced by BlueZ
|
|
when constructing the data sent to the kernel.
|
|
|
|
LE Advertisement Data hierarchy
|
|
===============================
|
|
|
|
Specifies the Advertisement Data to be broadcast and some advertising
|
|
parameters. Properties which are not present will not be included in the
|
|
data. Required advertisement data types will always be included.
|
|
All UUIDs are 128-bit versions in the API, and 16 or 32-bit
|
|
versions of the same UUID will be used in the advertising data as appropriate.
|
|
|
|
Service org.bluez
|
|
Interface org.bluez.LEAdvertisement1
|
|
Object path freely definable
|
|
|
|
Methods void Release() [noreply]
|
|
|
|
This method gets called when the service daemon
|
|
removes the Advertisement. A client can use it to do
|
|
cleanup tasks. There is no need to call
|
|
UnregisterAdvertisement because when this method gets
|
|
called it has already been unregistered.
|
|
|
|
Properties string Type
|
|
|
|
Determines the type of advertising packet requested.
|
|
|
|
Possible values: "broadcast" or "peripheral"
|
|
|
|
array{string} ServiceUUIDs
|
|
|
|
List of UUIDs to include in the "Service UUID" field of
|
|
the Advertising Data.
|
|
|
|
dict ManufacturerData
|
|
|
|
Manufactuer Data fields to include in
|
|
the Advertising Data. Keys are the Manufacturer ID
|
|
to associate with the data.
|
|
|
|
array{string} SolicitUUIDs
|
|
|
|
Array of UUIDs to include in "Service Solicitation"
|
|
Advertisement Data.
|
|
|
|
dict ServiceData
|
|
|
|
Service Data elements to include. The keys are the
|
|
UUID to associate with the data.
|
|
|
|
bool IncludeTxPower
|
|
|
|
Includes the Tx Power in the advertising packet.
|
|
If missing, the Tx Power is not included.
|
|
|
|
|
|
LE Advertising Manager hierarchy
|
|
================================
|
|
|
|
The Advertising Manager allows external applications to register Advertisement
|
|
Data which should be broadcast to devices. Advertisement Data elements must
|
|
follow the API for LE Advertisement Data described above.
|
|
|
|
Service org.bluez
|
|
Interface org.bluez.LEAdvertisingManager1 [Experimental]
|
|
Object path /org/bluez/{hci0,hci1,...}
|
|
|
|
Methods RegisterAdvertisement(object advertisement, dict options)
|
|
|
|
Registers an advertisement object to be sent over the LE
|
|
Advertising channel. The service must be exported
|
|
under interface LEAdvertisement1. InvalidArguments
|
|
indicates that the object has invalid or conflicting
|
|
properties. InvalidLength indicates that the data
|
|
provided generates a data packet which is too long.
|
|
The properties of this object are parser when it is
|
|
registered, and any changes are ignored.
|
|
Currently only one advertisement at a time is supported,
|
|
attempting to register two advertisements will result in
|
|
an AlreadyExists error.
|
|
|
|
Possible errors: org.bluez.Error.InvalidArguments
|
|
org.bluez.Error.AlreadyExists
|
|
org.bluez.Error.InvalidLength
|
|
|
|
UnregisterAdvertisement(object advertisement)
|
|
|
|
This unregisters an advertisement that has been
|
|
prevously registered. The object path parameter must
|
|
match the same value that has been used on registration.
|
|
|
|
Possible errors: org.bluez.Error.InvalidArguments
|
|
org.bluez.Error.DoesNotExist
|