This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to reduce pakets loss on BLE Mesh

Hello everyone.

I am working on an RTLS application that uses BLE's RSSI measurement method (Using nRF52840 dongle) to locate a human. The system has 3 components:

  1. Beacon: tags are attached to people. These tags broadcast advertisioning according to iBeacon standard with a frequency of 1 time / second.
  2. Access point (AP): BLE devices are fixed at indoor locations. The AP receives the broadcast message from Beacon, then takes 6 bytes of data in the broadcast message and sends these 6 bytes to the Gateway via the BLE mesh network.
  3. Gateway: is a device connected via Ethernet. It is also a component of the BLE Mesh network. The gateway receives Data from the APs to send to the server. Data is a byte array [6] 

Currently I have done some tests to check the loss rate in the mesh network. I use light_switch example from BLE Mesh v320 SDK. I added simple model to send array bettwen nodes. The following results:

  1. If a Beacon broadcasts advertisioning (ADVERTISIONING_INTERVAL = 20 ms) and an AP receives it, the rate of receiving the packet is 80 - 85% -> Loss of 15% but does not understand the reason because the devices are placed close together. Especially, if increases ADVERTISIONING_INTERVAL the rate of receiving the packet is only 70 - 73%
  2. If I increase the number of beacons, the drop rate increases.
  3. If there are 9 beacon, 1 Access Point, and 1 GATEWAY, then the rate of gateway receiving packet is 40%.
  4. But if there are 6 Beacon and 4 AP and 1Gateway, the success rate is only 20%.

I want to ask, what am I wrong and how i can improve my solution?

Related