• Система автоматизации с открытым исходным кодом на базе 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));
 
Сверху Снизу