esp8266建立的网页内输入框判断输入值是否为123,点击页面内按钮后如果是就弹窗,并向ESP8266返回1,并将传输的信息在串口打印
时间: 2024-03-24 16:40:31 浏览: 76
esp8266-console:方便的控制台,用于与ESP8266芯片进行串行通信
好的,我来给您提供一个简单的ESP8266代码示例,实现您所描述的功能:
```c++
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
ESP8266WebServer server(80);
void handleRoot() {
String html = "<html><body><h1>ESP8266 Web Server</h1>";
html += "<form method='get' action='/check'>";
html += "Input (123): <input type='text' name='input'><br>";
html += "<input type='submit' value='Submit'>";
html += "</form></body></html>";
server.send(200, "text/html", html);
}
void handleCheck() {
String input = server.arg("input");
if (input == "123") {
server.send(200, "text/html", "<script>alert('Correct!');window.location='/';</script>");
Serial.println("Input is correct!");
// 在此处添加向ESP8266返回1的代码
} else {
server.send(200, "text/html", "<script>alert('Incorrect!');window.history.back();</script>");
Serial.println("Input is incorrect!");
}
}
void setup() {
Serial.begin(9600);
WiFi.begin("your_SSID", "your_PASSWORD");
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi!");
server.on("/", handleRoot);
server.on("/check", handleCheck);
server.begin();
}
void loop() {
server.handleClient();
}
```
在这个示例代码中,我们创建了一个ESP8266WebServer对象(server),并分别定义了handleRoot()和handleCheck()函数作为不同URL的处理程序。handleRoot()函数处理根URL"/"的请求,该函数返回一个包含输入框和提交按钮的HTML页面。handleCheck()函数处理"/check" URL的请求,该函数从请求参数中获取输入值,如果输入值为"123",则返回一个JavaScript弹出窗口,否则返回一个JavaScript警告窗口并回到上一页。
在handleCheck()函数中,我们可以添加向ESP8266返回1的代码,例如:
```c++
server.send(200, "text/plain", "1");
```
这将在页面上返回一个值为1的文本,您可以在处理程序中识别并执行相应的操作。
请注意,此示例代码仅用于参考,您需要根据自己的实际情况进行修改和调整。
阅读全文