Confused how to communicate esp8266 12e with arduino nano

#include <ESP8266WiFi.h>
#include <Servo.h>
Servo myservo;




/*
  If you have no idea about this library, you can watch the tutorial below
  NodeMCU ESP8266 Tutorial 01: Programming NodeMCU ESP-12E Using Arduino IDE
  https://youtu.be/NtyFx1frYB0
*/

/* define port */
WiFiClient client;
WiFiServer server(80);

/* WIFI settings */
const char* ssid = "TP-LINK_C959D0";
const char* password = "12341234a";
#define TRIGGER 5
#define ECHO    4

// NodeMCU Pin D1 > TRIGGER | Pin D2 > ECHO





/* data received from application */
String  data = "";

/* define L298N or L293D motor control pins */
int leftMotorForward = 2;     /* GPIO2(D4) -> IN3   */
int rightMotorForward = 15;   /* GPIO15(D8) -> IN1  */
int leftMotorBackward = 0;    /* GPIO0(D3) -> IN4   */
int rightMotorBackward = 13;  /* GPIO13(D7) -> IN2  */



/* define L298N or L293D enable pins */
int rightMotorENB = 14; /* GPIO14(D5) -> Motor-A Enable */
int leftMotorENB = 12;  /* GPIO12(D6) -> Motor-B Enable */

void setup()
{
   Serial.begin (9600);
 /* initialize motor control pins as output */
 pinMode(leftMotorForward, OUTPUT);
 pinMode(rightMotorForward, OUTPUT);
 pinMode(leftMotorBackward, OUTPUT);
 pinMode(rightMotorBackward, OUTPUT);
 pinMode(TRIGGER, OUTPUT);
 pinMode(ECHO, INPUT);
 pinMode(BUILTIN_LED, OUTPUT);

 myservo.attach(16);


 

 /* initialize motor enable pins as output */
 pinMode(leftMotorENB, OUTPUT);
 pinMode(rightMotorENB, OUTPUT);

 /* start server communication */
 server.begin();
}

void loop()
{
 /* If the server available, run the "checkClient" function */
 client = server.available();
 if (!client) return;
 data = checkClient ();

 long duration, distance;
 digitalWrite(TRIGGER, LOW);  
 delayMicroseconds(2); 
 
 digitalWrite(TRIGGER, HIGH);
 delayMicroseconds(10); 
 
 digitalWrite(TRIGGER, LOW);
 duration = pulseIn(ECHO, HIGH);
 distance = (duration/2) / 29.1;
 
if (distance < 25)MotorStop();
 
 

  /************************ Run function according to incoming data from application *************************/

 /* If the incoming data is "forward", run the "MotorForward" function */
 if (data == "forward") MotorForward();
 /* If the incoming data is "backward", run the "MotorBackward" function */
 else if (data == "backward") MotorBackward();
 /* If the incoming data is "left", run the "TurnLeft" function */
 else if (data == "left") TurnLeft();
 /* If the incoming data is "right", run the "TurnRight" function */
 else if (data == "right") TurnRight();
 /* If the incoming data is "stop", run the "MotorStop" function */
 else if (data == "stop") MotorStop();
 

 
 else if (data == "servo forward") servoforward ();
 else if (data == "servo backward") servobackward ();
 else if (data == "servo left") servoleft ();
 else if (data == "servo right") servoright ();
 else if (data == "servoforwardright") servoforwardright ();
 else if (data == "servoforwardrleft") servoforwardleft ();
 else if (data == "servobackwardleft") servobackwardleft ();
 else if (data == "servobackwardright") servobackwardright ();
 

}

/********************************************* FORWARD *****************************************************/

void servoforward(void)
{
myservo.write(45);

}
void servobackward(void)
{
myservo.write(90);

}
void servoleft(void)
{
myservo.write(135);

}
void servoright(void)
{
myservo.write(45);

}
void servoforwardleft(void)
{
myservo.write(160);

}
void servoforwardright(void)
{
myservo.write(30);

}
void servobackwardleft(void)
{
myservo.write(130);

}
void servobackwardright(void)
{
myservo.write(75);

}

void MotorForward(void)
{
 digitalWrite(leftMotorENB, HIGH);
 digitalWrite(rightMotorENB, HIGH);
 digitalWrite(leftMotorForward, HIGH);
 digitalWrite(rightMotorForward, HIGH);
 digitalWrite(leftMotorBackward, LOW);
 digitalWrite(rightMotorBackward, LOW);
}

/********************************************* BACKWARD *****************************************************/
void MotorBackward(void)
{
 digitalWrite(leftMotorENB, HIGH);
 digitalWrite(rightMotorENB, HIGH);
 digitalWrite(leftMotorBackward, HIGH);
 digitalWrite(rightMotorBackward, HIGH);
 digitalWrite(leftMotorForward, LOW);
 digitalWrite(rightMotorForward, LOW);
}

/********************************************* TURN LEFT *****************************************************/
void TurnLeft(void)
{
 digitalWrite(leftMotorENB, HIGH);
 digitalWrite(rightMotorENB, HIGH);
 digitalWrite(leftMotorForward, LOW);
 digitalWrite(rightMotorForward, HIGH);
 digitalWrite(rightMotorBackward, LOW);
 digitalWrite(leftMotorBackward, HIGH);
}

/********************************************* TURN RIGHT *****************************************************/
void TurnRight(void)
{
 digitalWrite(leftMotorENB, HIGH);
 digitalWrite(rightMotorENB, HIGH);
 digitalWrite(leftMotorForward, HIGH);
 digitalWrite(rightMotorForward, LOW);
 digitalWrite(rightMotorBackward, HIGH);
 digitalWrite(leftMotorBackward, LOW);
}

/********************************************* STOP *****************************************************/
void MotorStop(void)
{
 digitalWrite(leftMotorENB, LOW);
 digitalWrite(rightMotorENB, LOW);
 digitalWrite(leftMotorForward, LOW);
 digitalWrite(leftMotorBackward, LOW);
 digitalWrite(rightMotorForward, LOW);
 digitalWrite(rightMotorBackward, LOW);
}

/********************************** RECEIVE DATA FROM the APP ******************************************/
String checkClient (void)
{
 while (!client.available());
 String request = client.readStringUntil('\r');
 request.remove(0, 5);
 request.remove(request.length() - 9, 9);
 return request;
}