void internet()
{ //Serial2.setTimeout(5000);
  char* name;
  char* name1;
  boolean bad = 0;
  int i;
   char c7 ;
  char c8 ;
  //  esp8266();
  //doo:
    while(Serial2.available()) {
   
    c8=Serial2.read();
    //c7=Serial2.peek();
    // Serial.print(String(c8));
    delay(2);
 
 }
  myGLCD.setColor(VGA_WHITE);
  myGLCD.setBackColor(0, 172, 238);
  myGLCD.setFont(BigFont);
  // myGLCD.fillScr(VGA_BLUE);

  digitalWrite(18, LOW);
  delay(3000);
  digitalWrite(18, HIGH);//reset WIFI
  myGLCD.print(" openweather " , 280, 457);
delay(3000);
 // myGLCD.print("   connecting    " , 280, 457);
  //***************************
 while(Serial2.available()) {
if (Serial2.find("hi"))
    {     
    myGLCD.print("WiFi connected" ,280, 457);  
    }
}
 //**************************************
 Serial2.print("7");//проверка подключения к точке доступа если ответ больше 0 то подключились
delay(1000);
//myGLCD.print("  read server  " ,280, 457);  
//***************************
 i=0;
while (i<900)
     {
 i++;
 if(Serial2.available()) {
   if (Serial2.find("IP"))
    {Serial2.read();
     // myGLCD.print("  NTP  " ,280, 457);  
      int ip1 = Serial2.parseInt();

      int ip2 = Serial2.parseInt();

      int ip3 = Serial2.parseInt();

      int ip4 = Serial2.parseInt();

      // Serial1.read();
      String data1 = "IP:" +  String(ip1) + "." + String(ip2) + "." + String(ip3) + "." + String(ip4) + "   ";
      // String data1;
      //  data1 += ip1;
      //  data1 += ".";
      //   data1 += ip2;
      //   data1 += ".";
      //   data1 += ip3;
      //   data1 += ".";
      //   data1 += ip4;
      //    data1 += "    "
      myGLCD.print(data1 , 240, 457);
    }
   // myGLCD.print("available" , 240, 457);
    
    //  myGLCD.print(String(c2) ,520, 457);

  }
   
                           
      if(i>0)delay (10); 
     }
//**************************************
  Serial2.print("1");//проверка подключения к точке доступа если ответ больше 0 то подключились
  delay(1000);
  //***************************
  myGLCD.print("      read server    " , 240, 457);
  i = 0;
  //while (i<900)
  //   {
  // i++;
  // if(Serial2.available()) {
  //                          i=0;
  //                             if (Serial2.find("1+"))
  //                           {myGLCD.print("   read server    " ,280, 457);
  //                            i=1000;
  //                             }

  //                          }
  //    if(i>0)delay (10);
  //    }
  //**************************************
  //****************************SD**********************
  sd.chdir("/");
  delay (100);

  sd.chdir("progn");
  delay (100);
  if (sd.exists("prognoz.txt"))
  { name = "prognoz1.txt";
    name1 = "prognoz.txt";
  }//установка раб директории
  else
  { name = "prognoz.txt";
    name1 = "prognoz1.txt";
  }

  //  myFile.remove();
  delay (50);
  myFile.open(name, O_RDWR | O_CREAT | O_AT_END);
  delay (50);

  //******************************************************

  i = 0; //счетчик времени
  int n = 1; // счетчик символов
  int st = 0;
  char c ;
  //Serial2.setTimeout(2000);
  i = 0;
  myGLCD.print("    read inform      " , 280, 457);
  while (i < 600) {
    if (Serial2.available()) {

      c = Serial2.read();

      myFile.print(c);

      i = 0;
    }//gotov
    if (i > 0)delay (10);
    i++;


  }//while

  delay (500);
//  myGLCD.print("   read inform 2      " , 280, 457);
  i = 0;
  while (i < 600) {
    if (Serial2.available()) {

      c = Serial2.read();

      myFile.print(c);

      i = 0;
    }//gotov
    if (i > 0)delay (10);
    i++;

  }//while




  myGLCD.print("                         ", 118, 457);
  myGLCD.print("   end read inform     " , 280, 457);
  int cardSize = myFile.fileSize();
  //myGLCD.printNumI(st ,150, 230);
  // myGLCD.printNumI(i ,180, 230);
  myFile.close();
  delay (1000);
  myGLCD.print("                         ", 118, 457);
  myGLCD.print("     verifying         " , 280, 457);
  delay (1000);
  myGLCD.print("                         ", 118, 457);
  myGLCD.print("file size=" , 280, 457);
  myGLCD.printNumI(cardSize, 280 + 160, 457);
  //************proverka file **********************************************

  sd.chdir("/");//установка раб директории
  delay (1000);
  sd.chdir("progn");
  delay (100);
  myFile.open(name, O_READ);
  char symbol;
  i = 0;
  char token[] = "weatherdata";
  n = 1;
  while (  n < 8000) //размер считанного с сайта файла проверяем на наличае в конце </weatherdata>
  { symbol = myFile.read();
    if (n > 1000)
    { if (symbol == token[i])
      { i = i + 1;
      }
      else
      {
        i = 0;
      }
    }
    if (i > 9) {
      break;
    }
    n = n + 1;
  }
  if (cardSize > 5000) //измерение размера файла если размер больше то считали  все
  { if (i > 9) { // если есть в конце </weatherdata>
      wifi = 0;
      myGLCD.print("   good file W=  " , 280, 457);
      myGLCD.printNumI(i, 280 + 256, 457);
      wifih = t.hour; // час обновления данных
      wifim = t.min; // минуты
    }
    else// // если нет в конце </weatherdata> то error
    { myGLCD.print("    bad file  W=   " , 280, 457);
      myGLCD.printNumI(i, 280 + 256, 457);
      wifi = 9;
      bad = 1;
    }

  }
  else//размер меньше то считали не все error
  { myGLCD.print("      bad file          " , 280, 457);
    wifi = 9;
    bad = 1;
  }
  myFile.close();
  delay (1000);
  sd.chdir("/");//установка раб директории
  delay (1000);
  sd.chdir("progn");
  delay (100);
  if (bad == 1)
  { if (sd.exists("Err.txt"))
    { myFile.open("Err.txt", O_RDWR | O_CREAT | O_AT_END);
      delay (100);
      myFile.remove();
    }
    delay (100);
    sd.rename(name, "Err.txt");
    delay (100);

  }
  else {
    myFile.open(name1, O_RDWR | O_CREAT | O_AT_END);
    delay (100);
    myFile.remove();
  }


  sd.chdir("/");
  delay (2000);
  // myGLCD.print(" end read inform " ,260, 460);
  myGLCD.print("                          ", 250, 457);
  clc();
  digitalWrite(65, LOW);
  /*   return;





  //****Для отладки***************************



  while(1)
  {
    if (myTouch.dataAvailable())

      {
        myTouch.read();
       int x=myTouch.getX();
       int y=myTouch.getY();

           if ((x>=0) && (x<=799))  // Upper row
        {

          if ((y>=10) && (y<=479))  // яркость
            {
               menu();
            }
        }
      }//touch
   sec=rtc_clock.get_seconds();
  if (sec==0)
  {
  delay(800);
  clc();
  }

  }//while
   // dbgSerial.println(json);
    //***********************************************************************************
    */
}
//***********************************************
