基于 ESP32-S3 的智能终端项目
·
一、项目描述
本项目硬件使用 ESP32-S3 芯片 (16MB Flash + 8MB PSRAM)、LCD 触控屏 (显示芯片 ST7789、触摸芯片为 XPT2046)、I2S 功放扬声器、I2S 麦克风、SD 卡等外设,软件使用 Espressif-IDF 开发环境,FreeRTOS 实时操作系统、LVGL 图形库,设计并实现一款集图形界面、WiFi配网、音乐播放、小游戏、AI对话等功能于一体的智能终端设备。
功能:
✅ WiFi
✅ 天气预报
✅ 小智 AI 对话
✅ 音乐播放
✅ 小游戏
✅ 日历
技术栈:
- 开发框架:ESP-IDF 乐鑫开发环境、FreeRTOS 实时操作系统。
- 图形界面:LVGL (嵌入式轻量级图形库)、SquareLine Studio (LVGL 官方 UI 设计软件)。
- 联网:WiFi、SNTP、cJSON、HTTP。
- 通信协议:SPI、UART、I2S。
- 存储:SD-SPI、FatFS。
二、实物以及功能演示
三、系统架构
前端与后端逻辑控制通过 「UI → 全局状态变量 → 任务 → 全局状态变量 → UI」的链路通信,
-
点击 LVGL 部件触发事件回调函数,修改全局状态变量,如关闭 WiFi,则修改全局变量 app.setting.wifi_disconnect;
-
wifi_set 组件注册的 wifi_task 实时任务每 200ms 轮询一次全局状态变量,根据 app.setting.wifi_disconnect 等变量做出相应关闭 WiFi 操作;
-
任务完成操作后,把结果写回全局状态结构体,并在任务中对 LVGL WiFI 状态图形设置为未连接状态。
系统框架:

四、UI 设计
本项目使用 LVGL 官方 SquareLine Studio 设计软件:

天气预报 UI:
音乐播放 UI :
小智 AI 对话 UI :
更多推荐

所有评论(0)