Hello,
I have battery BLE sensor modules that send sensor data as BLE advertisements (custom advertisement, not beacon format). A BLE observer receives the BLE sensor data and converts it to MQTT for processing. Is it possible to have the observer send out a Scan Request as a way of acknowledging to the sensor that the advertisement was received? But I don't want the observer to expect a Scan Response, nor do I want the sensor to send out a Scan Response. I might resend the sensor advertisement if a Scan Request has not been received.
I'm not clear about the timing behind how scan requests are sent and received. With GATT, the Central sends a connection request at a specific time delay after it receives a peripheral's advertisement. The peripheral knows what this time delay is and can sleep/turn off radio until it's time to listen to the connection request. I believe this is actually what happens in real life for peripheral devices to save power, and the softdevice handles all of this for us as long as we set the advertisement parameters correctly. Is that right?
My specific questions:
1. Does this built-in delay apply for peripherals to listen for scan requests after sending an advertisement?
a. If so, does this delay happen after advertising on all 3 channels, or is the peripheral suppose to listen to the Scan Request after every channel's transmission (so it listens to just that channel)?
2. Is there enough flexibility with advertisement modes to configure the peripheral to advertise and listen to scan request, but not respond to scan request? Similar question for the central - send scan request without actually listening for scan response.
I'm trying to determine if it's feasible to add acks to sensor advertisements in a way that still preserves long battery life for the sensor. Listening for scan requests for a long time immediately after an advertisement seems like a waste of battery. And although similar acknowledge functionality can be achieve with real GATT connections via Indications, actual GATT connections would consume too much power.