1 nrf24l01 como servidor, varios como clientes

Muy buenas, estoy intentando ampliar los clientes a una conexion que tengo ya hecha con los nrf24l01+, pero no se que tengo que añadir mas a mis codigos tanto al emisor como el recpetor, os dejo los codigos a ver si podeis echarme una mano , gracias.

EMISOR

#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
#include <dht.h>
// Pin donde va conectado los datos
#define dht_pin 2
//#define DHTPIN 2
#define DHTTYPE DHT21
 
//Sonda de temperatura
//DHT dht(DHTPIN, DHTTYPE);
dht DHT; 
//La última vez que envía datos a través de la NRF (en ms)
long lastSend = 0;
 
//El retardo entre cada envío (en ms)
  int sendDelay = 5*1000;//Aqui 5sec
 
//El identificador de cada sonda. Este identificador debe ser único a una sonda.
int probeId = 0;
//float packet; 
void setup() 
{
  Serial.begin(9600);
  Serial.println("Inicio del sensor.");
  //dht.begin();
  Mirf.cePin = 9;
  Mirf.csnPin = 10;
  //Se incializa Mirf , para gestioner el rf24
  Mirf.spi = &MirfHardwareSpi;
  Mirf.init();
  Mirf.setRADDR((byte *)"prob1");//El nombre de la sonda del sensor
  Mirf.payload = 5;//La longitud del paquete que transitará
  Mirf.config();
  Mirf.configRegister(RF_SETUP,0x06);
  Mirf.setTADDR((byte*)"serv0");//El nombre del servidor al que transmite nuestros dato

  Serial.println( "nRF24L01+ inicializando!" );
  DHT.read21(dht_pin);
  Serial.println(DHT.temperature);
  Serial.println(DHT.humidity);  
}
 
void loop() 
{
  //Si, durante el tiempo entre las transferencias de datos
  if(lastSend+sendDelay <= millis())
  {
    Serial.println("Enviando...");
     
    //Si uno se está enviando, esperamos que se acabe
    while(Mirf.isSending()){
    }
     
    //Actualiza los valores de DHT21 (IMPORTANTE, poner en readdhtxx el que corresponda a tu sensor)
    DHT.read21(dht_pin);   
 
    //El paquete se crea con una longitud de tres bytes
    byte packet[5];
     
    //El ID del sensor
    packet[0] = (float) probeId;
     
    //La temperatura
    packet[1] = DHT.temperature;
    packet[2] = (DHT.temperature-packet[1])*100;
    //La humedad
    packet[3] = DHT.humidity;
    packet[4] = (DHT.humidity-packet[3])*100;
    //Enviamos el paquete
    Mirf.send(packet);
     
    //Muestra los datos del paquete de depuración
    Serial.print("Temp:");
    Serial.print(packet[1]);
    Serial.print(".");
    Serial.println(packet[2]);
    Serial.print("Humi:");
    Serial.print(packet[3]);
    Serial.print(".");
    Serial.println(packet[4]);
    
     
    //Actualiza la "fecha" de la transmisión de datos reciente
    lastSend = millis();
  }
}

RECEPTOR CON SENSOR DE PRESION

#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
#include <Ethernet.h>
#include <SFE_BMP180.h>
#include <Wire.h> 
//Se declara la instancia de la libreria
SFE_BMP180 pressure;
double PresionBase;
double Presion = 0;
double Altura = 0;
double TemperaturaInterior = 0;
char status;

//La direccion MAC del shield ethernet
byte mac[] = {0xAA, 0xBB, 0xCC, 0x18, 0x01, 0x95};
 
//Puerto de escucha xx
EthernetServer server(8081);
 
//Ip fija 
IPAddress ip(192,168,1,123);

 
//Ultimos datos del sensor DHT21
int lastTemp = 0;
int lastTemp2 = 0;
int lastHumi = 0;
int lastHumi2 = 0;

//Los valores cambia desde los ultimos enviado desde el ethernet
boolean valuesHaveChanged = false;
 
void setup() 
{
  //Se inicia la conexion serial
  Serial.begin(9600);
  
 
  /*
   * Se inicia el nrf24L01
   */
  Mirf.cePin = 9;
  Mirf.csnPin = 8;
  Mirf.spi = &MirfHardwareSpi;
  Mirf.init();
  Mirf.setRADDR((byte *)"serv0");//El nombre del servidor/receptor nrf24l01
  Mirf.payload = 5;//Longitud del paquete en bytes
  Mirf.config();
  ////Mirf.configRegister(RF_SETUP,0x06);
 
  
  Serial.println( "nRF24L01+ inicializando!" );
  
  Serial.println("Inicio de la captura del sensor.");
  SensorStart();
   
  //Se inicia el servidor , dando una ip y la mac.
  Ethernet.begin(mac, ip);
  server.begin();
   
  //Muestra la Ip , para comprobar que todo este bien
  Serial.print("Direccion obtenida del servidor DHCP: ");
  Serial.println(Ethernet.localIP());
}
 
 
void loop() 
{
 
  //Recuperacion del servidor si entra un cliente
  EthernetClient client = server.available();
   
  //Si esta disponible los datos (nrf24L01+)
  if(Mirf.dataReady())
  {
    //Creamos la tabla que contendrá los datos
    byte datas[8];
    datas[0]; 
    //Se recupera y coloca los datos en la tabla
    Mirf.getData(datas);
    ReadSensor(); 
    //Se muestra los datos mediante el puerto serie para la depuración
    Serial.print("Temp:");
    Serial.print(datas[1]);
    Serial.print(".");
    Serial.println(datas[2]);
    Serial.print("Humi:");
    Serial.print(datas[3]);
    Serial.print(".");
    Serial.println(datas[4]);
    Serial.print("Presion:");
    Serial.println(Presion);
    Serial.print("Altura:");
    Serial.println(Altura);
    Serial.print("TemperaturaInterior:");
    Serial.println(TemperaturaInterior);
     
    //Almacena los ultimos datos
    lastTemp = datas[1];
    lastTemp2 = datas[2];
    lastHumi = datas[3];
    lastHumi2 = datas[4];
    Presion = Presion;
    Altura = Altura;
    TemperaturaInterior = TemperaturaInterior;	
    //Se le dice al programa que los valores han cambiado y por lo que hay cosas que se devuelvan
    valuesHaveChanged = true;
  }
   
  //Si un cliente entra, se recupera el servidor
  if (client) 
  {
    Serial.println("Nuevo cliente");
 
    boolean currentLineIsBlank = true;
     
    //Mientras el cliente está conectado
    while (client.connected()) 
    {
      //Hasta que haya terminado de leer su petición
      if (client.available()) 
      {
        //Lee la peticion del cliente , y muestra lo del serial
        char c = client.read();
        Serial.write(c);
         
        //Si nos encontramos con un salto de línea y la línea actual ya está vacía
        if (c == '\n' && currentLineIsBlank) 
        {
          //Responde a la petición con nuestros datos
          client.println("HTTP/1.1 200 OK");//Código 200 = Todo fue bien
          client.println("Content-Type: application/xml");//Especifica el MIME-TYPE que envía datos (XML)
          client.println("Connection: close");  
          client.println();
           
          client.println("<?xml version=\"1.0\"?>");//Cabecera del documento XML
           
          //El elemento raíz del documento XML
          client.println("<sensors>");
           
          
          for (int i = 0; i < 1; i++) 
          {
            //Se crea un elemento para cada sensor
            client.print("<sensor name=\"sns");
            client.print(i);//Id del sensor
            client.println("\">");
             
            //Se crea un elemento secundario que contiene los valores de temperatura
            client.print("<temperatura>");
            //Si los valores del sensor han cambiado, se envia
            if(valuesHaveChanged)
              client.print(lastTemp);
              client.print(".");
              client.print(lastTemp2);
              client.println("</temperatura>");
                         
            //Se crea un elemento secundario que contiene valores de humedad
            client.print("<humedad>");
            //Si los valores del sensor han cambiado, se envia
            if(valuesHaveChanged)
              client.print(lastHumi);
              client.print(".");
              client.print(lastHumi2);
              client.println("</humedad>");
            
            //Se crea un elemento secundario que contiene el valor de la presion 
            client.print("<Presion>");
            if(valuesHaveChanged)
              client.print(Presion);
              client.println("</Presion>");
            
            //Se crea un elemento secundario que contiene el valor de la temperatura interior  
            client.print("<TemperaturaInterior>");
            if(valuesHaveChanged)
              client.print(TemperaturaInterior);
              client.println("</TemperaturaInterior>");
             
            client.println("</sensor>");   
          }
           
          //El elemento raíz sera cerrada
          client.println("</sensors>");
          break;
        }
         
        //Si se salta una línea
        if (c == '\n') 
        {
          //Es que comienza una nueva línea
          currentLineIsBlank = true;
        } 
        else if (c != '\r') 
        {
          //Un caracter en la linea actual , no esta vacia
          currentLineIsBlank = false;
        }
      }
    }
    //Se deja a la vez el navegador del cliente para recuperar datos
    delay(1);
     
    //Desconexión del cliente
    client.stop();
    Serial.println("cliente desconectado");
  }
}

void SensorStart() {
  if (pressure.begin())
     Serial.println("BMP180 init success");
  else
{

Serial.println("BMP180 init fail (disconnected?)\n\n");
while (1);
}
status = pressure.startTemperature();
if (status != 0)   {
  delay(status);
  status = pressure.getTemperature(TemperaturaInterior);
  if (status != 0)   {
    status = pressure.startPressure(3);
    if (status != 0)   {
      delay(status);
      status = pressure.getPressure(PresionBase, TemperaturaInterior);
      }
    }
  }
}  

void ReadSensor () {
  status = pressure.startTemperature();
  if (status != 0)
  {
    delay(status);
    status = pressure.getTemperature(TemperaturaInterior);
    if (status != 0)
    {
      status =pressure.startPressure(3);
      if (status != 0)
      {
        delay(status);
        status = pressure.getPressure(Presion, TemperaturaInterior);
        if (status != 0)
        {
          Altura = pressure.altitude(Presion, TemperaturaInterior);
          if (status != 0)
          {
            Altura = pressure.altitude(Presion, PresionBase);
            }
            else Serial.println("error en la lectura de presion\n");
            }
            else Serial.println("error iniciando la lectura de presion\n");
            }
            else Serial.println("error en la lectura de temperatura\n");
            }
            else Serial.println("error iniciando la lectura de temperatura\n");
          }
          }

has podido finalizar tu conexion? estoy trabajando en algo similar si tienes algo de ayuda que ofrecer me vendria bien