(SOLUCIONADO) Prob. para pasar variable por serial de Arduino Uno a módulo 8266

Hola! hace días que estoy lidiando con esto y no consigo resolverlo por más que busco soluciones en google.
Quiero enviar una variable que reúne peso, hora y minuto de un Arduino uno a un módulo 8266 por serial para que éste lo envíe los datos a una página web (ahí se separa la variable en los tres datos que necesito). El problema es que no consigo que el Arduino envíe la variable o que el módulo la lea.
Si en el módulo 8266 le doy un valor concreto a la variable "envio" (por ejemplo: "34b12b30b") todo funciona perfectamente pero si dejo que el arduino le envíe el valor de la variable por serial (que es justamente lo que necesito) no pasa nada. En que me estoy equivocando???

EN EL ARDUINO UNO:

Void loop() {
 W8266.begin(9600);
  int pe=(balanza.get_units(20)); //Pesa
  DateTime now = rtc.now(); // Obtener hora actual y mostrar por Serial
  byte H = now.hour();
  byte M = now.minute();
 char envio[12];
 sprintf(envio, "%3db%2db%2db", pe, H, M);
 W8266.println(envio);
}

EN EL MODULO 8266:

void loop() {
String envio;
 Serial.print("connecting to ");
 Serial.println(host);
 // Use WiFiClient class to create TCP connections
 WiFiClient client;
 const int httpPort = 80;
 if (!client.connect(host, httpPort)) {
   Serial.println("connection failed");
   delay(10000);
   return;
 }

// send data only when you receive data:
      if (Serial.available() > 0) {
            envio = Serial.read();
String url = "/ensayo.php";
 String dato1 = "?peso=";
 String dato2 = envio;
Serial.print("Requesting URL: ");
 Serial.println(url);
 client.print(String("GET ") + url + dato1 + dato2 + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n");
 unsigned long timeout = millis();
 while (client.available() == 0) {
   if (millis() - timeout > 5000) {
     Serial.println(">>> Client Timeout !");
     client.stop();
     return;
         }
 }
}

EN LA PAGINA WEB:

<?php

 $peso= $_GET["peso"];
 list($palabra1, $palabra2, $palabra3) = explode('b', $peso);

if (!is_null($peso))
{ 
$file = fopen("registro.txt", "a");

fwrite($file, "$hoy"); 
fwrite($file, "--------");
fwrite($file, "Peso ");
fwrite($file, "$palabra1");
fwrite($file, " kg");
fwrite($file, "----");
fwrite($file, "Hora ");
fwrite($file, "$palabra2");
fwrite($file, ":");
fwrite($file, "$palabra3" . PHP_EOL);
fclose($file);

}
$file = fopen("registro.txt", "r");
while(!feof($file)) {
$linea = fgets($file);
echo $linea . "
";

}
fclose($file); 
?>

Lee las Normas del foro.

Edita tu post de acuerdo a las normas

Gracias! Así está bien??

Solucioné el problema cambiando el código de recepción de la variable en el módulo 8266. Lo encontré en un artículo de Luis Llamas.

while (Serial.available())
   {
      char character = Serial.read();
      if (character != '\n')
      {
         data.concat(character);
      }
      else
      {
         Serial.println(data);
         data = "";
      }
   }

Te iba a decir anoche pero me venció el sueño que esto

 if (Serial.available() > 0) {
            envio = Serial.read();

solo procesas de a 1 caracter.