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

Max size of data to send from one node to other ble mesh

I want to send sensor data from one node to other using access_model_reliable_publish() method, but my data is too large and I'm  not able to send large data. What is the maximum size of data we send using access_model_reliable_publish()? What is size of packet and how many bytes of data we send at a time? I want to send 8192 bytes of data(i.e my uint8_t array size is 8192), how i can send it through single packet. Will you please provide the solution?

Thanks.

Parents
  • hello Pooja,

    Bluetooth Mesh packet sizes are 15 bytes for unsegmented messages (unack'd/unreliable), however, it is also possible to send a segmented/reliable message which can consist of 12 bytes per packet (3 byte packet overhead for segmentation) with a 32 segment max, which would yield a 384 byte total message size. Obviously, segmented messages are much slower than unsegmented due to the required ack'd response from the receiver. It is not possible to send 8KBs in a single packet or even feasible to send over multiple messages. You could look into the Nordic Instaburst feature extension to see what mileage that gives you.

    You should note that Bluetooth mesh in its current version (v1.0) is primarily targeted at command/control type applications and therefore the concept of flooding 8192 bytes across the mesh is not a primary or expectant use case. Hopefully Mesh v1.1 will deliver an additional bearer layer which incorporates advertising extensions and additional throughput enhancements as part of the standard but that spec is still under development with no set delivery date.

    Regards,

Reply
  • hello Pooja,

    Bluetooth Mesh packet sizes are 15 bytes for unsegmented messages (unack'd/unreliable), however, it is also possible to send a segmented/reliable message which can consist of 12 bytes per packet (3 byte packet overhead for segmentation) with a 32 segment max, which would yield a 384 byte total message size. Obviously, segmented messages are much slower than unsegmented due to the required ack'd response from the receiver. It is not possible to send 8KBs in a single packet or even feasible to send over multiple messages. You could look into the Nordic Instaburst feature extension to see what mileage that gives you.

    You should note that Bluetooth mesh in its current version (v1.0) is primarily targeted at command/control type applications and therefore the concept of flooding 8192 bytes across the mesh is not a primary or expectant use case. Hopefully Mesh v1.1 will deliver an additional bearer layer which incorporates advertising extensions and additional throughput enhancements as part of the standard but that spec is still under development with no set delivery date.

    Regards,

Children
Related