ESP32构建简单WebServer服务器

这篇具有很好参考价值的文章主要介绍了ESP32构建简单WebServer服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

WebServer 服务器

此案例中,我们将创建一个最简单的 webserver 服务器

案例实现:ESP32 通过 SPIFFS 上传网页文件并保存,之后手机开启热点,ESP32 连接到该热点;与手机处于同一热点下的任何一个设备(下面用电脑演示)都可以通过 ESP32 反馈的内网地址访问其构建的网页!


ESP32 filesystem uploader

SPIFFS 是一种嵌入式文件管理系统
arduino 已经集成了对应库,但是依然需要我们下载另一个库来实现文件上传的功能

下载 ESP32 filesystem uploader
https://github.com/me-no-dev/arduino-esp32fs-plugin

注意我们需要下载的是 jar 文件,即编译过后的,具体下载地址在上方 github 页面的 readme 里面有

下载对应的 ZIP 包后,直接解压到 arduino 根目录下的 tools 文件夹内即可(如下图所示)

esp32 web服务器,# ESP32,服务器,github,java,esp32,arduino


重启 arduino,新建一个项目,项目内容保持为空

依次点击 工具->ESP Sketch Data Upload

esp32 web服务器,# ESP32,服务器,github,java,esp32,arduino

由于我们是第一次使用 SPIFFS,需要进行初始化,弹出窗口点击 yes 即可

等待一段时间,当 arduino 下方输出框停止输出后,就会在当前项目目录下创建一个 data 文件夹

该文件夹存放网页文件,下次直接按照此方法再次运行 ESP Sketch Data Upload 即可上传文件到 ESP32 的 SPIFFS 里面了!


WebServer 库

此时需要外部的 webserver 库支持,下载下面这两个库

AsyncTCP https://github.com/me-no-dev/AsyncTCP
ESPAsyncWebServer https://github.com/me-no-dev/ESPAsyncWebServer

依次点击 项目->加载库->加载 ZIP 库

选择我们下载完毕的两个库的 ZIP 压缩包,arduino 即可自动安装!

esp32 web服务器,# ESP32,服务器,github,java,esp32,arduino


WIFI 链接

此时开启我们的手机热点

我的热点设置是
热点名称(SSID):zhiller
热点密码:pp12345678

故得出以下代码

#include <WiFi.h>
#include <SPIFFS.h>
#include "ESPAsyncWebServer.h"

// 设置ESP32服务器运行于80端口
AsyncWebServer server(80);

//连接WIFI
void connect_wifi(){

  // WIFI名称以及对应密码
  const char* wifi_ssid = "zhiller";
  const char* wifi_password = "pp12345678";

  // 设置串口波特率,以便通过串口监视器观察输出
  Serial.begin(115200);

  WiFi.begin(wifi_ssid, wifi_password);         //连接WIFI

  Serial.print("正在连接WIFI");

  //循环请求,直到连接成功
  while(WiFi.status() != WL_CONNECTED){
    Serial.print(".");
    delay(500);
  }

  Serial.println();
  IPAddress local_IP = WiFi.localIP();
  Serial.print("WIFI链接成功,此为IP:"); //连接成功提示
  Serial.println(local_IP);
}

// 开启webserver,挂载网页index.html
void web_server(){
 if(!SPIFFS.begin(true)){
    Serial.println("SPIFFS发生错误");
    return;
  }
  server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.html");
  server.begin();                       //初始化
}

void setup() {
  connect_wifi();
  web_server();
}

void loop() {

}

网页与代码烧录

随便写一个网页

代码清单 index.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<link
			rel="stylesheet"
			type="text/css"
			href="style.css"
		/>
		<title>测试网站</title>
	</head>
	<body>
		<h1>测试网站</h1>
		<p>测试测试测试</p>
	</body>
</html>

保存该网页到项目目录下的 data 文件夹

之后回到 arduino,依次执行 工具->ESP Sketch Data Upload 上传网页文件
(此时必须要保证串口监视器是关闭状态,否则上传必定失败)

上传完毕后,先打开串口监视器(提前调节波特率到 115200),然后才开始上传代码

我们通过串口监视器可以观察到正在连接 WIFI,并且在连接到 WIFI 后,出现 ESP32 搭设的 webserver 的内网 IP

esp32 web服务器,# ESP32,服务器,github,java,esp32,arduino

之后将电脑连接到手机热点

电脑上访问对应的 IP+端口,如 192.168.43.141:80
此时即可浏览到对应的网页 index.html文章来源地址https://www.toymoban.com/news/detail-665766.html


到了这里,关于ESP32构建简单WebServer服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ESP32连接云服务器【WebSocket】

    🔮🔮🔮🔮🔮相关文章🔮🔮🔮🔮🔮 ESP32连接MQ Sensor实现气味反应 🔗 https://blog.csdn.net/ws15168689087/article/details/131365573 ESP32+MQTT+MySQL实现发布订阅【气味数据收集】 🔗 https://blog.csdn.net/ws15168689087/article/details/131627595 个人云服务器搭建MQTT服务器 🔗 https://blog.csdn.net/ws15168689

    2024年02月16日
    浏览(37)
  • 基于ESP32的简易web服务器

    本文介绍一下如何使用ESP32快速方便的搭建一个简易的web服务器。 使用ESP32或ESP8266搭建web服务器的方式有很多,但是大多数都的web页面代码都是内嵌在程序中的,这样如果要修改web页面就十分的不方便。今天介绍一种方法将web页面的代码以文件的形式上传到存储器中,然后在

    2024年02月09日
    浏览(41)
  • ESP32作为服务器,使用网页控制LED小灯

    项目描述 ESP32-S开发板加入局域网,使用platformIO编写好ESP32的代码后,编译下载到ESP32中,访问ESP32的IP地址,使用网页控制连接着的LED小灯 项目准备: ESP32-S开发板 一根数据线 电脑 LED小灯 开发环境:vscode + PlatformIO 原理剖析 这个ESP32作为服务器,浏览器作为客户端,这是一个简

    2023年04月26日
    浏览(42)
  • STM32通过ESP8266连接MQTT服务器

            ESP8266有多种连接MQTT方式,本文介绍使用的是AT MQTT版本固件的ESP01s,基于此固件版本进行说明。本文所需硬件:STM32F103RCT6、LED、ESP01s、DHT11,实现功能:温湿度上传和远程开关灯的基本功能。 B站视频教程:STM32+ESP8266+DHT11_哔哩哔哩_bilibili gitee: STM32_Share: STM32、DHT

    2024年02月09日
    浏览(36)
  • esp32通过NBIoT模块连入MQTT服务器

    title: esp32通过NBIoT模块连入MQTT服务器 keywords: nbiot,esp32,c++,python,mqtt tags: [esp32,c++,python,mqtt,nbiot] categories: [嵌入式,前后端] esp32通过NBIoT模块连入MQTT服务器 (Message Queuing Telemetry Transport),是一种轻量级、开放的发布-订阅式通信协议。它适用于物联网、移动应用和其他带有低带宽

    2024年04月17日
    浏览(46)
  • ESP32接入网络后,循环扫描服务器IP及端口状态信息(ESP-IDF)

            本文使用的是ESP32系列的ESP32S3设备开发,ESP-IDF框架版本为 ESP-IDF V5.1 ,在VScode下以ESP-IDF插件的形式对设备开发。 后期经过对程序的测试发现,在ESP-IDF v4.4框架下编译开发,也可以实现循环扫描功能,实现功能的程序源码Demo见文末。         在嵌入式物联网这

    2024年02月02日
    浏览(44)
  • 基于ESP32搭建物联网服务器一(AP配网)

    目录 一、WiFi.mode();设置配网模式 二、WiFi.softAP();设置ESP32的WIFI属性 三、WiFi.softAPConfig();设置ESP32的IP,网关,子网掩码,DHCP    ESP32的AP配网模式可以通过无线WIFI连接的方式来连接来控制ESP32或获取ESP32的数据。 设置ESP32的AP配网需要的库为 WiFi.h 默认情况下,arduino IDE安装好

    2024年02月13日
    浏览(39)
  • ESP32+ 继电器-控制交流电器(Web 服务器)

    采用继电器配合esp32远程控制电灯的方法,继电器也可以改成多路继电器,这样单个esp32可以控制多个电器原件 以下是esp32的io引脚,本文采用IO26作为信号输入  将继电器模块连接到esp32,如下图所示 本例子中用的是一个继电器模块 以下是实物的接线图,图中没有用AC接灯泡而

    2024年02月16日
    浏览(42)
  • ESP32 CAM与服务器(python)UDP视频传输

    ESP32 CAM Arduino代码 UDP Server代码

    2023年04月11日
    浏览(68)
  • ESP32网络开发实例-TCP服务器数据传输

    本文将详细介绍在Arduino开发环境中,实现一个ESP32 TCP服务器,从而达到与TCP客户端数据交换的目标。 Internet 协议(IP)是 Internet 的地址系统,具有将数据包从源设备传递到目标设备的核心功能。IP 是建立网络连接的主要方式,奠定了 Internet 的基础。IP 不负责数据包排序或错

    2024年02月07日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包