ARDUINO Страница на сервере esp8266 помогите с внешним видом - CSS или HTML

Dubolom

✩✩✩✩✩✩✩
2 Фев 2021
77
0
Здрасте)
Подымаю html страничку на espшке.
Здесь взял пример - почти всё понятно
  1. #include <ESP8266WiFi.h>
  2. #include <ESP8266WebServer.h>

  3. / * Установить свой SSID и пароль * /
  4. const char* ssid = "NodeMCU";
  5. const char* password = "12345678";

  6. / * Настройка IP-адрес * /
  7. IPAddress local_ip(192,168,1,1);
  8. IPAddress gateway(192,168,1,1);
  9. IPAddress subnet(255,255,255,0);

  10. ESP8266WebServer server(80);

  11. uint8_t LED1pin = D7;
  12. bool LED1status = LOW;

  13. uint8_t LED2pin = D6;
  14. bool LED2status = LOW;

  15. void setup() {
  16. Serial.begin(115200);
  17. pinMode(LED1pin, OUTPUT);
  18. pinMode(LED2pin, OUTPUT);

  19. WiFi.softAP(ssid, password);
  20. WiFi.softAPConfig(local_ip, gateway, subnet);
  21. delay(100);
  22. server.on("/", handle_OnConnect);
  23. server.on("/led1on", handle_led1on);
  24. server.on("/led1off", handle_led1off);
  25. server.on("/led2on", handle_led2on);
  26. server.on("/led2off", handle_led2off);
  27. server.onNotFound(handle_NotFound);
  28. server.begin();
  29. Serial.println("HTTP server started");
  30. }
  31. void loop() {
  32. server.handleClient();
  33. if(LED1status)
  34. {digitalWrite(LED1pin, HIGH);}
  35. else
  36. {digitalWrite(LED1pin, LOW);}
  37. if(LED2status)
  38. {digitalWrite(LED2pin, HIGH);}
  39. else
  40. {digitalWrite(LED2pin, LOW);}
  41. }

  42. void handle_OnConnect() {
  43. LED1status = LOW;
  44. LED2status = LOW;
  45. Serial.println("GPIO7 Status: OFF | GPIO6 Status: OFF");
  46. server.send(200, "text/html", SendHTML(LED1status,LED2status));
  47. }

  48. void handle_led1on() {
  49. LED1status = HIGH;
  50. Serial.println("GPIO7 Status: ON");
  51. server.send(200, "text/html", SendHTML(true,LED2status));
  52. }

  53. void handle_led1off() {
  54. LED1status = LOW;
  55. Serial.println("GPIO7 Status: OFF");
  56. server.send(200, "text/html", SendHTML(false,LED2status));
  57. }

  58. void handle_led2on() {
  59. LED2status = HIGH;
  60. Serial.println("GPIO6 Status: ON");
  61. server.send(200, "text/html", SendHTML(LED1status,true));
  62. }

  63. void handle_led2off() {
  64. LED2status = LOW;
  65. Serial.println("GPIO6 Status: OFF");
  66. server.send(200, "text/html", SendHTML(LED1status,false));
  67. }

  68. void handle_NotFound(){
  69. server.send(404, "text/plain", "Not found");
  70. }

  71. String SendHTML(uint8_t led1stat,uint8_t led2stat){
  72. String ptr = "<!DOCTYPE html> <html>\n";
  73. ptr +="<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\">\n";
  74. ptr +="<title>LED Control</title>\n";
  75. ptr +="<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}\n";
  76. ptr +="body{margin-top: 50px;} h1 {color: #444444;margin: 50px auto 30px;} h3 {color: #444444;margin-bottom: 50px;}\n";
  77. ptr +=".button {display: block;width: 80px;background-color: #1abc9c;border: none;color: white;padding: 13px 30px;text-decoration: none;font-size: 25px;margin: 0px auto 35px;cursor: pointer;border-radius: 4px;}\n";
  78. ptr +=".button-on {background-color: #1abc9c;}\n";
  79. ptr +=".button-on:active {background-color: #16a085;}\n";
  80. ptr +=".button-off {background-color: #34495e;}\n";
  81. ptr +=".button-off:active {background-color: #2c3e50;}\n";
  82. ptr +="p {font-size: 14px;color: #888;margin-bottom: 10px;}\n";
  83. ptr +="</style>\n";
  84. ptr +="</head>\n";
  85. ptr +="<body>\n";
  86. ptr +="<h1>ESP8266 Web Server</h1>\n";
  87. ptr +="<h3>Using Access Point(AP) Mode</h3>\n";
  88. if(led1stat)
  89. {ptr +="<p>LED1 Status: ON</p><a class=\"button button-off\" href=\"/led1off\">OFF</a>\n";}
  90. else
  91. {ptr +="<p>LED1 Status: OFF</p><a class=\"button button-on\" href=\"/led1on\">ON</a>\n";}

  92. if(led2stat)
  93. {ptr +="<p>LED2 Status: ON</p><a class=\"button button-off\" href=\"/led2off\">OFF</a>\n";}
  94. else
  95. {ptr +="<p>LED2 Status: OFF</p><a class=\"button button-on\" href=\"/led2on\">ON</a>\n";}

  96. ptr +="</body>\n";
  97. ptr +="</html>\n";
  98. return ptr;
  99. }
Вопрос конкретно по самой страничке:
Сейчас на ней два заголовка, две подписи, две кнопки.
sozdanie-prostogo-veb-servera-nodemcu-esp8266-v-arduino-ide-7a.png
  1. String SendHTML(uint8_t led1stat,uint8_t led2stat){
  2. String ptr = "<!DOCTYPE html> <html>\n";
  3. ptr +="<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\">\n";
  4. ptr +="<title>LED Control</title>\n";
  5. ptr +="<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}\n";
  6. ptr +="body{margin-top: 50px;} h1 {color: #444444;margin: 50px auto 30px;} h3 {color: #444444;margin-bottom: 50px;}\n";
  7. ptr +=".button {display: block;width: 80px;background-color: #1abc9c;border: none;color: white;padding: 13px 30px;text-decoration: none;font-size: 25px;margin: 0px auto 35px;cursor: pointer;border-radius: 4px;}\n";
  8. ptr +=".button-on {background-color: #1abc9c;}\n";
  9. ptr +=".button-on:active {background-color: #16a085;}\n";
  10. ptr +=".button-off {background-color: #34495e;}\n";
  11. ptr +=".button-off:active {background-color: #2c3e50;}\n";
  12. ptr +="p {font-size: 14px;color: #888;margin-bottom: 10px;}\n";
  13. ptr +="</style>\n";
  14. ptr +="</head>\n";
  15. ptr +="<body>\n";
  16. ptr +="<h1>ESP8266 Web Server</h1>\n";
  17. ptr +="<h3>Using Access Point(AP) Mode</h3>\n";
  18. if(led1stat)
  19. {ptr +="<p>LED1 Status: ON</p><a class=\"button button-off\" href=\"/led1off\">OFF</a>\n";}
  20. else
  21. {ptr +="<p>LED1 Status: OFF</p><a class=\"button button-on\" href=\"/led1on\">ON</a>\n";}

  22. if(led2stat)
  23. {ptr +="<p>LED2 Status: ON</p><a class=\"button button-off\" href=\"/led2off\">OFF</a>\n";}
  24. else
  25. {ptr +="<p>LED2 Status: OFF</p><a class=\"button button-on\" href=\"/led2on\">ON</a>\n";}

  26. ptr +="</body>\n";
  27. ptr +="</html>\n";
  28. return ptr;
Я в HTML (или что это)) не понимаю.
Мне нужно изменить страничку -
добавить 2 поля для ввода инфы и ...
ЗАГОЛОВОК H1

заголовок h3

T=31 > t1=20 <
H=50 < t2=30 >

Цель T: | окно ввода | Установить // это окно ввода цели, и кнопка отправки
Цель H: | окно ввода | Установить // это окно ввода цели, и кнопка отправки
И чтобы когда в окошко ввел данные, и нажал установить - в ЕСПэшке int менялся...
Если это не сложно - накидайте пару строк.
Если сложно - ткните что читануть, чтоб хватило знаний на такую задачу.
 

Dubolom

✩✩✩✩✩✩✩
2 Фев 2021
77
0
Спасибо.
Почитал GyverPortal
Напомнили о Телеге
Почитал Gyver FastBot - все хорошо, устраивает.
1 проблема:
Не вижу в сериал принте текст сообщения, который пишу в телеге. Инфу о сообщении вижу, а само сообщение нет.
Коды пробую из примеров - должно так то работать.
Подскажите может в чем может быть дело?