# esp32c3 **Repository Path**: PikachuHouse/esp32c3 ## Basic Information - **Project Name**: esp32c3 - **Description**: esp32c3 esp32c3 OLED esp32c3 屏幕 esp32c3 WIFI esp32c3 HTTP API esp32c3 Adrunio - **Primary Language**: C/C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-21 - **Last Updated**: 2026-06-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ESP32-C3 SuperMini 股票监控屏 使用 ESP32-C3 SuperMini + 0.42寸 OLED(SSD1306 72x40)显示股票实时行情。 显示效果: ```text 交行 6.96 +1.20% ``` 数据通过 HTTP 接口获取,每 10 秒自动刷新一次。 非 A 股交易时段会在“价格”和“时钟”之间每 30 秒切换一次。 --- # 硬件 * ESP32-C3 SuperMini * 0.42寸 OLED * SSD1306 * 分辨率:72x40 * I2C 通讯 接线: | OLED | ESP32-C3 | | ---- | -------- | | VCC | 3.3V | | GND | GND | | SDA | GPIO5 | | SCL | GPIO6 | 代码中对应配置: ```cpp Wire.begin(5, 6); ``` --- # Arduino IDE 配置 ## 开发板 安装: ```text ESP32 by Espressif Systems ``` 选择: ```text ESP32C3 Dev Module ``` --- # 依赖库 Arduino IDE → Library Manager 安装: ## U8g2 作者: ```text oliver kraus ``` 用于 OLED 显示。 安装方式: ```text Arduino IDE -> Library Manager -> 搜索 U8g2 -> Install ``` 库名: ```text U8g2 ``` --- ## ArduinoJson 作者: ```text Benoit Blanchon ``` 用于 JSON 解析。 安装方式: ```text Arduino IDE -> Library Manager -> 搜索 ArduinoJson -> Install ``` 库名: ```text ArduinoJson ``` 说明: ```text 如果你的 stock.ino 使用 HTTP 返回 JSON 并做字段解析,就需要这个库。 ``` --- # WiFi 配置 修改代码中的: ```cpp const char* WIFI_SSID = "你的WiFi"; const char* WIFI_PASS = "你的密码"; ``` 例如: ```cpp const char* WIFI_SSID = "HomeWiFi"; const char* WIFI_PASS = "12345678"; ``` --- # 接口配置 修改: ```cpp const char* API_URL = "http://stock.zfqu.cn:58888/esp32"; ``` 例如: ```cpp const char* API_URL = "http://stock.zfqu.cn:58888/esp32"; ``` --- # 接口返回格式 接口必须返回 JSON: ```json { "success": true, "status": "200", "obj": { "name": "交行", "price": "6.96", "change": "+1.20%" } } ``` 字段说明: | 字段 | 说明 | | ------ | ---- | | name | 股票名称 | | price | 当前价格 | | change | 涨跌幅 | --- # Nginx Mock 示例 配置: ```nginx server { listen 58888; server_name stock.zfqu.cn; location = /esp32 { add_header Content-Type application/json; return 200 '{ "success":true, "status":"200", "obj":{ "name":"交行", "price":"6.96", "change":"+1.20%" } }'; } } ``` 重载: ```bash nginx -t systemctl reload nginx ``` 测试: ```bash curl http://stock.zfqu.cn:58888/esp32 ``` 返回: ```json { "success":true, "status":"200", "obj":{ "name":"交行", "price":"6.96", "change":"+1.20%" } } ``` --- # 刷新策略 刷新间隔: ```cpp #define REFRESH_INTERVAL_MS 10000 ``` 默认: ```text 10秒 ``` 修改为 30 秒: ```cpp #define REFRESH_INTERVAL_MS 30000 ``` 非交易时段显示策略: ```text 30 秒显示价格,30 秒显示时钟 ``` --- # 异常显示 ## WiFi连接失败 ```text WiFi Fail HomeWiFi ``` --- ## 接口异常 ```text Server Err 500 ``` --- ## JSON解析失败 ```text JSON Err ``` --- ## API返回失败 ```text API Fail ``` --- # 编译上传 连接 ESP32-C3 后: ```text Arduino IDE ↓ 选择 ESP32C3 Dev Module ↓ 选择串口 ↓ Upload ``` 上传完成后 OLED 将自动联网并显示股票数据。