# esp32_phone **Repository Path**: JIILStudio/phone ## Basic Information - **Project Name**: esp32_phone - **Description**: Esp 32开发版的简易系统 - **Primary Language**: C - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-20 - **Last Updated**: 2026-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ESP32 Phone 项目 🎯 项目概述 一个基于 ESP32 开发板的智能手机模拟系统,集成了显示屏、遥控、震动反馈等功能,适用于嵌入式系统学习和物联网项目开发。 ⚠️ 注意:本项目主要用于学习目的,不建议直接用于生产环境。如需使用,请根据实际情况进行修改。 开发者联系方式:QQ 1757027442 🏗️ 系统架构 开发环境 • 开发平台: Arduino IDE • ESP32 版本: 2.0.7 CN(其他版本可能需要适配) • 开发板类型: Dev Module • 分区方案: Huge APP(确保足够的存储空间) 硬件需求 模块 规格 备注 显示屏 2.8寸 SPI液晶屏,240×320分辨率 需自行定义引脚 红外接收 IR红外接收器 用于遥控功能 震动模块 震动马达 提供触觉反馈 存储模块 TF卡模块 存储文件和配置 指示灯 LED 状态指示 扩展板 可选 方便连接外设 📦 安装与配置 1. 环境准备 1. 安装最新版 Arduino IDE 2. 添加 ESP32 开发板支持: • 文件 → 首选项 → 附加开发板管理器网址添加: https://espressif.github.io/arduino-esp32/package_esp32_index.json 3. 工具 → 开发板 → ESP32/DevModule → 选择你的开发板端口 2. 依赖库安装 打开库管理器(工具 → 管理库),搜索并安装: • 必须安装: • TFT_eSPI (显示屏驱动) • SD (SD卡读写) • IRremote (红外遥控) - 使用 2.0.7 版本 ArduinoJson(用于SD卡json文件读取) 3. 项目获取 尤其注意: 获取后的项目上一级目录必须为phone 也就是phone.ino所在的文件夹必须名字叫phone 这样子软件才能正确识别主要运行文件来编译 否则会弹出需要转移的提示。这时候千万不要转移,自己手动改名字,发现上一级是重要目录,就再创建一级目录 4. 引脚配置 4.1 主程序配置 打开 phone.ino,在文件开头修改引脚定义: // 硬件引脚定义 //灯定义 #define LED_R 33 #define LED_G 25 #define LED_B 26 //红外接收定义 #define IR_PIN 15 //屏幕背光定义 #define TFT_BL 4 //振动定义 #define VIBRATE_PIN 2 //以下为SD卡相关定义 #define SD_CS 32 #define SD_SCK 23 #define SD_MOSI 22 #define SD_MISO 21 4.2 屏幕配置 1. 找到库目录:文档/Arduino/libraries/TFT_eSPI/ 2. 编辑 User_Setup.h 文件,根据你的屏幕型号配置: // 示例:ILI9341 屏幕配置 #define ILI9341_DRIVER #define TFT_WIDTH 240 #define TFT_HEIGHT 320 // 引脚定义 #define TFT_MISO 19 #define TFT_MOSI 23 #define TFT_SCLK 18 #define TFT_CS 15 #define TFT_DC 2 #define TFT_RST 4 #define TFT_BL 32 // 背光控制 5. 编译与上传 1. 选择正确的开发板和端口 2. 分区方案选择:工具 → Partition Scheme → Huge APP 3. 点击上传按钮 4. 如果编译失败,请检查: • 所有库是否已正确安装 • 引脚定义是否冲突 • 是否有足够的内存空间 🎮 使用说明 基本操作 • 亮屏/熄屏:OK键(遥控器)控制屏幕开关 • 导航:方向键选择项目 • 返回:通常为 * 键 • 熄屏:通常为 # 键 • 确认:通常为 OK 键 文件管理器 使用自定义的 JOW 标记语言解析器,可以显示格式化的文档、日志和配置文件。 📄 JOW 标记语言规范 JOW (Just Organized Words) 是一种为嵌入式设备设计的轻量级富文本格式。 快速开始 [center][size=3][color=blue]系统标题[/color][/size][/center] 普通文本行 **粗体文本** [color=red]红色警告信息[/color] 完整语法参考 1. 字体大小 [size=1]小号文字[/size] [size=2]中号文字[/size] [size=3]大号标题[/size] [size=4]超大标题[/size] [size=5]最大标题[/size] 2. 颜色系统 [color=black]黑色[/color] [color=white]白色[/color] [color=red]红色[/color] [color=green]绿色[/color] [color=blue]蓝色[/color] [color=yellow]黄色[/color] [color=cyan]青色[/color] [color=magenta]洋红[/color] [color=orange]橙色[/color] [color=purple]紫色[/color] [color=gray]灰色[/color] 3. 文本样式 **粗体文本** *斜体文本* _下划线文本_ ~~删除线文本~~ 4. 对齐方式 [left]左对齐[/left] [center]居中对齐[/center] [right]右对齐[/right] 5. 高级布局 [hline] [page] [space=10] [box] 框内内容会自动换行 保持固定宽度显示 [/box] 6. 嵌套示例 [center] [size=4][color=blue]章节标题[/color][/size] [hline] [size=2]正文内容,支持**加粗**和[color=red]彩色[/color]文本[/size] [/center] 文件示例 创建一个 help.jow 文件放入SD卡: [center][size=4][color=blue]ESP32 Phone 帮助文档[/color][/size][/center] [hline] **基本操作** [size=2] * 亮屏:按下遥控器 OK 键 * 导航:使用方向键选择 * 返回:* 键 * 熄屏:# 键 [/size] [hline] [color=green][size=3]文件管理器[/size][/color] [size=2] 支持查看 .txt 和 .jow 格式文件 JOW 文件支持富文本显示 [/size] [hline] [right][color=gray]系统版本 1.0.0[/color][/right] 解析器特性 • 每行最大字符:40个 • 每页最大行数:15行 • 支持标签嵌套 • 自动分页显示 • 错误标签忽略(不中断解析) 导航控制 按键 功能 上/下 行级滚动(JOW模式) 左/右 页面翻页 OK 确认/进入 * 返回上一级 🔧 故障排除 常见问题 Q1: 编译时提示内存不足 • 确保选择正确的分区方案:Huge APP • 移除不需要的库文件 • 优化代码,减少全局变量 Q2: 屏幕不显示 • 检查 User_Setup.h 引脚定义 • 确认屏幕电源正常 • 检查背光控制引脚 Q3: 红外遥控无效 • 检查红外接收器引脚连接 • 确认遥控器电池电量 • 尝试不同的IRremote版本 Q4: SD卡无法识别 • 确保SD卡格式为FAT32 • 检查接线是否松动 • 尝试不同的SD卡模块 调试建议 1. 打开串口监视器(波特率115200) 2. 查看系统启动日志 3. 逐步测试各个模块功能 🤝 参与贡献 欢迎提交 Issue 和 Pull Request 来改进这个项目! 贡献流程 1. Fork 本仓库 2. 创建功能分支 (git checkout -b feature/AmazingFeature) 3. 提交更改 (git commit -m 'Add some AmazingFeature') 4. 推送到分支 (git push origin feature/AmazingFeature) 5. 提交 Pull Request 开发规范 • 遵循 Arduino 编码规范 • 添加必要的注释 • 更新相关文档 • 测试通过后再提交 ## 📄 许可证 本项目采用 **GNU General Public License v3.0 (GPL-3.0)** 开源许可证。 **您可以:** - ✅ 自由使用、学习和修改本代码 - ✅ 用于个人或商业项目 - ✅ 重新分发本代码 **您必须:** - 📋 在衍生作品中保留原始版权声明 - 🔓 公开衍生作品的源代码 - 📄 使用相同的 GPL-3.0 许可证 - ⚖️ 明确说明对原始代码的修改 **完整条款:** 详见 [LICENSE](LICENSE) 文件 **简单来说:** 您可以任意使用和改进本代码,但改进后的代码也必须开源。 --- **版权声明** ©2026 JIILstudio 保留所有权利。 提示:如果在使用中遇到问题,请先查阅本文档,或在项目中提出 Issue。我们将尽快回复并提供帮助。