使用ESP8266构建服务器:显示页面

说明主体程序只有一个,网页文件(html,css,js)都放在data文件夹下就可以主体程序#include <ESP8266WiFi.h>#include <ESP8266WiFiMulti.h>#include <ESP8266WebServer.h>#include <LittleFS.h> ESP8266WiFiMulti wifiMulti; // 建立ESP8266WiFiMulti对象ESP8266WebServe
摘要由CSDN通过智能技术生成

说明

主体程序只有一个,网页文件(html,css,js)都放在data文件夹下就可以

主体程序


#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266WebServer.h>
#include <LittleFS.h>  

ESP8266WiFiMulti wifiMulti;     // 建立ESP8266WiFiMulti对象

ESP8266WebServer esp8266_server(80);    // 建立网络服务器对象,该对象用于响应HTTP请求。监听端口(80)

String getContentType(String filename);
bool handleFileRead(String path) ;
void handleUserRequet();

void setup() {
   
  Serial.begin(9600);          // 启动串口通讯
  Serial.println("");
  
  wifiMulti.addAP("kafen", "wys231471"); // 将需要连接的一系列WiFi ID和密码输入这里
  wifiMulti.addAP("ssid_from_AP_2", "your_password_for_AP_2"); // ESP8266-NodeMCU再启动后会扫描当前网络
  wifiMulti.addAP("ssid_from_AP_3", "your_password_for_AP_3"); // 环境查找是否有这里列出的WiFi ID。如果有
  Serial.println("Connecting ...");                            // 则尝试使用此处存储的密码进行连接。
  
  int i = 0;  
  while (wifiMulti.run() != WL_CONNECTED) {
    // 尝试进行wifi连接。
    delay(1000);
    Serial.print(i
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的ESP8266智能插座程序示例,使用了Arduino IDE进行编写。该程序允许您通过手机应用程序或Web界面远程控制插座。 首先,您需要安装ESP8266板支持库和WiFiManager库。然后,将以下代码复制到Arduino IDE中,将您的WiFi SSID和密码添加到程序中,并上传到ESP8266开发板。 ```C++ #include <ESP8266WiFi.h> #include <WiFiManager.h> WiFiServer server(80); // 端口80用于Web服务器 String webPage = ""; // 存储Web页面的字符串 void setup() { // 初始化串行通信 Serial.begin(9600); // 连接到WiFi WiFiManager wifiManager; wifiManager.autoConnect("SmartSocket"); Serial.println("Connected to WiFi!"); // 启动Web服务器 server.begin(); Serial.println("Web server started!"); } void loop() { WiFiClient client = server.available(); if (client) { Serial.println("New client connected!"); while (client.connected()) { if (client.available()) { // 读取客户端请求 String request = client.readStringUntil('\r'); Serial.println(request); // 处理GET请求 if (request.indexOf("GET /") != -1) { // 生成Web页面 webPage = "<html><head><title>Smart Socket</title></head><body>"; webPage += "<h1>Smart Socket Control</h1>"; webPage += "<form method=\"get\" action=\"socket\"><button name=\"state\" value=\"on\">On</button><button name=\"state\" value=\"off\">Off</button></form>"; webPage += "</body></html>"; // 发送Web页面 client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println("Connection: close"); client.println(); client.println(webPage); // 处理插座状态更改请求 } else if (request.indexOf("GET /socket") != -1) { // 读取状态更改请求 int stateStart = request.indexOf("state=") + 6; int stateEnd = request.indexOf("HTTP/") - 1; String state = request.substring(stateStart, stateEnd); // 更改插座状态 if (state == "on") { digitalWrite(5, LOW); // 打开插座 } else if (state == "off") { digitalWrite(5, HIGH); // 关闭插座 } // 生成确认页面 webPage = "<html><head><title>Smart Socket</title></head><body>"; webPage += "<h1>Smart Socket Control</h1>"; webPage += "<p>Socket turned " + state + "!</p>"; webPage += "</body></html>"; // 发送确认页面 client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println("Connection: close"); client.println(); client.println(webPage); } } } // 断开客户端连接 client.stop(); Serial.println("Client disconnected!"); } } ``` 这个程序使用GPIO 5来控制插座的开关状态。在ESP8266上,GPIO 5对应于D1引脚。因此,您需要将插座的开关线连接到D1引脚和GND引脚。 上传完成后,打开串行监视器并重置ESP8266。它将连接到您的WiFi网络并显示其IP地址。将该IP地址输入到Web浏览器中,您将看到一个简单的Web页面,可用于控制插座的开关状态。 此外,您可以使用任何HTTP客户端(如Postman)来发送GET请求以更改插座状态。只需将以下URL添加到HTTP请求中:http://[ESP8266 IP地址]/socket?state=[on或off]。例如,要打开插座,可以使用以下URL:http://[ESP8266 IP地址]/socket?state=on。 希望这可以帮助您开始构建您自己的智能插座!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值