Nrf24l01 and ethernet shield

Hi there,

I have a strange sytuation that happens in my program, but let’s begin with the description.

I am using arduino micro to send data to arduino Mega with 2000ms interval using nrf24l01 module, mega also collects data from connected to it sensors and then mega is sendng data to mysql server with fixed interval of 60000ms.

the problem is that when i dont power my nano the data from mega to mysql are sended as they suposed to be (60000ms interval) but when i am starting my nano and beginning to receive packets (interval 2000ms) the data to mysql are sended every time i am receiving data packets form my nano.
(interval changes from 60000ms to 2000ms)

here is my program.

#include <RF24Network.h>
#include <RF24.h>
#include <SPI.h>
#include <Ethernet.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <Adafruit_BMP085.h>
#include <dht22.h>


/*******************************************************************************
 							 	   ETHERNET:
*******************************************************************************/

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
  
// Enter the IP address for Arduino, as mentioned we will use 192.168.0.16
// Be careful to use , insetead of . when you enter the address here
IPAddress ip(192, 168, 0, 17);

char server[] = "192.168.0.15";   // Raspberry Pi ethernet address

// Initialize the Ethernet server library
EthernetClient client;

/*******************************************************************************
 								    DHT-22:
*******************************************************************************/

dht22 DHT22;

/*******************************************************************************
 							  BMP-085 / BMP-180:
*******************************************************************************/

Adafruit_BMP085 bmp;

/*******************************************************************************
 								   DS18B20:
*******************************************************************************/

// DS18B20 is plugged into Arduino D4
#define ONE_WIRE_BUS 3
// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
// This is DS18B20 #20 address
DeviceAddress TempIN = { 0x28, 0x3F, 0x71, 0x7B, 0x05, 0x00, 0x00, 0x7E };
DeviceAddress TempOUT = { 0x28, 0x6B, 0xFA, 0x2B, 0x02, 0x00, 0x00, 0x95 };

/*******************************************************************************
 								  NRF24L01:
*******************************************************************************/

//#define NumNodes 1
// nRF24L01(+) radio attached using Getting Started board
RF24 radio(7, 8);

// Network uses that radio
RF24Network network(radio);

// Channel of our node
const uint16_t channel = 90; 

// Address of our node
const uint16_t this_node = 00;

// Address of the other node
const uint16_t other_node = 01;	   // used when we are receiving data from node 01

// Structure of our payload
struct payload_t
{
	unsigned long counter;
	float tempC;				// 4 bytes

};

unsigned long NodeCounter[01];
float NodeTempC[01];

/*******************************************************************************
 								
*******************************************************************************/

long previousMillis = 0;         // will store last time LED was updated
const long interval = 60000;           // interval at which to blink (milliseconds)

/*******************************************************************************
 								LOOP SEQUENCES:
*******************************************************************************/

//Prototypes for utility functions
void getRadioData();				// get Radio data
void sendWebData();


/*******************************************************************************
									SETUP:
*******************************************************************************/

void setup() {
  
  // Serial.begin starts the serial connection between computer and Arduino
  Serial.begin(57600);
  	Serial.println("Starting Up");
	if (!bmp.begin())
	{
		Serial.println("Could not find a valid BMP085 sensor, check wiring!");
		while (1) {}
	}


  // 1-Wire start
  sensors.begin();

  // DS18B20 12bit config	
  sensors.setResolution(TempIN, 12);
  sensors.setResolution(TempOUT, 12);
  
  // DHT-22 Digital Pin definition
  DHT22.attach(2);
  
  // Radio setup
  radio.begin();
  // network.begin(/*channel*/, /*node address*/);
  network.begin(channel, this_node);
  
  // start the Ethernet connection
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    // try to congifure using IP address instead of DHCP:
    Ethernet.begin(mac, ip);
  }
}

/*******************************************************************************
								  MAIN LOOP:                
*******************************************************************************/
void loop(void)
{
		// Pump the network regularly
	network.update();
	sensors.requestTemperatures();
	// Is there anything ready for us?
	while ( network.available() )
	{
		// If so, grab it and print it out
		getRadioData();
		
	}
	sendWebData();
		delay(100);
}

/*******************************************************************************
								 SEND WEB DATA:                
*******************************************************************************/

void sendWebData() 
{
  	unsigned long currentMillis = millis();

	if(currentMillis - previousMillis >= interval)
		{
			// save the last time you blinked the LED
			previousMillis = currentMillis;

  			// Connect to the server (your computer or web page)  
  			if (client.connect(server, 80)) {
  	//sensors.requestTemperatures();
    Serial.println("-> Connecting To Remote Data Base");
    Serial.println("-> Connection Establisched");
    Serial.println("-> Sending Data");
    client.print("GET /write_data.php?"); 
    client.print("TempIN=");
    client.print(sensors.getTempC(TempIN), 2);
    //client.print(photocellReading); // And this is what we did in the testing section above. We are making a GET request just like we would from our browser but now with live data from the sensor
    client.print("&TempOUT=");
    client.print(sensors.getTempC(TempOUT), 2);
    client.print("&Press=");
    client.print(bmp.readPressure() / 100.0, 2);
    client.print("&Hum=");
    client.print((float)DHT22.humidity, 2);
    client.print("&Dew=");
    client.print(DHT22.dewPoint(), 2);
    //client.print("&Lux=");
    client.print("&Lux=");
    client.print(NodeCounter[01]);
    //client.print("&TerraT1=");
    //client.print("&TerraT2=");
    //client.print("&TerraHum=");
    client.println(" HTTP/1.1"); // Part of the GET request
    client.println("Host: 192.168.0.15");		
    client.println("Connection: close"); // Part of the GET request telling the server that we are over transmitting the message
    client.println(); // Empty line
    client.println(); // Empty line
    client.stop();    // Closing connection to server
    Serial.println("-> Data Sending Completed");
    Serial.println("========================================");
    Serial.println("DEBUG:");
    Serial.print("TempIN: ");
    Serial.println(sensors.getTempC(TempIN), 2);
    Serial.print("TempOUT: ");
    Serial.println(sensors.getTempC(TempOUT), 2);
    Serial.print("Press: ");
    Serial.println(bmp.readPressure() / 100.0, 2);
    Serial.print("Hum: ");
    Serial.println((float)DHT22.humidity, 2);
    Serial.print("Dew: ");
    Serial.println(DHT22.dewPoint(), 2);
    Serial.println(NodeCounter[01]);
    Serial.println("========================================");

  }

  else {
    // If Arduino can’t connect to the server (your computer or web page)
    Serial.println("-> connection failed/n");
  	}
  }
}

/*******************************************************************************
								  GET RADIO DATA:                
*******************************************************************************/

void getRadioData()
{
	RF24NetworkHeader header;
	payload_t payload;
	bool done = false;

	while (!done)
	{
		done = 	network.read(header, &payload, sizeof(payload));

		NodeCounter[header.from_node] = payload.counter;
		NodeTempC[header.from_node] = payload.tempC;
	}
}

I am using modified library RF24 with software SPI.

Any one have any idea ?