# esp32开发测试 **Repository Path**: willrook/esp32-development-and-testing ## Basic Information - **Project Name**: esp32开发测试 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-16 - **Last Updated**: 2026-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ESP32-S3 温湿度显示与 Modbus 网关 本项目使用 MicroPython 在 ESP32-S3-N16R8 上读取 SHT30 温湿度,实时显示到 1.8 寸 ST7735 SPI TFT 屏幕,并通过 Modbus TCP 或 Modbus RTU 向上位机提供数据。 ## 功能 - ST7735 128x160 TFT 彩屏实时显示温度、湿度、时间、Wi-Fi、RS485、运行时长等信息 - SHT30 I2C 温湿度读取,带 CRC 校验 - Wi-Fi 连接和 NTP 校时 - Modbus TCP Server,默认端口 `5020` - Modbus RTU Slave,默认地址 `1` - 所有引脚、Wi-Fi、Modbus 参数集中在 `src/config.py` ## 项目结构 ```text src/ boot.py # 设备启动入口,预留基础启动逻辑 main.py # 主循环 config.py # 硬件引脚、网络、显示、Modbus 配置 display_ui.py # 屏幕 UI 绘制 lib/ modbus.py # Modbus TCP/RTU 最小实现 sht30.py # SHT30 驱动 st7735.py # ST7735 显示驱动 tools/ upload.ps1 # Windows 下通过 mpremote 上传代码 requirements.txt # PC 端 Python 工具依赖 docs/ RUNBOOK.md # 接线、烧录、配置、运行说明 ``` ## 快速开始 1. 安装 Python 3.10 或更高版本。 2. 安装 PC 端工具: ```powershell pip install -r requirements.txt ``` 3. 给 ESP32-S3 烧录 MicroPython 固件。建议使用官方 ESP32-S3 Generic SPIRAM/Octal SPIRAM 固件,完整步骤见 [docs/USER_GUIDE.md](docs/USER_GUIDE.md),快速步骤见 [docs/RUNBOOK.md](docs/RUNBOOK.md)。 4. 按 [docs/USER_GUIDE.md](docs/USER_GUIDE.md) 接线,并按实际 GPIO 修改 [src/config.py](src/config.py)。 5. 上传代码: ```powershell powershell -ExecutionPolicy Bypass -File .\tools\upload.ps1 -Port COM5 ``` 6. 复位开发板,屏幕会显示温湿度和运行状态。上位机可通过 Modbus TCP 或 RTU 读取寄存器。 ## 默认 Modbus 寄存器 | 地址 | 类型 | 含义 | 单位/倍率 | | --- | --- | --- | --- | | 0 | Holding/Input | 温度 | 摄氏度 x 100 | | 1 | Holding/Input | 湿度 | %RH x 100 | | 2 | Holding/Input | 传感器状态 | 0 正常,其他为错误计数 | | 3 | Holding/Input | 运行时长低 16 位 | 秒 | | 4 | Holding/Input | 运行时长高 16 位 | 秒 | | 5 | Holding/Input | Wi-Fi RSSI | dBm,按有符号 16 位解析 | | 6 | Holding/Input | 年 | 例如 2026 | | 7 | Holding/Input | 月日 | 月 x 100 + 日 | | 8 | Holding/Input | 时分 | 时 x 100 + 分 | | 9 | Holding/Input | 秒 | 秒 | | 10 | Holding/Input | 在线状态 | bit0 Wi-Fi,bit1 NTP,bit2 SHT30 | Modbus TCP 默认监听 `5020`。如果你的上位机必须使用标准端口 `502`,需要将 `src/config.py` 中的 `MODBUS_TCP_PORT` 改成 `502`。 ## 说明 本工程优先保证硬件接入和上位机通信可直接验证,没有依赖第三方 MicroPython 包。ESP32-S3 开发板的实际可用 GPIO 与板载外设相关,请以自己的开发板原理图和丝印为准。