littlebot
Published on 2025-04-11 / 5 Visits
0

【源码】基于ESP32的HTTP RESTful API服务器项目

项目简介

本项目是基于ESP32的HTTP RESTful API服务器示例,实现了RESTful API服务器与HTTP服务器,并搭配前端浏览器界面。通过多个API接口,客户端可获取系统信息、温度数据,还能上传控制值控制LED亮度。利用mDNS技术解决物联网设备IP地址变化的访问问题,同时提供多种网页部署方式,方便开发与使用。

项目的主要特性和功能

  1. RESTful API服务:设计多个API接口,用于获取系统信息、原始温度数据以及控制LED亮度,便于客户端与服务器交互。
  2. mDNS域名解析:通过mDNS技术解析域名esp-home.local,可通过该域名访问服务器,不受ESP32实际IP地址变化影响。
  3. 多种网页部署方式:支持将网页部署到主机PC、SPI Flash或SD卡,开发时可用semihost技术提高效率,开发完成后可按需选择部署目标。
  4. 前端框架支持:支持多种著名前端框架,示例采用了Vue框架和vuetify UI库。

安装使用步骤

硬件准备

需一个ESP32开发板(如ESP32 - WROVER Kit、ESP32 - Ethernet - Kit)或ESP32核心板(如ESP32 - DevKitC)。若选择半主机模式部署网站,可能需额外的JTAG适配器;若选择将网站部署到SD卡,则需额外的SD卡槽板。

配置项目

  1. 打开项目配置菜单:idf.py menuconfig
  2. Example Connection Configuration菜单中:
    • 根据开发板选择网络接口(Wi - Fi或Ethernet)。
    • 若选Wi - Fi接口,设置Wi - Fi SSID和密码。
    • 若选Ethernet接口,设置PHY模型、PHY地址、EMAC时钟模式和SMI使用的GPIO。
  3. Example Configuration菜单中:
    • 设置mDNS主机名。
    • 选择网站部署模式(主机PC、SD卡或SPI Nor flash)。
    • 若选择部署到主机PC,指定网站的完整路径。
    • 设置网站在VFS中的挂载点,默认值为/www

构建与烧录

  1. 完成网页设计后,在path_to_this_example/front/web - demo目录下运行以下命令编译网页: bash npm install npm run build
  2. 运行idf.py -p PORT flash monitor构建并烧录项目。

半主机模式部署额外步骤

测试半主机模式部署时,运行支持半主机功能的最新版本OpenOCD: bash openocd - esp32/bin/openocd - s openocd - esp32/share/openocd/scripts - f board/esp32 - wrover - kit - 3.3v.cfg

访问项目

在浏览器中输入网站所在的URL(如http://esp - home.local),若操作系统不支持mDNS服务,也可输入ESP32获取的IP地址。若操作系统支持NetBIOS并已启用,http://esp - home也可访问。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】