Potential collisions when using many EmonTX V3 RF in the same place


I would need feedback about using multiple nodes (at least 25) with RF in the same place.
I also need to make (almost)realtime monitoring, so no way to send a RF packet every 5minutes....
The place would be a 15mx25m rectangular room.

I read that the libraries have limitations to 32 nodes max, but I imagine there could be issues with collisions before.

How often could it be ? Is there best pratices/solution to avoid or limit such issues ?

What happen (in EmonCMS) when collision arrived ?  Do I have a discard entry (not a real problem?) or a bad value ?

Thanks for your feedback.

pb66's picture

Re: Potential collisions when using many EmonTX V3 RF in the same place

Where are you based? if in the uk you could have 2 networks one at 433MHz and another at 868Mhz this could halve the issue.

Whilst RF collisions probably couldn't be entirely controlled or eliminated you could influence the odds by adding a delay to each emontx sketch so that startup is delayed momentarily by a range of times to offset the tx interval start point eg if you had a delay increment of 0.5sec across 30 nodes numbered 1 to 30 and the setup() paused for (nodeid x delay increment) seconds the tx times could theoretically be spread over a 15sec sample time without clashes (if they all powered up together). The delay increment would effectively set the frequency at which the packets were arriving at the receiver so the delay increments lower limit would dictated by the processing speed of the receiver, the size of the packets and the level of "interference" in the form of bad packets, so a bit of experimenting would probably be needed.

What reception / forwardng method were you planning to use ?

will it use an RFM2Pi or nanodeRF or an alternative ?

Will emoncms be hosted locally or remotely ?

It's unlikely that any "bad packets" will reach emoncms, the receiver software should normally be configured to discard the bad packets quietly to reduce traffic.

The recievers outgoing traffic will also be significant and may need special consideration, for example batch sending every 5-15 seconds rather than trying to post each individual packet.

bugmax's picture

Re: Potential collisions when using many EmonTX V3 RF in the same place

Hi pb66,

I'm base in Europe.
I haven't decide wich receiver I will use.
EmonCMS will be hosted locally.

It would be very hard to synchronize all the node together, because they will be in very different position, and not with the same source power...

If the receiver discard "Bad" packet, emoncms will just make an average and will update the data next time.

I could also used the BULK process in the Emoncms API to send multiple records at the same time....

But I won"t be a real  real-time

calypso_rae's picture

Re: Potential collisions when using many EmonTX V3 RF in the same place

In the emonGLCD code, the reception of a message from emonBase causes the temperature value to be transmitted.  The two RF messages are therefore synchronised.

Might it be possible for each emonTx to listen for a synchronisation message from emonBase, and to then send its data after a specified delay.   If all of the delays are different, no collisions should occur.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.