void internet() { //Serial2.setTimeout(5000); char* name; char* name1; boolean bad=0; int i; // esp8266(); //doo: 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(7000); //*************************** i=0; while (i<900) { i++; if(Serial2.available()) { i=0; if (Serial2.find("IP")) {myGLCD.print("ip:" ,260, 457); int ip1=Serial2.parseInt(); int ip2=Serial2.parseInt(); int ip3=Serial2.parseInt(); int ip4=Serial2.parseInt(); String data1= String(ip1)+"."+String(ip2)+"."+String(ip3)+"."+String(ip4)+" "; myGLCD.print(data1 ,280, 457); i=1000; delay(3000); c = Serial2.read(); c = Serial2.read(); myGLCD.print(" " ,240, 457); } } if(i>0)delay (10); } //************************************** Serial2.print("7");//проверка подключения к точке доступа если ответ больше 0 то подключились delay(1000); //*************************** i=0; while (i<900) { i++; if(Serial2.available()) { i=0; if (Serial2.find("7+")) {myGLCD.print(" read data " ,280, 457); i=1000; } } if(i>0)delay (10); } //************************************** Serial2.print("1");//проверка подключения к точке доступа если ответ больше 0 то подключились delay(1000); //*************************** 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 1 " ,280, 457); while (i<60000) { if(Serial2.available()) { c = Serial2.read(); myFile.print(c); i=0; }//gotov 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 delay (500); myGLCD.print(" read inform 3 " ,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)//размер считанного с сайта файла проверяем на наличае в конце { 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){// если есть в конце wifi=0; myGLCD.print(" good file W= " ,280, 457); myGLCD.printNumI(i,280+256, 457); wifih=t.hour;// час обновления данных wifim=t.min;// минуты } else// // если нет в конце то 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(" ",118, 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); //*********************************************************************************** */ } //***********************************************