Enviar datos de pines digitales del MEGA2560 al ESP8266 y esos datos subirlos a un servidor

Buenas Tardes,

Solicito ayuda para enviar datos de pines digitales del MEGA2560 al ESP8266 y luego esos datos subirlos a un servidor.
Estoy Utilizando Tarjeta WEMOS Mega + WiFi + R3 ATmega2560 + ESP8266

(RXD0/TXD0) y (Switch 3 y 4 en ON)
Codigo Mega:

#include <max6675.h>

int temp;
String str;

//Pines de conexión a Arduino para tomar la lectura.

int thermoDO = 50;// SO=Serial Out;
int thermoCS = 51;// CS = chip select CS pin;
int thermoCLK = 52;// SCK = Serial Clock pin;

// Inicializar Sensor MAX;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);

void setup()
{
Serial.begin(115200);
Serial3.begin(115200);
}

void loop()
{
temp = thermocouple.readCelsius(); //Leemos temperatura respectivamente.

Serial.print("Temperatura: ");
Serial.print(temp);
//Serial.print('&');
Serial.print(" *C ");
Serial.print(" \n");
str = String(temp);
Serial3.println(str);
delay(1000);
}

/////////////////////////////////////////////////////////////////////////////////////////////////

(RXD0/TXD0) y (Switch 5,6,7 en ON)

Codigo ESP8266:

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <max6675.h>
#include <SoftwareSerial.h>

SoftwareSerial Serial3(15,14);

// Usuario y clave de red;
const char* ssid = "";
const char
password = "
*";

unsigned long previousMillis = 0;

// We now create a URL for the request

char* host = "";
const char
server = "
*******************";
String url = "/Datos/Send_Data.php";
String Chip_ID = "";

int contconexion = 0;

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

String enviardatos(String datos)
{
String linea = "error";
WiFiClient client;
//strhost.toCharArray(host, 10);
if (!client.connect(host, 80))
{
Serial.println("connection failed");
return linea;
}

// This will send the request to the server
client.print(String("POST ") + url + " HTTP/1.1\r\n" +
"Host: " + server + "\r\n" +
"Accept: /" + "*\r\n" +
"Content-Length: " + datos.length() + "\r\n" +
"Content-Type: application/x-www-form-urlencoded" + "\r\n" +
"\r\n" + datos);
previousMillis = millis();

Serial.print("Requesting URL: ");
Serial.println(url);
if (!client.connected())
{
Serial.println("Disconnected!");

}
Serial.println("Enviando datos a SQL...");

unsigned long timeout = millis();
while (client.available() == 0)
{
if (millis() - timeout > 5000)
{
Serial.println(">>> Client Timeout!");
client.stop();
return linea;
}

}
// Read all the lines of the reply from server and print them to Serial
while (client.available())
{
linea = client.readStringUntil('\r');

}
Serial.print(linea);
return linea;
Serial.println();
Serial.println("closing connection");

}

void setup()
{
// Inicializar puerto serial;
Serial.begin(115200);
Serial3.begin(115200);
Serial.println("");

Serial.print("chipId: ");
Chip_ID = String(ESP.getChipId());
Serial.println(Chip_ID);
// Conectando con la red WiFi
Serial.println();
Serial.print("Conectando con ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED and contconexion<50)
{
++contconexion;
delay(500);
Serial.print(".");
}
if (contconexion < 50)
{
Serial.println("");
Serial.println("Conectado a Servidor:");
Serial.println(server);
}
else
{
Serial.println("");
Serial.println("Error de Conexion");
}

}

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

if (currentMillis - previousMillis >= 10000)
{
previousMillis = currentMillis;

//Se declara el sensor MAX6675

int thermoDO = 50;// SO=Serial Out;
int thermoCS = 51;// CS = chip select CS pin;
int thermoCLK = 52;// SCK = Serial Clock pin;

// Inicializar Sensor MAX;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);

if(Serial.available())
{
char dato = Serial3.read();
Serial.write(dato);
Serial.println(dato);
int tempC;
tempC = String(dato).toInt();
//tempC = thermocouple.readCelsius();
Serial.println();
Serial.print("Temperatura: ");
Serial.print(tempC);
Serial.println();
// Funcion para enviar datos a la base de datos SQL
enviardatos("Chip_ID=" + Chip_ID + "&Temperatura=" + String(tempC));

}
}
}

Se conecta a la red WiFi y a servidor correctamente.
El problema es que al leer en monitor Serial, no me registra temperatura.
me aparece:

Temperatura: 0.

Agradezco su ayuda.

Por favor lee las Normas del foro y edita tu post usando etiquetas para código.