here is my code if anyone can help
#include <stdlib.h>
#include <SoftwareSerial.h>
int trigPin= A0;
int echoPin =A1;
//unsigned long myChannelNumber = 82618;
//const char * apiKey = "GZ2I4B8QGO6FI9I6";
String apiKey = "6H0LLYGUT4124FD1";
SoftwareSerial ser(2,3); // RX, TX
//int i=1;
void setup() {
// put your setup code here, to run once:
pinMode(trigPin , OUTPUT);
pinMode(echoPin , INPUT);
Serial.begin(115200);
// delay(2000);
// enable debug serial
//Serial.begin(115200);
// enable software serial
ser.begin(115200);
// reset ESP8266
ser.println("AT+RST");
}
void loop() {
// put your main code here, to run repeatedly:
float duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
Serial.print("LeftSensor");
Serial.print(" =");
Serial.print(distance);
Serial.println(" cm");
// Serial.print("LeftSensor");
//Serial.print(" =");
//
//
// Serial.print(distance);
// Serial.println(" cm");
// if (distance<20)
// Serial.println( " WARNING! TOO CLOSE FROM LEFT! ");
//
//String state1=String(distance);
char buf[32];
String dis = dtostrf( distance,8, 2, buf);
Serial.println(dis);
//Serial.println(" cm");
// TCP connection
String cmd = "AT+CIPSTART=\"TCP\",\"";
cmd += "184.106.153.149"; // api.thingspeak.com
cmd += "\",80";
ser.println(cmd);
Serial.println(cmd);
if(ser.find("Error")){
Serial.println("AT+CIPSTART error");
return;
}
// prepare GET string
String getStr = "GET /update?api_key=";
getStr += apiKey;
getStr +="&field1=";
getStr += String(dis);
getStr += "
";
// send data length
cmd = "AT+CIPSEND=";
cmd += String(getStr.length());
ser.println(cmd);
Serial.println(cmd);
if(ser.find(">")){
ser.print(getStr);
Serial.print(getStr);
}
else{
ser.println("AT+CIPCLOSE");
// alert user
Serial.println("AT+CIPCLOSE");
}
//ThingSpeak.writeField(myChannelNumber, 1, dis, apiKey);
// thingspeak needs 15 sec delay between updates
delay(16000);
}