Arduino Mega send data to ESP8266-01 then ESP forward to RPI (MQTT)

I just noticed that my missing data that is supposed to display with the Temp and Humidity
(i.e.
Temp = 75 F ;
Humidity = 25 %
)
is actually displaying in bytes (75 bytes)) or am I wrong?
I would like to be able to get a continuous stream of data that I could view from my Raspberry pi (later editing to retrieve every 15-30 minutes), eventually collecting the data into a spreadsheet of some sort.

This is my most recent code:

#include <WiFiEsp.h>
#include <WiFiEspClient.h>
#include <WiFiEspUdp.h>
#include <PubSubClient.h>

#include <Adafruit_Sensor.h>  //DHT22 sensor     
#include <DHT.h>  //DHT22     
#define DHTTYPE2 DHT22   // DHT 22  (AM2302)     
#define DHTPIN2 2     // what pin we're connected to     
DHT dht2(DHTPIN2, DHTTYPE2); // 11 works fine for ESP8266
int reading2;
int chk2;
float hum2;  //Stores humidity value
float temp2; //Stores temperature value

char ssid[] = "XXXXXX";           // your network SSID (name)
char pass[] = "XXXXXX";           // your network password
char* topic = "arduino_incoming";
char* server = "XXX.XXX.XX.XX";
#define mqtt_user "XXXXXX"
#define mqtt_password "XXXXXX"

int status = WL_IDLE_STATUS;   // the Wifi radio's status

WiFiEspClient espClient;
PubSubClient client(espClient);

void setup() {
  dht2.begin();           // initialize temperature sensor
  Serial.begin(115200);  // initialize serial for debugging
  Serial1.begin(115200);  // initialize serial for ESP module
  WiFi.init(&Serial1);  // initialize ESP module

  if (WiFi.status() == WL_NO_SHIELD)   // check for the presence of the shield
  {
    Serial.println("WiFi shield not present");
    while (true);// don't continue
  }

  while ( status != WL_CONNECTED)  // attempt to connect to WiFi network
  {
    Serial.print("Attempting to connect to WPA SSID: ");
    Serial.println(ssid);
    status = WiFi.begin(ssid, pass);  // Connect to WPA/WPA2 network
  }

  Serial.println("You're connected to the network");  // you're connected now
  client.setServer(server, 1883);  //connect to MQTT server
  client.setCallback(callback);
}

void callback(char* topic, byte* payload, unsigned int length)  //print any message received for subscribed topic
{
  Serial.print("Message arrived [");
  Serial.print(topic);
  Serial.print("] ");
  for (int i = 0; i < length; i++)
  {
    Serial.print((char)payload[i]);
  }
  Serial.println();
}

void loop()
{
  {
    Serial.println("Outside Temperature and Humidity ");
    delay(1000); //Delay 1 sec.
    hum2 = dht2.readHumidity();
    temp2 = dht2.readTemperature() * 1.8 + 32.1;
    Serial.print("  Temp = " );
    Serial.print(temp2);
    Serial.println(" F");
    Serial.print("  Humidity = ");
    Serial.print(hum2);
    Serial.println(" %");
    Serial.print("");
    Serial.println("");
    delay(10000);       //  waits 10000 milliseconds (10 sec).
    // delay(30000);       //  waits 30000 milliseconds (30 sec).
  }

  if (!client.connected())
  {
    reconnect();
  }
   client.loop();
}

void reconnect()
{
  while (!client.connected())  // Loop until we're reconnected
  {
    Serial.print("Attempting MQTT connection...");
    //    client.publish("garden", "Attempting MQTT connection using ESP_MQTT-PUB-SUB...");
    String clientId = "ESP8266Client-";  // Create a random client ID
    clientId += String(random(0xffff), HEX);

    char c_string[16];
    dtostrf(temp2, 4, 2, c_string);
    client.publish("temperature", c_string);
    dtostrf(hum2, 4, 2, c_string);
    client.publish("humidity", c_string);

    if (client.connect("ESP8266Client", mqtt_user, mqtt_password))   // Attempt to connect, just a name to identify the client
    {
      Serial.println("connected");
      //      client.publish("garden", "connected");
      //      client.publish("garden", "hello world");  // Once connected, publish an announcement...
      client.publish("Temp", "  Temp = ", temp2, " F");
      delay(1000); //Delay 1 sec.
      client.publish("Humidity", "  Humidity = ", hum2, " %");
      delay(1000); //Delay 1 sec.
      client.subscribe("Subscription");   // ... and resubscribe
    }
    else
    {
      Serial.print("failed, rc=");
      Serial.print(client.state());
      Serial.println(" try again in 5 seconds");
      delay(5000);  // Wait 5 seconds before retrying
    }
  }
}

This is the IDE output: (I shortened the output for viewing here)
[WiFiEsp] Initializing ESP module
[WiFiEsp] Initilization successful - 2.0.0
Attempting to connect to WPA SSID: MyRouter
[WiFiEsp] Connected to MyRouter
You're connected to the network
Outside Temperature and Humidity
Temp = 73.32 F
Humidity = 25.30 %

Attempting MQTT connection...[WiFiEsp] Connecting to 192.168.xx.xx
connected
Outside Temperature and Humidity
Temp = 73.32 F
Humidity = 25.20 %

Outside Temperature and Humidity
Temp = 73.32 F
Humidity = 25.20 %

Attempting MQTT connection...[WiFiEsp] Connecting to 192.168.xx.xx
connected
Outside Temperature and Humidity
Temp = 74.58 F
Humidity = 25.60 %

Outside Temperature and Humidity
Temp = 75.12 F
Humidity = 27.00 %

Attempting MQTT connection...[WiFiEsp] Connecting to 192.168.xx.xx
connected
Outside Temperature and Humidity
Temp = 77.28 F
Humidity = 29.50 %

Outside Temperature and Humidity
Temp = 87.90 F
Humidity = 38.30 %

This is from my Raspberry pi 3 terminal:(I shortened the output for viewing here)
pi@BeeHiveServer:~ $ mosquitto_sub -d -u oibdrew -P B33B3tt3rHav3MyHon3y -t Temp -t Humidity
Client mosqsub|23106-BeeHiveSe sending CONNECT
Client mosqsub|23106-BeeHiveSe received CONNACK
Client mosqsub|23106-BeeHiveSe sending SUBSCRIBE (Mid: 1, Topic: Temp, QoS: 0)
Client mosqsub|23106-BeeHiveSe sending SUBSCRIBE (Mid: 2, Topic: Humidity, QoS: 0)
Client mosqsub|23106-BeeHiveSe received SUBACK
Subscribed (mid: 1): 0
Client mosqsub|23106-BeeHiveSe received PUBLISH (d0, q0, r1, m0, 'Temp', ... (73 bytes))
Temp = F Humidity = %Attempting MQTT connection...ESP8266Client
Client mosqsub|23106-BeeHiveSe received SUBACK
Subscribed (mid: 2): 0
Client mosqsub|23106-BeeHiveSe received PUBLISH (d0, q0, r1, m0, 'Humidity', ... (25 bytes))
Humidity = %Attempti
Client mosqsub|23106-BeeHiveSe received PUBLISH (d0, q0, r0, m0, 'Temp', ... (73 bytes))
Temp = F Humidity = %Attempting MQTT connection...ESP8266Client
Client mosqsub|23106-BeeHiveSe received PUBLISH (d0, q0, r0, m0, 'Humidity', ... (25 bytes))
Humidity = %Attempti
Client mosqsub|23106-BeeHiveSe received PUBLISH (d0, q0, r0, m0, 'Temp', ... (74 bytes))
Temp = F Humidity = %Attempting MQTT connection...ESP8266Client-
Client mosqsub|23106-BeeHiveSe received PUBLISH (d0, q0, r0, m0, 'Humidity', ... (25 bytes))
Humidity = %Attempti
Client mosqsub|23106-BeeHiveSe sending PINGREQ
Client mosqsub|23106-BeeHiveSe received PINGRESP
Client mosqsub|23106-BeeHiveSe received PUBLISH (d0, q0, r0, m0, 'Temp', ... (74 bytes))
Temp = F Humidity = %Attempting MQTT connection...ESP8266Client-
Client mosqsub|23106-BeeHiveSe received PUBLISH (d0, q0, r0, m0, 'Humidity', ... (24 bytes))
Humidity = %Attempt
Client mosqsub|23106-BeeHiveSe received PUBLISH (d0, q0, r0, m0, 'Temp', ... (75 bytes))
Temp = F Humidity = %Attempting MQTT connection...ESP8266Client-
Client mosqsub|23106-BeeHiveSe received PUBLISH (d0, q0, r0, m0, 'Humidity', ... (24 bytes))
Humidity = %Attempt
Client mosqsub|23106-BeeHiveSe received PUBLISH (d0, q0, r0, m0, 'Temp', ... (75 bytes))
Temp = F Humidity = %Attempting MQTT connection...ESP8266Client-
Client mosqsub|23106-BeeHiveSe received PUBLISH (d0, q0, r0, m0, 'Humidity', ... (24 bytes))
Humidity = %Attempt
Client mosqsub|23106-BeeHiveSe sending PINGREQ
Client mosqsub|23106-BeeHiveSe received PINGRESP