want guidance for choose best UART or USART RF module for Arduino

hello every body , I want to create a Star or Mesh network with arduino like image below :
the distance node between master is about 2 km.
I want to create full duplex communication , send sensor information from nodes to master node , that master node reply to each one.
witch kind of RF module is best for my solution ?
my RF module must be UART or USART , Cause of I cant use SPI Protocol , because I use SD card that use SPI Protocol.

hzajkani:
my RF module must be UART or USART , Cause of I cant use SPI Protocol , because I use SD card that use SPI Protocol.

Not true, you can use the CS (chip select) pins on each slave connected to the SPI bus to determine which SPI slave to interact with at a given time.

If you still want UART RF, look up XBees; they're great little devices and might have what you're looking for.

Unfortunately there have been several Threads here in which people have trouble getting their SD Card to work with other SPI devices.

@hzajkani, you may wish to consider HC-12 wireless modules - there have been good reports about them but I have not used them myself. My experience is with the nRF24L01+ modules but they may not have the range you require - and they use SPI. However there is an nRF24 Network library.

Of course it may not be too difficult to adapt the nRF24 Network code to work with other types of wireless module.

…R

Power_Broker:
Not true, you can use the CS (chip select) pins on each slave connected to the SPI bus to determine which SPI slave to interact with at a given time.

If you still want UART RF, look up XBees; they're great little devices and might have what you're looking for.

yes I can separate the SPI with soft SPI , But Its not work with SD Library ! So I want to use UART or USART .

Of course it may not be too difficult to adapt the nRF24 Network code to work with other types of wireless module.

how ? can you linked me some tutorials ?

hzajkani:
yes I can separate the SPI with soft SPI , But Its not work with SD Library ! So I want to use UART or USART .

NO. Did you not read what I wrote?!?!? Use the CS pin to select a given SPI device on the same bus to interface with at a given time. No soft SPI required.

hzajkani:
how ? can you linked me some tutorials ?

I have no links to give you. I envisaged that you would start by downloading and studying the TMRh20 code. And I am only guessing that it could be adapted to work with different wireless modules.

...R

Power_Broker:
Use the CS pin to select a given SPI device on the same bus to interface with at a given time. No soft SPI required.

Are you aware that several people have reported in other Threads that that does not work with the SD Card shield - even though it should.

If you are, and can post details of a work-around I'm sure lots of people will be grateful.

...R