Hi,
I am working on a sensor that reads temperature and humidity and then sends the data to a central webserver where the data is displayed on a webpage.
The radio of choice is the NRF24L01+
To save power the sensors and the radio goto sleep. In sleep mode the radio cannot hear any transmissions.
What i would like to happen is for the central server to be listening for when the sensors wake up. Upon waking up they will send there id number, along with a request to send. If the server is not currently doing anything with another sensor it will reply with a clear to send. If it is busy however the sensor just doesnt get a reply.
This system seems to be an OK way of doing this until i look at what will happen with more and more sensors. If 2 sensors for example wake up at nearly the same time, there is going to be a collision in data, neither will get a reply and if they keep trying to resend there data they will just continually collide until they reach there maximum retry limits.
The other problem i can see is if a sensor send an RTS and gets an CTS back, then another sensor wakes up at the same time as the first sensor is sending its main packet of data. There will be a collision here and as far as the sensor is concerned it was clear to send.
Does anyone have any ideas on a way to make such a system a little bit more bullet proof?
I am working on a sensor that reads temperature and humidity and then sends the data to a central webserver where the data is displayed on a webpage.
The radio of choice is the NRF24L01+
To save power the sensors and the radio goto sleep. In sleep mode the radio cannot hear any transmissions.
What i would like to happen is for the central server to be listening for when the sensors wake up. Upon waking up they will send there id number, along with a request to send. If the server is not currently doing anything with another sensor it will reply with a clear to send. If it is busy however the sensor just doesnt get a reply.
This system seems to be an OK way of doing this until i look at what will happen with more and more sensors. If 2 sensors for example wake up at nearly the same time, there is going to be a collision in data, neither will get a reply and if they keep trying to resend there data they will just continually collide until they reach there maximum retry limits.
The other problem i can see is if a sensor send an RTS and gets an CTS back, then another sensor wakes up at the same time as the first sensor is sending its main packet of data. There will be a collision here and as far as the sensor is concerned it was clear to send.
Does anyone have any ideas on a way to make such a system a little bit more bullet proof?