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

Looking for guidance on application scenario (scalability/1000 nodes, distribution of individual data to each node in shortest time)

Hello, 

Kindly asking for some guidance... We're working on a solution that requires us to distribute unique data sets (i.e., each nodes gets a different data block, approx. 50 bytes each) to about 1000 nodes in the shortest time possible, with guaranteed delivery. The nodes are all within reach of each other. 

What would be the best architecture for this? We have implemented it with a Raspberry Pi gateway + nRF52 custom HW nodes based on Nordic UART Service. This works fine for a small number of nodes - but we're concerned about scalability. 

What would be better approaches to maximise the success rate of data delivery, and/or minimize total time? Absolute time isn't that critical as long as it's "reasonable", say a few minutes.

We thought about Mesh, but given that the chunks of data distributed are all different, i don't think Mesh will provide much benefit. Is that assumption correct? We'd be happy to use multiple centrals if required. 

Thanks much in advance for any hints!

Regards,

gj

Parents
  • Hi Guido, 

    Please correct me if I'm wrong. You are saying you have 1000 nodes that all in the RF range of a (or multiple) central ? Each of this device needs to receive a 50 byte data packet unique to the device. How often do you need to send this packet to a device ? Do they need to be battery powered ? 

    If power consumption is not an issue I would suggest to use a proprietary protocol, such as Enhanced Shockburst to do the task. You can have an overview of the protocol here

    In your setup you can configure so that all 1000 nodes will act as PRX that listen all the time. They may listen to the same channel with different address. When you want to send a packet to a device you just need to start your central as PTX and configure the address to point to the PRX that you need to update data. 

    They can also share one same address (channel) so that you can send broadcast message to all of them at the same time. 

    Since they are all listener there will be no interference, no retransmission and interference between them, the only draw back is that they need to listen all the time make it not possible to run on battery. 

  • Hung, thank you for your answer! We'll look into ESB further. What are ESB's main advantages over BLE, besides the fact that we can get around the BT SIG listing...? I saw that it can probably reach better throughput. But there's a small chance we may need BLE anyway on the nodes - if that was the case, would ESB still be your choice for the data distribution?

    You are saying you have 1000 nodes that all in the RF range of a (or multiple) central ?

    yes.

    Each of this device needs to receive a 50 byte data packet unique to the device.

    yes.

    How often do you need to send this packet to a device ?

    about once per 4 hours at a maximum, and about 1/day at an average. If transmission happens, all data should be distributed to all nodes within a few minutes. 

    Thanks heaps.

    gj

  • Hi, 

    The main advantage of using ESB compare to BLE is that you don't need to establish a connection so that there won't be congestion due to multiple devices advertising at the same time. 


    If you want to use BLE instead, there is also an option, that all devices will act as central devices, scanning all the time. And when the gateway wants to send data to a particular device it can advertise with the device's ID. When the device scans and find the advertising packet with the matched ID, it will establish the connection and receive data. After you finish with one device, you can disconnect and start advertise with the next device's ID. 
    In this option it may take a little bit longer to establish a connection but it should work. 

Reply
  • Hi, 

    The main advantage of using ESB compare to BLE is that you don't need to establish a connection so that there won't be congestion due to multiple devices advertising at the same time. 


    If you want to use BLE instead, there is also an option, that all devices will act as central devices, scanning all the time. And when the gateway wants to send data to a particular device it can advertise with the device's ID. When the device scans and find the advertising packet with the matched ID, it will establish the connection and receive data. After you finish with one device, you can disconnect and start advertise with the next device's ID. 
    In this option it may take a little bit longer to establish a connection but it should work. 

Children
No Data
Related