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

Some delay while receiving sensor data using mesh proxy

Hi, I'm using proxy_client and proxy_server from light_switch examples of mesh sdkv2.1.1. The provision process gets successful with android mobile using nRF Mesh App but i face some issue while receiving sensor data, there is some delay(not getting data in flow) with putty.If i use without proxy (provisioner with DK board), i never face that issue.Can you please help me.

Parents
  • there is some delay

    There is always going to be some delay!

    So how much delay, exactly, are you getting ?

  • Hi Satheesh, 

    I'm sorry but I still don't understand how data is sent between board. Please use Board 1 , Board 2 instead. If you can draw a figure it would be nice. 

    In your description, I don't know when Mesh is used. You only mentioned about UART. What exactly you mean by "and start the sensor (client-->server)" ? 

  • i used control model for board 1 and board 2. with the help of set()  i send 1 byte command from board 1 to board 2, from board 2 it sends the 6 bytes of sensor data to board 1 in between i used uart module to get and put the data's in putty.putty is used to display the sensor data.

  • Hi Satheesh, 

    Thanks, please correct me if I'm wrong you have this kind of communication: 

    PC-UART-> BOARD1 --MESH 1 byte --> BOARD 2 --UART-> PC 

    And then after board 2 receives the image, it does this:

    PC-UART-> BOARD2 --MESH 6 bytes --> BOARD 1 --UART-> PC 

    Correct ? 

    We need to check at which step the delay is introduced.

    How often do you see the issue when you enable proxy ? Do you see the same issue when you test using out light switch (which has proxy)? 

    To verify if it's the mesh communication causing the delay, you can setup a timer from a client and periodically send some data to the server.  
    I don't see any obvious reason why you have a delay of 5-10 seconds. Do you test using our NRF52 DK ? Have you made sure the radio works fine ? You can test with a throughput test on BLE. 


  • First step almost correct but it in board 2 set_cb() it will start the sensor after receiving 1 byte mesh.

    PC-UART-> BOARD2 --MESH 6 bytes --> BOARD 1 --UART-> PC  this step not start from PC-UART, while receive 1 byte mesh from board 1 to board 2, the board board 2 will start the sensor in set_cb() because i'm using sensor in board 2. So it starts the sensor and send 6 bytes of data to board 1 -->UART->PC.

    proxy is enabled with mesh, i have test with disabling proxy but i saw the same issue. Light switch example never send 6 bytes data. In my point of view there is some interrupt to receive data in proxy example because of adv advertiser and ble advertiser

    This is the flow:

    PC-UART-> BOARD1 --MESH 1 byte --> BOARD 2 -->SET_CB()-->SENSOR_START

    BOARD2--MESH 6 bytes-->BOARD1--UART->PC

    From board1 to board2 the communication will be client to server

    After receive 1 byte from board1 the board2 act as client and board1 act as server.

  • OK, so you have the same issue without the proxy role. Maybe you would need to check if the sensor actually taking longer time than normal. 

    You can print out some log, or use LEDs to mark each step of the communication to know where it actually causing delay. 

Reply Children
Related