Interacting with multiple rf modules at the same time

Hey guys, this is my first post. I wanted to make a iot setup with arduino. I want to interface with multiple rf modules using a single arduino kept in the same room. I did some searching and found that they would interfere with each other. Is there any way that i can do that ?

Thanks for the help

Many RF modules have the ability to be addressed or networked. The RFM12B is an example. XBEE has some great stuff too.

Thanks for the help :slight_smile: . I will look into that. But i am in india so addressed rf modules very difficult to find and are bit expensive.I can use xbee or zigbee but they are too expensive.If you have any idea how i can make it cost effective please tell. Also should i use a raspberry pi or a arduino for the master control board ?

I want to interface with multiple rf modules using a single arduino ... Is there any way that i can do that ?

That really depends on what you mean by the meaningless term "interface". Do you want to receive data from multiple transmitters using one receiver? Do you you want to transmit to multiple receivers using one transmitter?

What kind of RF modules are you envisioning using? To send what? How often? To receive what? How often? How critical is that data not be lost?

Sorry for replying so late. I know its my question and i shouldn't have taken so much time but i got stuck somewhere.Anyway i want to recieve and send data to multiple rf modules using single one connected to arduono.

I will be sending switch state i.e. on off and some temperature data. Its very critical and i want ro minimize.the data loss

Right now i am using cheap 433mhz rd module

Right now i am using cheap 433mhz rd module

And what's the [433 MHz RF?] module not doing that you want to do?

So you can already send and receive data between two 433MHz modules? Then your project is almost finished!

There's probably standardised network protocols out there but I think this is simple enough to write your own:

  1. All modules listen on the same frequency
  2. Nobody except the master is allowed to transmit
  3. The master sends a byte at the beginning of every transmission, which is the address of the module it wants to talk to. Addresses can be 0x01, 0x02, 0x03...
  4. Depending on what the master has sent to the slave, there may be a reply required - the slave is now allowed to transmit and send that back to the master.
  5. If there is a possibility of a slave not hearing the address part of the message then you need to make sure it can't find its own address in the real data between the master and another slave and misinterpret that transmission.
  6. If it's important that data is never lost, then there needs to be some way for the master to know that it got all of the message from the slave - a checksum in the last byte will allow it to check if the data is complete and undamaged.
  7. Putting a checksum on the outgoing master messages helps with both #5 and #6, but then you always expect a reply from the slave to acknowledge the command. If the master gets no ACK, then it re-sends, after a short delay.
  1. The master sends a byte at the beginning of every transmission, which is the address of the module it wants to talk to. Addresses can be 0x01, 0x02, 0x03...

And, 0 is everybody, but don't use that for a message that needs a response.