Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How increase throughput or high data sending rate in BLE mesh sdk using nRF52832 sdk1.0.1?

Hello,

We have developing solution for IIoT using Nordic BLE mesh technology for many node to other many node then send to own server. We have select one analog sensor and read this adc 3 channels using nRF52832 DK. Each channel of adc data is near about 8KB so total data size is 8*3= 24KB. Now we have successfully send this large amount of data sensor node to relay node.

Simply we are trying to like this:

Sensor Node1,2,3.....N------>Relay Node(use for re-transmit message and expand connectivity range)--------> Server Node(Receive data from relay node and send it to own server using WiFi).

In my server side i have merged  UART example from nRF5 SDK 14.1 into mesh sdk.  Not use mesh serial example in my application. UART example is used because i have interface external WIFI module for internet connectivity to own server.

But now my problem is When i send data Sensor node to relay node it sending very fast it take near about 3 second for sending all data into server.

But when i send this same data relay node to server node(with interface wifi module using UART)at this time it take more time near about 3-4 minutes.

Actually i have enable mesh instaburst feature in my code but not increase throughput.  On this i have few questions as per the following:

  1. Why it only through put low when i send sensor data to server node with merge example is UART?
  2. If i interface UART example into mesh light switch server example node due to this is it affect on throughput?
  3. If yes for increasing this is it have any new configuration for achieving high data rate.
  4. For sending all packets i have use access_model_publish method can you suggest other method for high data rate and also no packet losses between sending..

Thanks in Advanced.......!!!

Parents
  • Hi,

    Not sure why the throughput are low from relay node to server node. I don't think merging the UART example with the light switch server example would affect the throughput. I suspect that the Wifi module might cause this issue, can you try to turn off the wifi module and have only the UART running? Just to see if it is working with the UART example merged.

  • Hi,

    m_clients are a list of clients, and "0" and "GROUP_CLIENT_INDEX" are the index in this list. When combining examples you have to make sure that the different clients are placed, read and updated in the right place in the list. I'm still not sure why the throughput would be slower though...

    Does the relaying work when set m_clients[GROUP_CLIENT_INDEX]

Reply
  • Hi,

    m_clients are a list of clients, and "0" and "GROUP_CLIENT_INDEX" are the index in this list. When combining examples you have to make sure that the different clients are placed, read and updated in the right place in the list. I'm still not sure why the throughput would be slower though...

    Does the relaying work when set m_clients[GROUP_CLIENT_INDEX]

Children
  • Hi,

    Thanks for reply,

    But one of the problem when i set m_clients[GROUP_CLIENT_INDEX] data sending throughput is very slow.

    If i set m_clients[0] data sending throughput is better only work client to server but not relying message to other node.

    I want to relaying message and also data sending throughput is fast how i can do please tell me, i have stuck here until not able to find answer.

    Thanks.

    Looking forward your reply...!!

  • Hi,

    The reason you get lower throughput when setting m_clients[GROUP_CLIENT_INDEX] is probably because that client is relaying the message to other nodes. Since it have to retransmit the packages it might miss some incoming packages which causes it to have a lower throughput. 

    When you set it to m_clients[0] the server will only receive the package and not retransmit hence you get a higher throughput.

  • Hi,

    I do not want to message to my all group but i want to send message sensor node to relay node to last server node as like. relay node may be increase if we will need to cover large area.

    For this how i can published unicast message to last server and also relaying message with high throughput.

    My sensor data is 24kb analog reading and i able to send this all data to server but throughput is very low with using instabrust feature. How i can increase and it is possible to send this all data to my last server within 2-5 seconds.

    Thanks...!!

  • You can send messages "directly" from sensor node to last server node through the Mesh, independently of what the topology of the network looks like. The relay node functionality is handled by the Mesh stack, and you do not have to do anything in the application for it to relay messages. 

    You can use the unicast address to send a message from sensor node to last server node. Messages will automatically propagate from sensor node through relay node to last server node, so you can address last server node directly from sensor node.

  • Hi,

    Thanks for answering. Can you please tell me how i can use unicast address in sensor node to publish all messages to my last server. If i have one sensor node and 2 relay node and 1 my last server node.

    Thanks.

Related