• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос точка доступа

pet

Member
Подскажите пожалуйста! создаю в ардуино IDE точку доступа, со страницей (код ниже), с телефона заходит и всё работает! а с ноута нет. как сделать чтоб с ноута тоже легко подключался?
пробовал другой скетч с есп приходит что клиент(ноут) подключён, но запроса никакова нет?

Код:
/*

#include <EEPROM.h>
#include <ESP8266WiFi.h>

#include <pgmspace.h>


const static  char file0 [] PROGMEM =
  "<head>\n\r"
  "    <meta charset=\"utf-8\">\n\r"
  "    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\r"
  "    </head>\n\r"
  "\n\r"
  "<style>\n\r"
  "\n\r"
  "    #fon {\n\r"
  "\n\r"
  "        background-color: #03C3F2;\n\r"
  "        width: 100%;\n\r"
  "        height: 100%;\n\r"
  "\n\r"
  "\n\r"
  "    }\n\r";
const static char file1[] PROGMEM =
  "    #menu{\n\r"
  "        width: 100%;\n\r"
  "        height: 10%;\n\r"
  "       \n\r"
  "    }\n\r"
  "\n\r"
  "    #menu ul {\n\r"
  "        padding: 0;\n\r"
  "        margin: 0;\n\r"
  "        background: #03C3F2;\n\r"
  "\n\r"
  "\n\r"
  "    }\n\r"
  "\n\r"
  "    #menu li{\n\r"
  "        float: left;\n\r"
  "\n\r"
  "\n\r"
  "    }\n\r";
const static char file2[] PROGMEM =
  "    #menu li a{\n\r"
  "        padding: 10px 46px;\n\r"
  "        display: block;\n\r"
  "        text-decoration: none;\n\r"
  "        text-align: center;\n\r"
  "\n\r"
  "        color: #fff;\n\r"
  "        text-shadow:\n\r"
  "        1px 1px 0 #CCC,\n\r"
  "        2px 2px 0 #CCC, /* end of 2 level deep grey shadow */\n\r"
  "        3px 3px 0 #444,\n\r"
  "        4px 4px 0 #444,\n\r"
  "        5px 5px 0 #444,\n\r"
  "        6px 6px 0 #444; /* end of 4 level deep dark shadow */\n\r"
  "        font: 30px 'ChunkFiveRegular';\n\r"
  "\n\r"
  "\n\r"
  "    }\n\r";
const static char file3[] PROGMEM =
  "    #menu a:hover{\n\r"
  "        background: #E8EFF1;\n\r"
  "    }\n\r"

  "\n\r"
  "    /*start tabs */\n\r"
  "    #tabs {\n\r"
  "        font-size: 12px;\n\r"
  "        list-style-type: none;\n\r"
  "        float:left;\n\r"
  "        background-color: #a4a7ac;\n\r"
  "        border-radius: 6px 6px 6px 6px;\n\r"
  "        -moz-box-shadow: 0 0 5px #aaa;\n\r"
  "        -webkit-box-shadow: 0 0 5px #aaa;\n\r"
  "        box-shadow: 0 0 5px #aaa;\n\r"
  "margin-left:20px;\n\r"
  "margin-top:10px;\n\r"
  "width:100%;\n\r"
  "    }\n\r"
  "\n\r"
  "    #tabs li{\n\r"
  "margin: 10px 10px;\n\r"
  "}\n\r"
  "\n\r"
  ".tab {\n\r"
  "\n\r"
  "border: 1px solid #a4a7ac;\n\r"
  "padding:6px 30px;\n\r"
  "color: #353535;\n\r"
  "font-weight:bold;\n\r"
  "font-size:15px;\n\r"
  "border-radius: 6px 6px 6px 6px;\n\r"
  "}\n\r"
  "\n\r"
  ".tab:hover {\n\r"
  "color:#000;\n\r"
  "cursor:pointer;\n\r"
  "}\n\r"
  ".tab.active {\n\r"
  "background-color: #fff;\n\r"
  "border: 1px solid #fff;\n\r"
  "border-radius: 6px 6px 6px 6px;\n\r"
  "color:#CC0000;\n\r"
  "}\n\r"
  "\n\r"
  ".tab.active a {\n\r"
  "float: left;\n\r"
  "display: block;\n\r"
  "color: #666666;\n\r"
  "padding: 5px;\n\r"
  "cursor: default;\n\r"
  "}\n\r"
  "  /*stop tabs */\n\r"
  "\n\r";
const static char file4[] PROGMEM =
  "/*start tab content */\n\r"
  "#tabs_content{\n\r"
  "background:#fff;\n\r"
  "z-index:1000;\n\r"
  "position: absolute;\n\r"
  "color:#2f2f2f;\n\r"
  "border-radius: 3px;\n\r"
  "clear:both;\n\r"
  "width:850px;\n\r"
  "height: 470px;\n\r"
  "padding:10px 10px 10px;\n\r"
  "-moz-box-shadow: 0 0 7px #5B6573;\n\r"
  "-webkit-box-shadow: 0 0 7px #5B6573;\n\r"
  "box-shadow: 0 0 7px #5B6573;\n\r"
  "margin: 35px 0 0 300px;\n\r"
  "border: 1px solid #a6a6a6;\n\r"
  "}\n\r"
  ".tab_content{\n\r"
  "display:none;\n\r"
  "}\n\r"
  "    .tab_content.active{\n\r"
  "        display:block;\n\r"
  "    }\n\r"
  "    /*stop tab content */\n\r"
  "\n\r"
  "</style>\n\r"
  "\n\r"
  "\n\r";
const static char file5[] PROGMEM =
  "<div id=\"fon\">\n\r"
  "\n\r"
  "\n\r"
  "<div id=\"tab_block\">\n\r"
  "<div id=\"menu\">\n\r"
  "<ul id=\"tabs\">\n\r"
  "\n\r"
  "<li id=\"tab1\" class=\"tab active\" onclick=\"funcTab(1);\"><a href=\"#\">Меню1</a></li>\n\r"
  "<li id=\"tab2\" class=\"tab\" onclick=\"funcTab(2);\"><a href=\"?gpio=4&int=1\">Меню2</a></li>\n\r"
  "<li id=\"tab3\" class=\"tab\" onclick=\"funcTab(3);\"><a href=\"?gpio=4&int=0\">Меню3</a></li>\n\r"
  "<li id=\"tab4\" class=\"tab\" onclick=\"funcTab(4);\"><a href=\"#\">Меню4</a></li>\n\r"
  "<li id=\"tab5\" class=\"tab\" onclick=\"funcTab(5);\"><a href=\"#\">Меню5</a></li>\n\r"
  "</ul>\n\r"
  "</div>\n\r"
  "\n\r";
const static char file6[] PROGMEM =
  "<div id=\"tabs_content\">\n\r"
  "<div class=\"tab_content active\" id=\"tab_content1\">\n\r"
  "<p>Tab1 The quick brown fox jumps over the lazy dog</p>\n\r"
  "</div>\n\r"
  "<div class=\"tab_content\" id=\"tab_content2\">\n\r"
  "<p>Tab2 The quick brown fox jumps over the lazy dog</p>\n\r"
  "</div>\n\r"
  "<div class=\"tab_content\" id=\"tab_content3\">\n\r"
  "<p>Tab3 The quick brown fox jumps over the lazy dog</p>\n\r"
  "</div>\n\r"
  "<div class=\"tab_content\" id=\"tab_content4\">\n\r"
  "<p>Tab4 The quick brown fox jumps over the lazy dog</p>\n\r"
  "</div>\n\r"
  "<div class=\"tab_content\" id=\"tab_content5\">\n\r"
  "<p>Tab5 The quick brown fox jumps over the lazy dog</p>\n\r"
  "</div>\n\r"
  "</div>\n\r"
  " </div>\n\r"
  "\n\r"
  "</div>\n\r";
const static char file7[] PROGMEM =
  "\n\r"
  "<script type=\"text/javascript\">\n\r"
  "function funcTab(n) {\n\r"
  "var NTab = document.getElementsByClassName('tab').length;\n\r"
  "for (var i=1; i < NTab+1; i++) {\n\r"
  "if (i != n){\n\r"
  "document.getElementById('tab'+i).className = 'tab';\n\r"
  "document.getElementById('tab_content'+i).className = 'tab_content'\n\r"
  "}\n\r"
  "}\n\r"
  "  document.getElementById('tab'+n).className = 'tab active';\n\r"
  "document.getElementById('tab_content'+n).className = 'tab_content active';\n\r"
  "}\n\r"
  "</script>\n\r";

const char*  const string_table[] PROGMEM = { file0, file1, file2, file3, file4, file5, file6, file7};


const char* ssid = "Lab";
const char* pass = "12345";


WiFiServer server(80);


String mess = "";
int zna = 0;
int atoi(int& a, int& b ) { //функция преобразования числа из char в целочислительный тип
  int f = 0;
  for (int i = 48 ; i <= 57; i++ ) {

    if (a == i) a = f;
    if (b == i) b = f;
    f++;
  }
}



void setup() {
  Serial.begin(115200);
  delay(7);
  WiFi.mode(WIFI_AP);
  WiFi.softAP(ssid, pass);
  delay(1);
  Serial.println("AcessPoint");
  Serial.println(WiFi.softAPIP());
  Serial.println("");
  Serial.println("WiFi created");


  delay(3);
  int a;
  pinMode(4, OUTPUT);

  server.begin();
  Serial.println("Server started");


}

void loop() {
  WiFiClient client = server.available();


  while (!client.available()) {
    delay(1);
  }

    
        Serial.println("new client");
   
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: keep-alive");
          client.println();
      

      
          for (int i = 0; i < 8; i++) {
            mess = string_table[i];
            delay(10);
            client.print(mess);
                  }
client.flush();


          // Read the first line of the request
          String req = client.readStringUntil('\r');
          Serial.println(req);
          if (req.indexOf('?') > 0) {
            int a = req.indexOf('?');
            req.remove(0, a + 1); //удаляем всё ненужное в начале
            int f = req.indexOf('o'); //индекс буквы о,
            char nomer = req[f + 2]; //выделяем пин
            f = req.indexOf('&');
            req.remove(0, f);
            a = req.indexOf('=');
            char znachenie = req[a + 1];
            pin = nomer; zna = znachenie;
            atoi(pin, zna);
            Serial.println(pin);
            Serial.println(zna);
        

            digitalWrite (pin, zna);
     
          }

          delay(10);
          client.stop();
    

    }
 
Последнее редактирование:

tretyakov_sa

Moderator
Команда форума
Подскажите пожалуйста! создаю в ардуино IDE точку доступа, со страницей (код ниже), с телефона заходит и всё работает! а с ноута нет. как сделать чтоб с ноута тоже легко подключался?
пробовал другой скетч с есп приходит что клиент(ноут) подключён, но запроса никакова нет?
Попробуй пароль сделать более 8 символов.
 

pet

Member
А можно ли вообще к есп подключатся с ноутбука как к точке доступа?
 
Сверху Снизу