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

How can I build Wireless sensor network using nRF51422

I have about 200-300 sensors, each requiring to send data at around 0.5-1Kbps to a central node (coordinator/master node), what will be the network configuration/topology using nRF51422 (or any other better suited Nordic IC) to send the data of all the sensors to the central node?

Parents
  • Hi

    If you want to support this many sensors sending that much data you need to implement some kind of timeslot mechanism, where each sensor gets a unique time in which to send data to the central node.

    One way to do this is to have the central node send a beacon packet to all the sensors at a regular interval. Each sensor will have to be configured with a unique ID, and based on this ID each sensor can calculate a unique timeslot some time after the beacon packet was received. The central node will then switch to receive mode to pick up all the packets from the various sensors.

    The beacon packet from the central node will have to be broadcast to all the sensors (ACK's disabled), while the packets sent from the sensors to the central could have ACK's enabled.

    You probably want to use the micro ESB library as a basis, since it introduces less overhead than the standard ESB library available in the SDK:
    https://github.com/NordicSemiconductor/nrf51-micro-esb

    Bets regards
    Torbjørn

  • Whatever the local clock is at the time the beacon is received, the sensors will have to calculate the relative delay until their own timeslot occurs. On top of that you will have to add some margin around the timeslots to account for clock drift between the receiver and sensors.
    As an example, if the sum of the clock accuracy in the receiver and sensor is 100ppm you have to add 100us margin after one second, because in the worst case the clocks might have drifted this far apart.

    Every time you receive a beacon packet you can reset the timer, and get back in sync.

    Neither BLE nor ANT will be able to satisfy your requirements. You have to do something proprietary, which means that you get much more control over the radio configuration and timing. Using the micro ESB library I linked to above is easier than configuring the radio directly.

Reply
  • Whatever the local clock is at the time the beacon is received, the sensors will have to calculate the relative delay until their own timeslot occurs. On top of that you will have to add some margin around the timeslots to account for clock drift between the receiver and sensors.
    As an example, if the sum of the clock accuracy in the receiver and sensor is 100ppm you have to add 100us margin after one second, because in the worst case the clocks might have drifted this far apart.

    Every time you receive a beacon packet you can reset the timer, and get back in sync.

    Neither BLE nor ANT will be able to satisfy your requirements. You have to do something proprietary, which means that you get much more control over the radio configuration and timing. Using the micro ESB library I linked to above is easier than configuring the radio directly.

Children
No Data
Related