Search code examples
linuxbluetoothdbusbluez

What is the lifetime of bluetooth data on the system bus?


New to bluez & bluetooth. I have a few general questions about the management of data sourced from a Polar sensor and written to the d-bus.

I'm working on a Jetson Nano that connects to a Polar heart rate sensor using Bluez.

When I worked in Data Warehousing I always pulled data from source systems by collecting data where the source record's entry time stamp exceeded my last pull date. This prevented duplication of data and missing new entries.

For this question, I consider the Jetson's d-bus as the source of my data. I pull from there.

Does this same concept I used in DW apply when pulling d-bus data? Is the d-bus data timestamped? When data is read, is it read destruct, or should I delete it after I read it? Does data expire and then automatically removed from the d-bus based on a built in timer? Is there a chance I would miss data? Is there a mechanism (linux, d-bus, Bluez) to manage the life of the data?

Thanks for your assistance. If you can provide a few clues or point me to some documentation it would be appreciated.


Solution

  • A device stays on the dbus while it is connected and about 30 sec after disconnecting. Bonded devices stay forever. Data of a device is never removed as long as the device is there. Characteristic values or devices values are overwritten when new data comes in, i.e. a PropertiesChanged is received. So if you want to be informed of updates you need to subscribe to PropertiesChanged signals.