• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Решено Web сервер - ! нужна авторизация

Alex1

New member
@kab вот
Код:
///////////////////////////// 
  htmlRes += HtmlTitle2;
  if(stateLED2 == LOW){
    htmlRes += HtmlLed2StateLow;
  }else{
    htmlRes += HtmlLed2StateHigh;
  }
  htmlRes += HtmlButton2;
///////////////////////////////

///////////////////////////////
  htmlRes += HtmlTitle3;
  if(stateLED3 == LOW){
    htmlRes += HtmlLed3StateLow;
  }else{
    htmlRes += HtmlLed3StateHigh;
  }
  htmlRes += HtmlButton3;
////////////////////////////////

///////////////////////////////
  htmlRes += HtmlTitle4;
  if(stateLED4 == LOW){
    htmlRes += HtmlLed4StateLow;
  }else{
    htmlRes += HtmlLed4StateHigh;
  }
  htmlRes += HtmlButton4;
////////////////////////////////

// ========RELOAD=============
  htmlRes += "<div style=\"text-align:center; font-family:calibri; font-size:12px; margin-top: 15px; margin-bottom: 10px; \"><a href=\"/\"><button style=\"width:170px; height:25px;background: #A59070; -moz-border-radius:5px; border-radius:5px; \">http://192.168.1.100//</button></a></div>";
// ========RELOAD=============
 
// Подстчет времени наработки
  // =================================================================================================================================
  String cl = ("<p style=\"text-align: center; font-family:Courier New; color:#EFB30B ; font-size: 12px; margin-top: 2px; padding: 2px 2px; background-color:#1C5A9F; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n Online ");
  int  Sec   = (millis() / 1000UL) % 60;
  int  Min   = ((millis() / 1000UL) / 60UL) % 60;
  int  Hours = ((millis() / 1000UL) / 3600UL) % 24;
  int  Day   = ((millis() / 1000UL) / 3600UL / 24UL);
  cl += Day;
  cl += "day";
  cl += ":";
  cl += Hours;
  cl += "h";
  cl += ":";
  cl += Min;
  cl += "m";
  cl += ":";
  cl += Sec;
  cl += "s";
  cl += "</html>\n";
  htmlRes += (cl);
  //===================================================================================================================================
  //===================================================================================================================================
 
  String w = ("<p style=\"text-align: center; font-family:Courier New; color:#EFB30B ; font-size: 12px; margin-top: -10px;  padding: 2px 2px; background-color:#1C5A9F; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n WiFi:  &shy;&shy;  ");
  long rssi = WiFi.RSSI(); // get dBm from the ESP8266
  w += (rssi);
  w += "dB &shy;&shy; ";
  w += (rssi + 120); //~ 100% ??
  w += "%";
  w += "</html>\n";
  htmlRes += (w);
//====================================================================================================================================
//,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
  String v = ("<p style=\"text-align: center; font-family:Courier New; color:#EFB30B ; font-size: 12px; margin-top: -10px;  padding: 2px 2px; background-color:#1C5A9F; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n Power Vcc:  &shy;&shy;  ");
  float vcc = ESP.getVcc() / 1000.0;
  v += (vcc);
  v += "V";
  htmlRes += (v);
//,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

//,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
String t = ("<p style=\"text-align: center; font-family:Courier New; color:#05FFD6; font-size: 13px; margin-top: -10px;  padding: 1px 1px; background-color:#BF4A05; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n Temp: &shy;");
t += (sensors.getTempCByIndex(0));
t +=  "  C`";  
htmlRes += (t);
//,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

htmlRes += HtmlTitle21;

htmlRes += "<p style=\"text-align: center; font-size: 7px; color:#8B9197; margin-top: 2px; margin-bottom: 2px;\">Buzzer GPIO10(D3),  &shy; Led - GPIO0 , &shy;  T` GPIO02</p>";
htmlRes += "<p style=\"text-align: center; font-size: 7px; color:#8B9197; margin-top: 2px; margin-bottom: 2px;\">Key 1  - GPIO16(XPD), &shy;  2 - GPIO4, &shy;  *3 - GPIO15*</p>";

server.send(200, "text/html", htmlRes);
}

//=================================================================================================================

void loop()
{
ArduinoOTA.handle(); // Всегда готовы к прошивке
server.handleClient();
   
////////////////////////////////////////// 1Canal ext key
  if(digitalRead(D5_pin)==LOW&&key1==0)  
  {
  delay(500);   
  key1++;    
  digitalWrite(13, !digitalRead(13));  
  }
  if(digitalRead(D5_pin)==HIGH&&key1==1)   
  {
  key1=0;                 
  }
  /////////////////////////////////////////////////////////
  ////////////////////////////////////////// 2Canal ext key
  if(digitalRead(D6_pin)==LOW&&key2==0)           
  {
  delay(500);//защита от дребезга     
  key2++;
 

kab

New member
@Alex1
И в этом скетче возникает ошибка?
По моему, ты привел первоначальный вариант?

Я хотел проверить, как ты сделал исправление по моему посту №52
 

Alex1

New member
@kab Естественно первоначальный, тот же не компилируется, код вставлял как написали. В этом всё работает и нет ошибок, вот поэтому и привёл
 

kab

New member
@Alex1
мне надо понять, в чем ошибка. Пока я не увидел текст, мне думается, что там при вставке произошла какая-то неаккуратность. Давай без обид. Вставляй еще раз. Компилируй. Если ошибка, присылай её поподробней и исходный текст (с исправлениями!!!) тоже.


String t = ("<p style=\"text-align: center; font-family:Courier New; color:#05FFD6; font-size: 13px; margin-top: -10px; padding: 1px 1px; background-color:#BF4A05; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n Temp: &shy;");
String str1; //added by kab
str1 = sensors.getTempCByIndex(0); //added by kab//t += (sensors.getTempCByIndex(0)); //comment by kab
t += (str1.substring(0,4)); //added by kab может и не 4 - надо подобрать
t += " C`";
htmlRes += (t);

Я пока не на связи - с работы уезжаю домой...
 

Alex1

New member
@kab Да вы гений. Temp: 29.9 C` так выводит, надо проверить на минуса конечно, что будет.
Окончательно блок смотрится так .
Код:
//,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

//,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
String t = ("<p style=\"text-align: center; font-family:Courier New; color:#05FFD6; font-size: 13px; margin-top: -10px; padding: 1px 1px; background-color:#BF4A05; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n Temp: &shy;");
String str1; //added by kab
str1 = sensors.getTempCByIndex(0); //added by kab//t += (sensors.getTempCByIndex(0)); //comment by kab
t += (str1.substring(0,4)); //added by kab может и не 4 - надо подобрать
t += " C`";
htmlRes += (t);
//,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 

Alex1

New member
Следующий предел желаний сделать тоже самое только на ajax, но так как пока Я могу только вытягивать разные блоки, складывать до кучи, ну и дизайн чуть чуть , это рановато будет ))
 

kab

New member
@Alex1
надо проверить на минуса конечно, что будет.
Могу сразу сказать- для минусовых- останется только точка, без десятых.
И, если температура ниже 10 град - снова появятся сотые.
То есть надо рассматривать несколько случаев - через оператор if..... - например.
Но это уже в качестве самостоятельного домашнего задания.

Что не будет получатся - подскажу.

Авторизацией сегодня будем заниматься?
 

Alex1

New member
@kab Интересный момент..... меньше +10.1 показывает уже 9.88, значит ещё какие то условия надо оговаривать, ниже +2гр охладить пока не удалось, надо глянуть что будет при -2 например.
 

kab

New member
@Alex1
Про ajax, по моему, есть в видеокурсе Третьякова Сергея с этого форума @tretyakov_sa

https://esp8266.ru/forum/redirect/?to=aHR0cHM6Ly93d3cueW91dHViZS5jb20vcGxheWxpc3Q/bGlzdD1QTHFxdVdjNHhZZ0FTTGpDdVJQTFJRMFJaYU1yUG1rOFNX

Вообще, отличный курс - рекомендую. особенно уроки с "..Шаг№1.." по последний шаг
хотя про ajax - может и не в "шагах"
 
Последнее редактирование:

kab

New member
@kab Интересный момент..... меньше +10.1 показывает уже 9.88, значит ещё какие то условия надо оговаривать, ниже +2гр охладить пока не удалось, надо глянуть что будет при -2 например.
при -2 град будет нормально, а с -10 - опять неправильно
отображается всего 4 позиции - тем в тексте программы есть - 4
надо рассмотреть другие случаи и отдельно их прописать
 

kab

New member
@Alex1
при -2 град будет нормально, а с -10 - опять неправильно
отображается всего 4 позиции - тем в тексте программы есть - 4
надо рассмотреть другие случаи и отдельно их прописать
могу дать подсказку - тут даже if не надо:

по моему str1.at(".") показывает позицию "." в строке str1.

Так что вместо 4-ки надо вставить что-то типа str1.at(".")+2
А 2 или не 2 - уточнить по месту.
 

Alex1

New member
@kab если я так вставил, то - 'class String' has no member named 'at'
(str1.substring(0,str1.at(".")+2 ));
а минус температуры относится к формуле, или это отдельный символ??
 

Alex1

New member
@Alex1

могу дать подсказку - тут даже if не надо:

по моему str1.at(".") показывает позицию "." в строке str1.

Так что вместо 4-ки надо вставить что-то типа str1.at(".")+2
А 2 или не 2 - уточнить по месту.
нашел в сети (str1.substring(0, str1.at (0, input.Length - 1)); минусует последний знак, но та же ошибка вылазит
 

kab

New member
@kab если я так вставил, то - 'class String' has no member named 'at'
(str1.substring(0,str1.at(".")+2 ));
а минус температуры относится к формуле, или это отдельный символ??
я был неправ - расслабился уже :oops:... извиняюсь

позиция- это не .at( , а .indexOf ( ,

то есть вместо

t += (str1.substring(0,4));

надо вставить

t += (str1.substring(0, str1.indexOf(".")+2 )); // 2 - проверить практикой

"-" - должен заработать правильно сам
 
Последнее редактирование:

kab

New member
@Alex1
(str1.substring(0, str1.at (0, input.Length - 1));

можно и так, но попроще :):

(str1.substring(0, str1.Length - 1));
 
Сверху Снизу