linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* DBus LEAdvertisement and Python
@ 2019-07-18  7:00 Barry Byford
  2019-07-18  8:25 ` Luiz Augusto von Dentz
  0 siblings, 1 reply; 8+ messages in thread
From: Barry Byford @ 2019-07-18  7:00 UTC (permalink / raw)
  To: Bluez mailing list

Hello,

The Python examples provided in the test directory of the BlueZ
repository use the python-dbus library. Looking at the documentation
of that library it does start by raising concerns and offering
alternatives. I have been looking at some of the alternatives and am
having difficultly getting them to work with BlueZ. I have been
focusing on the org.bluez.LEAdvertisement1 interface.

Looking at the documentation, it says the service, interface and
object details are:
Service org.bluez
Interface org.bluez.LEAdvertisement1
Object path freely definable

I am not being successful at publishing to the org.bluez service. It
is also not where the current examples publish to.
Looking at the GattProfile1 documentation, it has service and object
as application dependant.
Service <application dependent>
Interface org.bluez.GattProfile1
Object path <application dependent>
Should the documentation of Service on LEAdvertisement1 be freely
definable also?

I have created the LEAdvertisement1 interface so that it has an
ObjectManager and is introspectable. When I pass the object to
RegisterAdvertisement on the org.bluez.LEAdvertisingManager1 interface
it accepts it (does not give an error) but does not register the data
and I see no advertisement appear. Is there somewhere I can find a
more detailed description of what needs to be on the
org.bluez.LEAdvertisement1 interface that will work with
RegisterAdvertisement?

For reference, I have put below what I am currently  putting on the
org.bluez.LEAdvertisement1 interface.

Thanks,
Barry


$ busctl call ukBaz.bluezero /ukBaz/bluezero/advertisement1
org.freedesktop.DBus.ObjectManager GetManagedObjects
a{oa{sa{sv}}} 1 "/ukBaz/bluezero/advertisement1" 5
"org.freedesktop.DBus.Properties" 0
"org.freedesktop.DBus.Introspectable" 0 "org.freedesktop.DBus.Peer" 0
"org.freedesktop.DBus.ObjectManager" 0 "org.bluez.LEAdvertisement1" 6
"Type" s "broadcast" "ServiceUUIDs" as 0 "ManufacturerData" a{sv} 0
"SolicitUUIDs" as 0 "ServiceData" a{sv} 1 "FEAA" ay 18 16 8 3 117 107
66 97 122 46 103 105 116 104 117 98 46 105 111 "IncludeTxPower" b
false

$ busctl call ukBaz.bluezero /ukBaz/bluezero/advertisement1
org.freedesktop.DBus.Properties GetAll s org.bluez.LEAdvertisement1
a{sv} 6 "Type" s "broadcast" "ServiceUUIDs" as 0 "ManufacturerData"
a{sv} 0 "SolicitUUIDs" as 0 "ServiceData" a{sv} 1 "FEAA" ay 18 16 8 3
117 107 66 97 122 46 103 105 116 104 117 98 46 105 111
"IncludeTxPower" b false

$ busctl call ukBaz.bluezero /ukBaz/bluezero/advertisement1
org.freedesktop.DBus.Introspectable Introspect
s "<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object
Introspection 1.0//EN\"\n
\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\n<!--
GDBus 2.60.4 -->\n<node>\n  <interface
name=\"org.freedesktop.DBus.Properties\">\n    <method name=\"Get\">\n
     <arg type=\"s\" name=\"interface_name\" direction=\"in\"/>\n
<arg type=\"s\" name=\"property_name\" direction=\"in\"/>\n      <arg
type=\"v\" name=\"value\" direction=\"out\"/>\n    </method>\n
<method name=\"GetAll\">\n      <arg type=\"s\"
name=\"interface_name\" direction=\"in\"/>\n      <arg type=\"a{sv}\"
name=\"properties\" direction=\"out\"/>\n    </method>\n    <method
name=\"Set\">\n      <arg type=\"s\" name=\"interface_name\"
direction=\"in\"/>\n      <arg type=\"s\" name=\"property_name\"
direction=\"in\"/>\n      <arg type=\"v\" name=\"value\"
direction=\"in\"/>\n    </method>\n    <signal
name=\"PropertiesChanged\">\n      <arg type=\"s\"
name=\"interface_name\"/>\n      <arg type=\"a{sv}\"
name=\"changed_properties\"/>\n      <arg type=\"as\"
name=\"invalidated_properties\"/>\n    </signal>\n  </interface>\n
<interface name=\"org.freedesktop.DBus.Introspectable\">\n    <method
name=\"Introspect\">\n      <arg type=\"s\" name=\"xml_data\"
direction=\"out\"/>\n    </method>\n  </interface>\n  <interface
name=\"org.freedesktop.DBus.Peer\">\n    <method name=\"Ping\"/>\n
<method name=\"GetMachineId\">\n      <arg type=\"s\"
name=\"machine_uuid\" direction=\"out\"/>\n    </method>\n
</interface>\n  <interface
name=\"org.freedesktop.DBus.ObjectManager\">\n    <method
name=\"GetManagedObjects\">\n      <arg type=\"a{oa{sa{sv}}}\"
name=\"object_paths_interfaces_and_properties\" direction=\"out\">\n
   </arg>\n    </method>\n    <signal name=\"InterfacesAdded\">\n
<arg type=\"o\" name=\"object_path\">\n      </arg>\n      <arg
type=\"a{sa{sv}}\" name=\"interfaces_and_properties\">\n      </arg>\n
   </signal>\n    <signal name=\"InterfacesRemoved\">\n      <arg
type=\"o\" name=\"object_path\">\n      </arg>\n      <arg type=\"as\"
name=\"interfaces\">\n      </arg>\n    </signal>\n  </interface>\n
<interface name=\"org.bluez.LEAdvertisement1\">\n    <annotation
name=\"org.freedesktop.DBus.Properties.PropertiesChanged\"
value=\"const\">\n    </annotation>\n    <method name=\"Release\">\n
   <annotation name=\"org.freedesktop.DBus.Method.NoReply\"
value=\"true\">\n      </annotation>\n    </method>\n    <property
type=\"s\" name=\"Type\" access=\"read\">\n    </property>\n
<property type=\"as\" name=\"ServiceUUIDs\" access=\"read\">\n
</property>\n    <property type=\"a{sv}\" name=\"ManufacturerData\"
access=\"read\">\n    </property>\n    <property type=\"as\"
name=\"SolicitUUIDs\" access=\"read\">\n    </property>\n    <property
type=\"a{sv}\" name=\"ServiceData\" access=\"read\">\n
</property>\n    <property type=\"b\" name=\"IncludeTxPower\"
access=\"read\">\n    </property>\n  </interface>\n</node>\n"

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-07-24 21:00 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-18  7:00 DBus LEAdvertisement and Python Barry Byford
2019-07-18  8:25 ` Luiz Augusto von Dentz
2019-07-18 21:04   ` Barry Byford
2019-07-20 16:44     ` Barry Byford
2019-07-24  9:37       ` Barry Byford
2019-07-24 10:44         ` Luiz Augusto von Dentz
2019-07-24 13:28           ` Barry Byford
2019-07-24 20:59           ` Barry Byford

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).