通常承担网络服务器工作的设备都是运算能力比较强大的服务器电脑。ESP866-NodeMCU虽然也能实现网络服务器的一些功能,但是毕竟它的运算能力是无法与那些昂贵的服务器电脑相媲美的,因此ESP8266-NodeMCU只能实现一些基本的网络服务功能。
  下面例程使用ESP8266建立最简单的网页,在串口输出相关的IP信息,通过浏览器访问地址查看网页。

代码来源,太极创客:


#include <ESP8266WiFi.h>        // 本程序使用 ESP8266WiFi库
#include <ESP8266WiFiMulti.h>   //  ESP8266WiFiMulti库
#include <ESP8266WebServer.h>   //  ESP8266WebServer库ESP8266WiFiMulti wifiMulti;     // 建立ESP8266WiFiMulti对象,对象名称是'wifiMulti'ESP8266WebServer esp8266_server(80);// 建立ESP8266WebServer对象,对象名称为esp8266_server// 括号中的数字是网路服务器响应http请求的端口号// 网络服务器标准http端口号为80,因此这里使用80为端口号void setup(void){Serial.begin(9600);          // 启动串口通讯//通过addAp函数存储  WiFi名称       WiFi密码wifiMulti.addAP("tsy_B5AC58", "123456789");  // 这三条语句通过调用函数addAP来记录3个不同的WiFi网络信息。替换成自己的wifi名称和密码wifiMulti.addAP("taichi-maker2", "87654321"); // 这3个WiFi网络名称分别是taichi-maker, taichi-maker2, taichi-maker3。wifiMulti.addAP("taichi-maker3", "13572468"); // 这3个网络的密码分别是123456789,87654321,13572468。// 此处WiFi信息只是示例,请在使用时将需要连接的WiFi信息填入相应位置。// 另外这里只存储了3个WiFi信息,您可以存储更多的WiFi信息在此处。int i = 0;                                 while (wifiMulti.run() != WL_CONNECTED) {  // 此处的wifiMulti.run()是重点。通过wifiMulti.run(),NodeMCU将会在当前delay(1000);                             // 环境中搜索addAP函数所存储的WiFi。如果搜到多个存储的WiFi那么NodeMCUSerial.print(i++); Serial.print(' ');    // 将会连接信号最强的那一个WiFi信号。}                                          // 一旦连接WiFI成功,wifiMulti.run()将会返回“WL_CONNECTED”。这也是// 此处while循环判断是否跳出循环的条件。// WiFi连接成功后将通过串口监视器输出连接成功信息 Serial.println('\n');                     // WiFi连接成功后Serial.print("Connected to ");            // NodeMCU将通过串口监视器输出。Serial.println(WiFi.SSID());              // 连接的WiFI名称Serial.print("IP address:\t");            // 以及Serial.println(WiFi.localIP());           // NodeMCU的IP地址//--------"启动网络服务功能"程序部分开始-------- //  此部分为程序为本示例程序重点1esp8266_server.begin();                   //  详细讲解请参见太极创客网站《零基础入门学用物联网》esp8266_server.on("/", handleRoot);       // ESP8266-NodeMCU网络服务器-1esp8266_server.onNotFound(handleNotFound);
//--------"启动网络服务功能"程序部分结束--------Serial.println("HTTP esp8266_server started");//  告知用户ESP8266网络服务功能已经启动
}/* 以下函数语句为本示例程序重点3*/
void loop(void){esp8266_server.handleClient();     // 处理http服务器访问
}/* 以下两个函数为本示例程序重点2*/
void handleRoot() {   //处理网站根目录“/”的访问请求 esp8266_server.send(200, "text/plain", "Hello from ESP8266 QingYeMuRong");   // NodeMCU将调用此函数。
}// 设置处理404情况的函数'handleNotFound'
void handleNotFound(){                                        // 当浏览器请求的网络资源无法在服务器找到时,esp8266_server.send(404, "text/plain", "404: Not found");   // NodeMCU将调用此函数。
}

串口输出IP地址:

网页访问:

ESP8266(NodeMCU)建立最简单的网页相关推荐

  1. 使用html 语言建立一个简单的网页,如何用记事本建立简单的网页(1).doc

    第九章 网页制作 实验一 用记事本建立简单的HTML文件 [实验目的] 学会用HTML语言建立一个简单的网页. [实验内容] 建立一个网页,布局自定,包括自我介绍.图片.自己的电子信箱地址等,要求在标 ...

  2. 萌新建立的简单登陆网页,

     利用idea创建服务器,并使网页中的数据可以存入MySQL中,欢迎留言指导 使用Spring MVC建立服务器,在网页中向该服务器发射注册相关数据, 目标: 1.在服务器中整理数据,并使用JDBC协 ...

  3. 通过Dreamweaver建立一个简单的网页音乐盒模型效果/css/h5/

    一.结构分析 由图我们可以看到音乐盒的效果右外边框盒子组成,盒子内部又分为两个部分,其中上面部分为标题,下面部分为图片. 二.样式 1.通过外层的大盒子对音乐盒的整体样式进行控制,设置最外层的宽度.高 ...

  4. 使用HTML建立一个简单的网页

    开发过程如下: 1.打开Dreamweaver2021,新建立一个HTML5格式的文档 2.而后在<body>双标签内部嵌套使<h2>标题标签创建标题 <body> ...

  5. 简单明了操作——ESP8266 NodeMCU驱动TFT LCD液晶屏(制作透明小电视前奏)

    简单明了操作--ESP8266 NodeMCU驱动TFT LCD液晶屏(制作透明小电视前奏) 前言 准备材料 esp8266 NodeMCU(串口WiFi模块) 1.44inch SPI Arduin ...

  6. 最简单DIY基于ESP8266的智能彩灯②(在网页用按键和滑动条控制RGB灯)

    ESP8266和ESP32智能彩灯开发系列文章目录 第一篇:最简单DIY基于ESP8266的智能彩灯①(在网页用按钮点亮普通RGB灯) 第二篇:最简单DIY基于ESP8266的智能彩灯②(在网页用按键 ...

  7. 最简单DIY基于ESP8266的智能彩灯①(在网页用按钮点亮普通RGB灯)

    ESP8266和ESP32智能彩灯开发系列文章目录 第一篇:最简单DIY基于ESP8266的智能彩灯①(在网页用按钮点亮普通RGB灯) 文章目录 ESP8266和ESP32智能彩灯开发系列文章目录 前 ...

  8. 最简单DIY基于ESP8266的智能彩灯③(在网页用按钮+滑动条+手机APP控制RGB灯)

    ESP8266和ESP32智能彩灯开发系列文章目录 第一篇:最简单DIY基于ESP8266的智能彩灯①(在网页用按钮点亮普通RGB灯) 第二篇:最简单DIY基于ESP8266的智能彩灯②(在网页用按键 ...

  9. ESP8266 NodeMCU:ESP-NOW Web 服务器传感器仪表板(ESP-NOW + Wi-Fi)

    在本项目中,您将学习如何使用 ESP8266 NodeMCU 板托管 Web 服务器并同时使用 ESP-NOW 通信协议.您可以让多个 ESP8266 板通过 ESP-NOW 将传感器读数发送到一个 ...

最新文章

  1. python盘点订单_django解决订单并发问题【推荐】
  2. 点击空白处遮罩层关闭_如何手动关闭win10系统自带的windows defender
  3. android 反编译
  4. 商业周刊评出08年增长最快的美国科技公司
  5. PopupWindow的一些使用总结
  6. A. Arithmetic Array Codeforces Round #726 (Div. 2)
  7. TortoiseSVN的安装和使用
  8. 20169214 2016-2017-2《网络攻防实践》第二周学习总结
  9. mysql 查询语句
  10. Spring boot(4) web开发(2) 请求处理、响应处理、模板引擎
  11. Struts2 result type(结果类型)
  12. 基金公司十大非货规模逆袭(2010-2020)
  13. from collections import OrderedDict
  14. 阅读《经济学人》,学会这样查词典,从此英语学习不求人
  15. JavaSE进阶582-589 IO流(二)File类/目录拷贝
  16. 一款免费好用的在线高效作图工具
  17. 詹姆斯高斯林_詹姆斯·高斯林(James Gosling)关于Java的立场:我几乎不在乎
  18. TCP协议之《ACK pingpong交互模式详解》
  19. iP138版 iP地址 离线iP数据库 ip.dat详解
  20. 【正点原子FPGA连载】第三十九章OV7725摄像头RGB-LCD显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

热门文章

  1. (二)第十三回:无意听课醍醐灌顶 血战哲理分心误事【林大帅作品】
  2. License 授权机制保护下的商业软件产品
  3. 上下行链路NOMA的比较
  4. Android蓝牙遥控器
  5. 关于开行周口—北京西K402/1次旅客列车的公告
  6. 基于java的在线考试系统
  7. JRE安装遇到Error 1603
  8. MySQL 查询 并集、交集、差集
  9. spring cloud工程名称怎么读
  10. 2017 ACM-ICPC 北京区域赛记录