基于ESP32的简易web服务器

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

本文介绍一下如何使用ESP32快速方便的搭建一个简易的web服务器。

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

这里首先介绍一下SPIFFS。

基于ESP32的简易web服务器

SPIFFS又叫SPI闪存文件系统。是一种小型嵌入式系统专用的文件系统。它支持用户创建文件和目录。

以下是SPIFFS的主要特点:

专为微控制器上的低 RAM 使用场景而设计;

使用固定大小的 RAM 缓冲区;

Posix-like api:打开,关闭,读取,写入,搜索,统计等;

POSIX:Portable Operating System Interface 可移植操作系统接口;

不仅仅是SPI闪存 (SPI Flash:Serial Peripheral interface 串行外围设备接口, 串行通信接口的NOR FLASH),它可以在任何 非易失闪存(NOR Flash)上运行,多个 SPIFFS 配置可以在同一目标上运行甚至可以在同一个 SPI 闪存设备上运行;

实现静态磨损均衡;

内置的系统一致性检查;

高度可配置,可适用于各种闪存类型。

使用Arduino进行ESP32开发时,开发套件中集成有SPIFFS可以直接使用。但是开发工具中不具有文件上传功能,所以首先需要给ArduinoIDE添加SPIFFS文件上传插件。

首先下载文件上传工具,可以在下面的链接处下载,也可以在文末分享的链接处下载。

GitHub - me-no-dev/arduino-esp32fs-plugin: Arduino plugin for uploading files to ESP32 file system

基于ESP32的简易web服务器

将所下载的文件“esp32fs.jar”放置到Arduino安装目录下的工具文件夹中。如F:\arduino-1.8.19\tools\ESP32FS\tool。然后重启Arduino IDE。

基于ESP32的简易web服务器

重启Arduino IDE后在工具菜单下就可以看到“ESP32 Sketch Data Upload”选项,通过该选项就可以将工程目录下data文件夹中的文件上传到ESP32的文件存储系统中。上传过程中一定要关闭ESP32的串口监视器窗口,否则会导致上传失败。

基于ESP32的简易web服务器

文件上传工具安装完成后,接下来需要安装异步web服务器库。主要包括ESPAsyncWebServer和AsyncTCP两个库。通过这两个库可以实现简单的异步web服务器的搭建。

异步web服务器有以下优点:

使用异步意味着服务器可以同时处理来自客户端的多个连接;

一旦请求准备好并被解析,您就会被调用;

当您发送响应时,您可以立即准备好处理其他连接,而服务器会在后台处理发送响应

速度很快;

易于使用的 API、HTTP Basic 和 Digest MD5 身份验证(默认)、ChunkedResponse;

易于扩展以处理任何类型的内容;

支持继续 100;

异步 WebSocket 插件提供不同的位置,无需额外的服务器或端口;

Async EventSource (Server-Sent Events) 插件向浏览器发送事件;

用于条件和永久 URL 重写的 URL 重写插件;

支持缓存、Last-Modified、默认索引等的 ServeStatic 插件;

处理模板的简单模板处理引擎;

两个库的下载地址如下:

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

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

两个库安装完成后就可以开始创建web页面了。web前端页面的开发工具有很多,自行选择一种喜欢的方式就可以了。

    <!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>
        <img border="0" src="1.jpg" alt="Pulpit rock" width="500" height="500">
      </body>
    </html>

使用Arduino IDE创建ESP32工程。在工程下创建data文件夹,并将创建的HTML程序文件放到data文件夹内。然后依次点击”工具”->”ESP32 Sketch Data Upload”将WEB程序文件上传到ESP32存储器中。

基于ESP32的简易web服务器

修改程序中的WIFI信息,点击上传到ESP32即可。

基于ESP32的简易web服务器
基于ESP32的简易web服务器

上传完成后可以打开串口监视窗口,等ESP32完成网络连接后会输出对应的IP地址。使用同一网络下的PC或手机的浏览器访问该IP即可进入到web页面。文章来源地址https://www.toymoban.com/news/detail-485065.html

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

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

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

相关文章

  • 基于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日
    浏览(38)
  • 基于 ESP32 通过 SMTP 服务器 来发送电子邮件信息

    电子邮件在全球范围内被用作数字通信的重要组成部分。电子邮件主要用于官方通信目的,因为它最方便、成本效益高、保存记录、覆盖全球且环保。电子邮件是一种非常快捷的通信方式,只是您需要稳定的互联网连接。 在这个项目中,我们将使用ESP32开发板发送电子邮件(

    2024年02月07日
    浏览(57)
  • 使用esp32+micropython+microdot搭建web(http+websocket)服务器(超详细)第一部分

    microdot文档速查 什么是Microdot?Microdot是一个可以在micropython中搭建物联网web服务器的框架 micropyton文档api速查 Quick reference for the ESP32 演示视频链接 视频中我们简单的实现了 使用esp32搭建web服务器 实现get请求 上传网页到服务器 手机打开网址访问该网页 服务器处理请求,实现开

    2024年02月08日
    浏览(40)
  • 基于esp32-cam模块的监控,并自动拍照保存置服务器

    推荐esp教程网站:esp教程网站 ,纯英文,需魔法上网。         Arduino官网:Software | Arduino         建议下载1.8.x版本,不推荐下载2.x版本,1.8.x版本可以使用插件,但是2.x版本有代码补充。         点击后,会弹出两个网页,都选择 JUST DOWNLOAD 。 ​         安装

    2024年04月16日
    浏览(37)
  • 基于 ESP32 创建 HTTP Server 服务器,支持载入文件到服务器,并对载入文件进行删除管理

    软件编程指南参见:HTTP 服务器 任意一款 ESP32 系列开发板 2.4GHz 路由器热点 准备各种格式的文件 可基于 esp-idf/examples/protocols/http_server /file_serving 例程进行测试 只需要设置 ESP32 连接的 2.4GHz 的 WiFi 热点 即可 menuconfig — Example Connection Configuration — WiFi SSID — WiFi Password 下载固件

    2024年02月16日
    浏览(39)
  • 提供最全面最详细的ESP32从零开始搭建一个物联网平台教程(从最基本的配网和内建WEB服务器开始到自已搭建一个MQTT服务器)

    目录 教程大纲  硬件需求 教程说明 教程章节链接 ESP32搭建WEB服务器一(AP配网) ESP32搭建WEB服务器二(STA模式) ESP32搭建WEB服务器三(AP模式与STA模式共存) ESP32搭建WEB服务器四(最简单的WEB服务器) ESP32搭建WEB服务器五(内嵌HTML) ESP32搭建WEB服务器六(利用SPIFFS存放html,css,js等文件(读取

    2024年02月13日
    浏览(48)
  • 基于ESP32搭建物联网服务器六(利用SPIFFS存放html,css,js等文件(读取html)

    在前文中:ESP32的web服务器(内嵌HTML)_你的幻境的博客-CSDN博客 已经实现建立了一个WEB服务器了,但是页面的HTML代码是镶嵌在C语言代码中的,大部份情况下,不管是调试或者使用都是很不方便的。但是ESP32的SPIFFS提供了很好的解决方法,SPIFFS相当于ESP32中的一个硬盘分区,每种版

    2024年02月02日
    浏览(41)
  • 【colab】谷歌colab免费服务器训练自己的模型,本文以yolov5为例介绍流程

    目录 一.前言 二.准备工作 1.注册Google drive(谷歌云盘) Google Driver官网:https://drive.google.com/drive/ Colab官网:https://colab.research.google.com/ 2.上传项目文件 3.安装Colaboratory 4.colab相关操作和命令 5.项目相关操作  三.异常处理         本文介绍了在谷歌开放平台Google colab上租用免

    2023年04月08日
    浏览(39)
  • 关于LWIP用法之HTTPD:基于STM32F4搭建web服务器

    一,STM32CUBEMX配置(使用的是6.4.0版本) 前提是在配置好LWIP的情况下(能ping通你的开发板),使能HTTPD功能。 然后是使能LWIP_HTTPD_CGI, 使能:LWIP_HTTPD_SUPPORT_POST(), 使能 :HTTPD_USE_CUSTOM_FSDATA。 会发现fs.c这个文件的#include HTTPD_FSDATA_FILE,这一句编译报错,解决办法:1) 在KEIL中lwipop

    2023年04月08日
    浏览(24)
  • ESP32网络开发实例-搭建ESP32固件远程升级服务器

    我们在前面的文章中,已经实现了OTA方式升级固件的两种方式:在Arduino IDE 中升级和Web浏览器中升级。这两种方式都不能满足设备自动升级的需求。在本文中,将详细介绍如何搭建一个ESP32固件远程升级服务器。通过远程升级服务器,ESP32设备可以根据固件版本号进行自动升级

    2024年01月23日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包