2015-03-20 01:34:23 +08:00
|
|
|
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
|
2016-03-04 18:57:11 +08:00
|
|
|
available in LE Advertising packets (31 bytes), each packet's contents must be
|
2015-03-20 01:34:23 +08:00
|
|
|
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.
|
|
|
|
|
2015-04-24 08:10:58 +08:00
|
|
|
bool IncludeTxPower
|
2015-04-15 06:06:57 +08:00
|
|
|
|
2015-04-24 08:10:58 +08:00
|
|
|
Includes the Tx Power in the advertising packet.
|
|
|
|
If missing, the Tx Power is not included.
|
2015-04-15 06:06:57 +08:00
|
|
|
|
2015-03-20 01:34:23 +08:00
|
|
|
|
|
|
|
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
|
2017-07-14 22:06:22 +08:00
|
|
|
under interface LEAdvertisement1.
|
|
|
|
|
|
|
|
InvalidArguments error indicates that the object has
|
|
|
|
invalid or conflicting properties.
|
|
|
|
|
|
|
|
InvalidLength error indicates that the data
|
2015-03-20 01:34:23 +08:00
|
|
|
provided generates a data packet which is too long.
|
2017-07-14 22:06:22 +08:00
|
|
|
|
2015-03-20 01:34:23 +08:00
|
|
|
The properties of this object are parser when it is
|
|
|
|
registered, and any changes are ignored.
|
2017-07-14 22:06:22 +08:00
|
|
|
|
|
|
|
If the same object is registered twice it will result in
|
2015-03-20 01:34:23 +08:00
|
|
|
an AlreadyExists error.
|
|
|
|
|
2017-07-14 22:06:22 +08:00
|
|
|
If the maximum number of advertisement instances is
|
|
|
|
reached it will result in NotPermitted error.
|
|
|
|
|
2015-03-20 01:34:23 +08:00
|
|
|
Possible errors: org.bluez.Error.InvalidArguments
|
|
|
|
org.bluez.Error.AlreadyExists
|
|
|
|
org.bluez.Error.InvalidLength
|
2017-07-14 22:06:22 +08:00
|
|
|
org.bluez.Error.NotPermitted
|
2015-03-20 01:34:23 +08:00
|
|
|
|
|
|
|
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
|
2017-07-24 22:38:05 +08:00
|
|
|
|
2017-08-04 14:19:21 +08:00
|
|
|
Properties byte SupportedInstances
|
2017-07-24 22:38:05 +08:00
|
|
|
|
2017-08-04 14:19:21 +08:00
|
|
|
Number of available advertising instances.
|