Xenon as BLE Bridge/Repeater? (and other ble questions)

Are there any know successes using the Xenon as a BLE bridge/repeater?

What is the sane upper limit for the number of BLE devices in a room, sending Temp,Voltage, and Weight, once every 15 minutes?

If it’s acceptable that data is dropped from any sensor up to 2 times in a day, is there a reason to require a connection from the central BLE device, or can I put all the info in the advertisement while the device is awake?

Is there a strong need in a BLE mesh for an acknowledgement from the central BLE device that data is received via advertisement alone?

What configuration settings should I be looking at to optimize battery life on xenon BLE nodes (central node being wall powered for always on performance)?

When multiple devices are advertising at the same time for a short interval, is there a risk that the central device doesn’t complete a scan of all devices?

If the central BLE device is wifi connected - sending data back to AWS - is there a risk that the central device will not be able to continuously scan while sending the data? Can this be solved with System(Thread)?

Sorry for all the questions, and thank you to the community for all your help and advice.

That’s not easy to answer as it depends on too many factors.
How many mobile phones can you put in a room with the BT and WiFi on?
They share the same freqencies.

That depens on your exact needs and failsafe scheme.
You could by default refrain from connecting most the time but once or twice a day the sensor needs to be actively read otherwise it may extend its advertising interval and set a “read me!” flag to indicate that its data is overdue for collection.

I’d say: Sleep as much as possible, advertise as short as possible but then with relatively high frequency - test what works best.

Not normally, but radio interference is always to be considered.
Staggering wake times to keep risk of collisions low is probably a good choice.

The device OS takes care of that.
But since the sending to the cloud is fully in your control, your code should be able to decide when it’s the best time to send (e.g. all data already refreshed since last time = good to send).

1 Like

Awesome, makes a ton of sense.

Can you direct me to a place I can learn more about the read me! flag? I’d be interested in using it to sync up the clock time and set the staggered advertisement interval at the time I am actively connecting to it.

Thanks again!! +Rep @ScruffR

That’s just a term I made up.
You can name it whatever you want but you’d just add that to the BleAdvertisingData object and let the central device have a look out for that in any of the found scan results. When it is present, use the device address to connect to that particular device to let it know you have finally collected its data.

If you let all devices initially boot up with the flag set, you can implicitly stagger the wake times by merely connecting to each device with a certain amout of delay between each of them. If they all share the same sleep period they should wake up in the same order as you connected to them previously (provided they immediately enter sleep mode after disconnecting).

1 Like