|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 划句顾 于 2021-8-13 12:37 编辑
- /***************************************
- * purpose :用户通过浏览器可以访问NodeMCU所建立的网页。
- * 通过该网页,用户可实现对NodeMCU的控制。
- *
- * author :LAOGU
- * time :2021/8/12
- */
- #include<ESP8266WiFi.h>
- #include<ESP8266WiFiMulti.h>
- #include<ESP8266WebServer.h> //ESP8266WebServer库
- ESP8266WiFiMulti wifiMulti; //建立ESP8266WiFiMulti对象,对象名称是‘wifiMulti’
- ESP8266WebServer esp8266_server(80);//建立ESP8266WebServer对象,对象名称为esp8266_server
- //括号中的数字是网络服务器相应http请求的端口号
- //网络服务器标准http端口号为80
-
- void setup()
- {
- Serial.begin(9600); //启动串口通讯
- pinMode(LED_BUILTIN,OUTPUT); //设置内置LED引脚为输出模式以便控制LED
-
- //通过addAP函数存储 WiFi名称 WiFi密码
- wifiMulti.addAP("Xiaomi_9C18","A123456789a");
- wifiMulti.addAP("nanjishit","guyiling5201314");
- Serial.println("Connecting ...");
- int i = 0;
- while(wifiMulti.run()!=WL_CONNECTED)
- {
- delay(1000);
- Serial.print(i++);
- }
-
- //wifi连接成功后将通过串口监视器输出连接成功信息
- Serial.println('\n');
- Serial.print("Connected to ");
- Serial.println(WiFi.SSID());
- Serial.print("IP address:\t");
- Serial.println(WiFi.localIP());
- // ”启动网络服务功能“ 代码如下:
- esp8266_server.begin(); //启动网络服务器
- esp8266_server.on("/",HTTP_GET,handleRoot); //handleRoot为网络服务函数,handle是处理的意思,root是根
- esp8266_server.on("/LED",HTTP_POST,handleLED); //设置处理LED控制请求的函数‘handleLED’
- esp8266_server.onNotFound(handleNotFound); //设置处理404情况的函数‘handleNotFound’
- // 告知用户 网络服务功能已经启动
- Serial.println("HTTP esp8266_server started");
- }
- void loop() {
- esp8266_server.handleClient(); // 检查http服务器访问,因为如果此时esp有其他的事情做,它是不会理会这些请求的
- }
- void handleRoot()
- {
- esp8266_server.send(200,"text/html","<form action="/LED" method="POST"><input type="submit" value="Toggle LED"></form>");
-
- }
- void handleLED()
- {
- digitalWrite(LED_BUILTIN,!digitalRead(LED_BUILTIN)); //改变LED的点亮或者熄灭的状态
- esp8266_server.sendHeader("location","/"); //跳转会页面根目录
- esp8266_server.send(303); //发送http相应代码303跳转
- }
- void handleNotFound()
- {
- esp8266_server.send(404,"text/plain","404:Not found");
- }
复制代码
结果如下:
注:在双引号前加 \ 是为了表示这是html的代码。
<form action=\"/LED\" method=\"POST\">
<input type=\"submit\" value=\"Toggle LED\">
</form>
|
|