ESP8266 and Thingspeak

Hi i have Arduino Duemilanove and ESP8266 and 18B20 dallas tempeture.
And i need send data to thingspek.com but this code no sending data.
But why?

#include <TextFinder.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <SoftwareSerial.h>

//ESP 8266 je na portu 2,3 - připomínám, že je potřeba mít flashlou verzi, která podporuje rychlost 9600b/s - SoftwareSerial nelze použít s vyšší rychlostí, než 19200!!!


SoftwareSerial espSerial(2,3); // RX, TX

//#define DEBUG   
//Dále inicializujeme komponenty pro zacházení s 1Wire rozhraním a teploměry DS18B20

//pro teploměr
#define ONE_WIRE_BUS 6
#define TEMPERATURE_PRECISION 9 
#define IP "184.106.153.149" // thingspeak.com
String GET = "GET /update?key=8O2BV9V8YJ3WQSDY&field1=";



OneWire oneWire(ONE_WIRE_BUS); 
DallasTemperature sensors(&oneWire);
DeviceAddress insideThermometer, outsideThermometer; 
float teplota;
//Definujeme SSID a Heslo pro Wifi a pár dalších nezbytností ...

//pro WiFi
#define SSID "kuwifi"
#define PASS "arakaina"
#define RESET 5
#define LED 13 //ledka na Arduinu

bool wifiConnected;
uint8_t cnt;
String addr;
char channel;

TextFinder finder(espSerial);



void setup() 
{ 
   
  wifiConnected = false;
  pinMode(LED, OUTPUT);
  digitalWrite(LED,LOW);
  pinMode(RESET,OUTPUT);
  delay(500);
  reset();
      
  Serial.begin(115200); // Serial monitor
  espSerial.begin(9600); // ESP8266

  //espSerial.println("AT+RST");
//Po zapnutí napájení si počkáme, až se nám ESP8266 ohlásí ...

  Serial.println(F("ESP8266 & DS18B20 Web."));
  for (int i = 0; i < 5; i++)
  {
     delay(1000);
     if (espSerial.find("ready")) break;
     clearSerialBuffer();
  }
  


  Serial.print("AT : ");
  Serial.println(ATCommandSend("AT",500) );
  clearSerialBuffer();



  wifiInit();
 
  //ESP8266 je od této chvíle viditelný na síti
  Serial.println(F("Webserver bezi"));
  digitalWrite(LED,HIGH);






  sensors.begin(); 
  Serial.println("***************************************************");
  Serial.print("Pocet teplomeru: "); 
  Serial.println(sensors.getDeviceCount(), DEC);
  //zjisti adresy
  oneWire.reset_search(); 
  if (!oneWire.search(insideThermometer)) Serial.println("Vnitrni teplomer nenalezen!"); 
  if (!oneWire.search(outsideThermometer)) Serial.println("Vnejsi teplomer nenalezen!"); 
  Serial.print("Adresa teplomeru 1: ");
  printAddress(insideThermometer);
  Serial.println();

  Serial.print("Adresa teplomeru 2: ");
  printAddress(outsideThermometer);
  Serial.println(); 


  sensors.setResolution(insideThermometer, TEMPERATURE_PRECISION);
  sensors.setResolution(outsideThermometer, TEMPERATURE_PRECISION); 


  sensors.requestTemperatures();


  printData(insideThermometer);
  printData(outsideThermometer); 


  if (Serial.available()>0) Serial.flush();
  clearSerialBuffer();
  cnt = 0;

}


 
void loop() 








{
  
  if (espSerial.available()>0)
  {
    if( finder.find("+IPD,") ) 
    {            
        delay(20);
      channel=espSerial.read();
      homepage(channel-'0');
      homepage(channel-'0'+1);
      delay(20);
      clearSerialBuffer();


#ifdef DEBUG
     Serial.println("WEB! "+String(channel));
     Serial.print(F("AT+CIPMUX=1 : "));
     Serial.println( ATCommandSend("AT+CIPMUX=1", 100) );
     Serial.print(F("AT+CIPSERVER=1,8888 : "));
     Serial.println( ATCommandSend("AT+CIPSERVER=1,8888", 100) );
     delay(20);
     clearSerialBuffer();
#endif // DEBUG

    }
  }
  keepAlive();
}


void keepAlive()
{
   delay(100);
   cnt++;
   if (cnt>50)
   {
      cnt = 0;
      espSerial.println("AT");
      delay(50);
      if (!finder.find("OK")) 
      {
   #ifdef DEBUG
        Serial.println("ESP8266 ERROR!");
   #endif // DEBUG
         wifiInit();
      }
      espSerial.println("AT+CIPSERVER=1,8888");
      delay(50);
      if (!finder.find("nochange")) wifiInit();
   }
}
 





void homepage(int ch_id) 
{
  
  sensors.requestTemperatures();
  teplota = sensors.getTempC(insideThermometer);
  String term = String(teplota,2);
  clearSerialBuffer();

  String Header;
  Header =  "HTTP/1.1 200 OK\r\n";
  Header += "Content-Type: text/html\r\n";
  Header += "Connection: close\r\n";  

  String Content;
  Content = "<h1>Teplota = ";
  Content += term;
  char degree = 176;
  Content += String(degree);
  Content += "C</h1>";
  
  Header += "Content-Length: ";
  Header += (int)(Content.length());
  Header += "\r\n\r\n";
  
  espSerial.print("AT+CIPSEND=");
  espSerial.print(String(ch_id));
#ifdef DEBUG
  Serial.println("Kanal: "+String(ch_id));
#endif // DEBUG

  espSerial.print(",");
  espSerial.println(Header.length()+Content.length());
  delay(1000);
  
  if (espSerial.find(">")) 
  {
      espSerial.print(Header);
      espSerial.print(Content);
     delay(20);
     clearSerialBuffer();
     //espSerial.println("AT+CIPCLOSE");
     //delay(50);
     //clearSerialBuffer();
   }
  
 
}


String ATCommandSend(String AT_Command, int wait)
{
  String tmpData = "";
  
  espSerial.println(AT_Command);
  delay(wait);
  while (espSerial.available() >0 )  {
    char c = espSerial.read();
    tmpData += c;
    
    if ( tmpData.indexOf(AT_Command) > -1 )         
      tmpData = "";
    else
      tmpData.trim();       
          
   }
   return tmpData;
}




//restart modulu ESP8266
void reset()
{
   digitalWrite(RESET,LOW);
   delay(100);
   digitalWrite(RESET,HIGH);
}




void wifiInit()
{
  wifiConnected = false;
  digitalWrite(LED,LOW);
  //ověř asociaci na AP dle zvoleného SSID
  for (int i = 0; i < 10; i++)
  {
     espSerial.println("AT+CWJAP?");
     if (finder.find(SSID)) 
     {
        delay(20);
        clearSerialBuffer();
        digitalWrite(LED,HIGH);
        wifiConnected = true;
        break;
     }
     delay(100);
  }
  delay(1000);
  //není asociace, pokus se připojit na AP
  if (wifiConnected == false)
  {
     //Serial.print("Timeout: ");
     //Serial.println(ATCommandSend("AT+CIPSTO=60",100));
     Serial.print("Mode 1: ");
     Serial.println(ATCommandSend("AT+CWMODE=1",100));
 
     for (int i = 0; i < 5; i++)
     {
        if (connectWiFi() == true)
        {
           wifiConnected = true;
           clearSerialBuffer();
           digitalWrite(LED,HIGH);
           break;
        }
        delay(400);
     }
  }
  
  
  //wifiConnected = true;
  if (wifiConnected == true) 
  {
     Serial.println("Pripojeno!");
     clearSerialBuffer();
     //set the server of port 8888 check "no change" or "OK"
     Serial.print(F("AT+CIPMUX=1 : "));
     Serial.println( ATCommandSend("AT+CIPMUX=1", 100) );
     Serial.print(F("AT+CIPSERVER=1,8888 : "));
     Serial.println( ATCommandSend("AT+CIPSERVER=1,8888", 100) );
 
     //set time out
     //Serial.print("AT+CIPSTO=15 : ");
     //Serial.println( ATCommandSend("AT+CIPSTO=15",10) );
      //print the ip addr
     Serial.print(F("IP addresa : "));
     addr = ATCommandSend("AT+CIFSR", 1000);
     addr = addr.substring(0,(addr.length()-2));
     Serial.println(addr);
     delay(200);
  }

  else 
  {
     Serial.println("WiFi ERROR!");
     digitalWrite(LED,LOW);
     while (true);
  }

}
 
 
void clearSerialBuffer(void) {
       while ( espSerial.available() > 0 ) 
      {
           delay(20);
         espSerial.flush();
       }
}
         
boolean connectWiFi()
{
  String cmd="AT+CWJAP=\"";
  cmd+=SSID;
  cmd+="\",\"";
  cmd+=PASS;
  cmd+="\"";
  espSerial.println(cmd);
  delay(2000);
  if(finder.find("OK"))
  {
     clearSerialBuffer();
     return true;
  }
  else
  {
    return false;
  }
  return true;
}

void printAddress(DeviceAddress deviceAddress)
{
  for (uint8_t i = 0; i < 8; i++)
  {
    // zero pad the address if necessary
    if (deviceAddress[i] < 16) Serial.print("0");
    Serial.print(deviceAddress[i], HEX);
  }
} 

void printData(DeviceAddress deviceAddress)
{
  Serial.print("Adresa teplomeru ");
  printAddress(deviceAddress);
  Serial.print(":");
  printTemperature(deviceAddress);
} 

void printTemperature(DeviceAddress deviceAddress)
{
  float tempC = sensors.getTempC(deviceAddress);
  Serial.print("Teplota: ");
  Serial.print(tempC);
  Serial.write(176);
  Serial.println("C");
}

check #7 below on how to use code tags instead of quote tags to post code:

http://forum.arduino.cc/index.php/topic,148850.0.html

and you never need more than one blank line