ESP-IDF实战:WiChronoSwitch智能定时控制器
本文介绍了一个基于ESP-IDF开发的WiChronoSwitch定时控制器项目,主要针对ESP32-C3芯片。项目在官方示例基础上扩展实现了:两路受时间限制的GPIO输出、按键控制功能、Wi-Fi配网及持久化存储,并新增了mDNS设备广播和WebSocket服务。同时配套开发了Flutter移动端应用,提供设备配网引导、自动发现连接、实时控制(启停、占空比调节)、运行状态监控以及历史记录查询等功
记录一次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
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)