记录一次espidf编程实战(项目经过测试,功能正常,耗时5个小时完成,现在完全开源):

  

# WiChrono Switch

基于 ESP-IDF 的“定时开关 / 一次运行”控制器示例工程,当前主要针对 **ESP32-C3** 进行开发。

本项目在官方 `hello_world` 示例基础上扩展,实现:

- 两路输出 GPIO 受“有效检测”和“最大有效运行时间”限制;

- 按键触发一次运行(短按)和清空配网信息(长按);

- Wi-Fi AP/STA + 简易网页配网(NVS 持久化)。

新增完成:

- mDNS 广播设备(名称 `WiChrono`);

- WebSocket 服务,方便手机 App 发现并控制设备。

包含移动端app(flutter开发):

一个基于 Flutter 开发的 WiChrono 设备控制应用,用于管理和监控 WiChrono 设备的运行。

## 功能特性

### 1. 设备配网引导

- 扫描周围 Wi-Fi 网络

- 向设备提交 Wi-Fi 配置信息

- 详细的配网步骤指引

### 2. 设备发现与连接

- 通过 mDNS 自动发现局域网内的 WiChrono 设备

- WebSocket 实时通信

- 设备连接状态监控

### 3. 设备控制

- 启动/停止设备运行

- 调整设备占空比(0-100%)

- 实时监控设备运行状态

- 查看剩余有效时间

- 实时日志记录

### 4. 历史记录

- 记录设备每次运行的详细信息

- 包括:开始时间、结束时间、有效运行时间、占空比、停止方式

- 自动保存最近三个月的运行记录

- 支持手动刷新记录

## 技术栈

- **框架**: Flutter

- **语言**: Dart

- **通信**: WebSocket、mDNS

- **数据库**: SQLite

- **网络**: HTTP、WiFi 扫描

项目开源地址:https://gitcode.com/zhangerhao/Wichrono_Switch 

懒得编译可以直接下载:https://download.csdn.net/download/zh_erhao/92449545

安卓端app下载:https://download.csdn.net/download/zh_erhao/92449552

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐