Search code examples
androidbluetooth-lowenergybluetooth-mesh

Is it good way to receive BLE data without connection?


My app must run forever without user interaction and receive data from Bluetooth Mesh Network. The app what I made works fine so far. But there are some issues on the Mesh Library(CSRMesh of Qualcomm) especially on bridge connection so that app can communicate no longer through the Mesh Network. Furthermore there is no technical support, I want to be free from that library at least data sending and receiving parts. I have tested and figured out that without BLE connection, only with scanning function can receive mesh data and decrypted successfully with Network key. But I'm not sure that is good way or not.

The practical way to communicate through Mesh Network is

  1. Scan nearby mesh devices.
  2. Connect to some mesh device.(from this step Android can stop scanning)
  3. Start communication through connected mesh device.

Without BLE connection, I must keep scanning to communicate Mesh Network. I think the reason that BLE connection requires to communicate is to save battery of Android device.


Solution

  • There is no issue to exchange data over BLE adverts instead of over a Bluetooth connection. In fact BLE mesh technology is inherently an advert-based technology, i.e. there is no BLE connection involved when data is sent throughout the network. Furthermore, you should theoretically save more power by depending on adverts instead of connection as you don't have to send empty packets to maintain the connection.

    More information on BLE mesh can be found here:-

    Mesh Networking Specification

    I hope this helps.