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();
}
Последнее редактирование: