WebServer

——基于ESP32制作迷你服务器

【Designed By SoTWild】

 


-前言:

自从使用 ESP32 系列芯片以来,我逐渐发觉了它的强大之处。最近着重研究了一下它的“ WebServer ”功能,便以此开发了一个迷你服务器

ESP32 芯片是由我国的乐鑫公司继 ESP8266 芯片后推出的又一款集成 WiFi 功能的微控制器。它拥有比 ESP8266 更加强大的性能,可以用来开发更加复杂的应用。ESP32 芯片或模组具有下列特点:

  • 处理器:Tensilica LX6 双核处理器(一核处理高速连接;一核独立应用开发)
  • 主频:32 位双核处理器,CPU 正常工作速度为 80 MHz,最高可达 240 MHz
  • SRAM:520KB,最大支持 8 MB 片外 SPI SRAM
  • Flash:最大支持 16 MB 片外 SPI Flash
  • WiFi 协议:支持 802.11 b/g/n/d/e/i/k/r 等协议,速度高达150 Mbps
  • 频率范围:2.4~2.5 GHz
  • 蓝牙协议:支持蓝牙 v4.2 完整标准,包含传统蓝牙 (BR/EDR) 和低功耗蓝牙 (BLE)
  • 外设接口:GPIO、ADC、DAC、SPI、I²C、I²S、UART 等

ESP32 芯片主要具有高性能、低功耗、高度集成、体积小、性能稳定等优点。


-为什么创建此项目?

借助此项目练习 CHTML 的编写。


-硬件:

·PCB:

这里 ESP32-WROOMESP32-WROVER 都可以兼容,我将网页文件添加在了 Micro SD 卡中,使用的通信协议是 SDMMC (不是常用的 SPISDMMC 通信速度更)。因此,你可以直接使用 ESP32-CAM 上传代码。

·传输速度:

ESP32 使用的是 2.4GHz 的 WiFi ,理论上最大传输速度是 30Mbps ,但实际上受限于 WiFi 的传输距离,还有它的天线,实测的时候一般为几百Kbps ,不过对于该项目已经足够了,并且在实测中传输速度完全可以在线播放歌曲,甚至低分辨率视频。下载速度为40KB/s

 


-软件:

·开发环境:

这里使用的是 Arduino IDE 1.8.13 ,ESP32 包版本为 1.0.2 (出于特殊原因不是2.0.0)。

·基本代码:

ESP32:

SD卡根目录:

 


-其他:

本站原来实现原理

 

-使用的资料:

使用Arduino开发ESP32(09):WebServer使用演示与说明

使用Arduino开发ESP32(14):基于SD卡的Web服务器搭建

ESP32的WIFI传输速率如何

HTML 教程

-开源协议:

GPL-3.0