• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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
А можно ли вообще к есп подключатся с ноутбука как к точке доступа?
 
Сверху Снизу