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 ?

  • i have 2 devices both the device act as control model (client and server model) one board contains sensor,i send 1 byte command from first device to sensor board using uart, sensor board receives the command and start the sensor (client-->server), next the sensor board act as (client) and sends the sensor data to first  device(server) with the help of uart , here i used putty to read data. facing delay while receiving data

  • 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.

Reply
  • 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.

Children
Related