RtroN
New member
Делаю веб сервер на базе esp8266, хочу сделать что то в роде того что бы пользователь подключался к вай фай сети, его перебрасывало на captive portal на котором он мог оставить некий текст, который сохранялся в памяти платы и выводился на главную страницу. Импортировать JQuery не получается. Почему такая сложность? Потому что я хочу сделать это всё без подключения к интернету, поэтому через интернет его импортировать не получится, хотя так на много легче. Подскажите пожалуйста, как переделать мой кусочек кода, что бы оно импортирвалось?
Код esp:
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <FS.h>
ESP8266WebServer server;
char* ssid = "TP-LINK_03E4";
char* password = "42291404";
void setup()
{
SPIFFS.begin();
WiFi.begin(ssid,password);
Serial.begin(115200);
while(WiFi.status()!=WL_CONNECTED)
{
Serial.print(".");
delay(500);
}
Serial.println("");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
server.onNotFound([]()
{
server.send(404, "text/plain", "FileNotFound");
});
server.on("/",serverIndexFile);
server.begin();
}
void loop()
{
server.handleClient();
}
void serverIndexFile()
{
File file = SPIFFS.open("/index.htm","r");
server.streamFile(file, "text/html");
file.close();
File filejs = SPIFFS.open("/jquery.js","r");
server.streamFile(filejs, "application/javascript");
filejs.close();
}
Код html:
<!DOCTYPE HTML>
<html lang='en'>
<head>
<script src="jquery.js"></script>
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width, initial-scale=1'>
</head>
<body>
<h1>Ввод:</h1>
<input type='text' name='input' id='input' size=2 autofocus>
<div>
<br><button id='send_button'>Send</button>
</div>
<script>
var input;
$('#send_button').click(function(e){
e.preventDefault();
input = $('#input').val();
$.get('/send?input=' + input, function(data){
console.log(data);
});
});
</script>
</body>
</HTML>
Код esp:
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <FS.h>
ESP8266WebServer server;
char* ssid = "TP-LINK_03E4";
char* password = "42291404";
void setup()
{
SPIFFS.begin();
WiFi.begin(ssid,password);
Serial.begin(115200);
while(WiFi.status()!=WL_CONNECTED)
{
Serial.print(".");
delay(500);
}
Serial.println("");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
server.onNotFound([]()
{
server.send(404, "text/plain", "FileNotFound");
});
server.on("/",serverIndexFile);
server.begin();
}
void loop()
{
server.handleClient();
}
void serverIndexFile()
{
File file = SPIFFS.open("/index.htm","r");
server.streamFile(file, "text/html");
file.close();
File filejs = SPIFFS.open("/jquery.js","r");
server.streamFile(filejs, "application/javascript");
filejs.close();
}
Код html:
<!DOCTYPE HTML>
<html lang='en'>
<head>
<script src="jquery.js"></script>
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width, initial-scale=1'>
</head>
<body>
<h1>Ввод:</h1>
<input type='text' name='input' id='input' size=2 autofocus>
<div>
<br><button id='send_button'>Send</button>
</div>
<script>
var input;
$('#send_button').click(function(e){
e.preventDefault();
input = $('#input').val();
$.get('/send?input=' + input, function(data){
console.log(data);
});
});
</script>
</body>
</HTML>