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

BLE Mesh - Issue with multiple nodes that send and receive messages at the same time

Dear all,

I am using NRF52832 for a mesh application. I utilize the light switch example for the project.

Description of my application:

1. We have 6 devices. They are light switch control (both client and server) devices.

2. App (in a smartphone) will control the whole system through a proxy device.

3. If the button on a light switch client device is pressed, a message will be sent to the app. After getting a message from a client, my app will send a packet of data to control a switch server in a mesh network.

4. I use messages that include opcodes: GENERIC_ONOFF_OPCODE_SET_UNACKNOWLEDGED and GENERIC_ONOFF_OPCODE_STATUS.

5. I need a fast speed of reaction in our application. Expectation: 200ms latency

My issue is about missing messages and low transmission speed when two or more client devices send messages at the same time to the app. In this situation, my devices are very close to each other.

I notice that messages are lost when I have a warning "network.c,  172, Unable to allocate memory for relay packet."

I hope to get a speed of transmission

Do you have any idea about these problems and how to solve them?

  • Hi, 

    Please give some more information on: 


    - When you send a message from the light switch client do you also resend the packet ? If you do, how many times before give up ? And what's the delay/timeout between messages ?

    - What's the size of the message ? If you send message with larger payload than 11 bytes, it will be segmented and sent as multiple packets.

    - When you send the message from the client, to the app and then the app will send the actual command to the server, how do you identify which server you plan to control in the original message ? Was it a packet to the unicast address or the destination a group address ? 

    - With what you described, if the phone is not available or if the proxy is not available the whole network will not function ? 

Related