This commit is contained in:
MiaoMint
2025-08-12 04:24:15 +08:00
commit 4dcbb9c05b
21 changed files with 3289 additions and 0 deletions

70
PWM_README.md Normal file
View File

@@ -0,0 +1,70 @@
# PetIO PWM 功能说明
## 新增功能
### PWM 模式支持
- 在手动控制中新增了 PWM 模式开关
- 可以通过滑块调节 PWM 输出强度 (0-100%)
- 在定时器中也支持设置 PWM 模式和强度
### 使用方法
#### 手动控制 PWM
1. 在"手动控制"标签页中
2. 选择要控制的引脚
3. 勾选"PWM 模式"复选框
4. 使用滑块调节 PWM 强度 (0-100%)
5. 设置持续时间0表示切换状态
6. 点击"执行控制"
#### 定时器 PWM
1. 在"定时器管理"标签页中
2. 填写引脚、时间、持续时间等基本信息
3. 勾选"PWM 模式"复选框
4. 使用滑块调节 PWM 强度
5. 设置是否每天重复
6. 点击"添加定时器"
### API 变化
#### 手动控制 API
- 端点: `POST /api/manual`
- 新增参数:
- `isPWM`: 布尔值是否为PWM模式
- `pwmValue`: 整数 (0-1023)PWM强度值
#### 定时器 API
- 端点: `POST /api/timers``PUT /api/timers/{id}`
- 新增参数:
- `isPWM`: 布尔值是否为PWM模式
- `pwmValue`: 整数 (0-1023)PWM强度值
#### PWM 配置 API
- 端点: `GET /api/pwm/config`
- 返回 PWM 配置信息:
- `frequency`: PWM频率
- `resolution`: PWM分辨率
- `maxValue`: PWM最大值
- `minValue`: PWM最小值
- `defaultValue`: PWM默认值
### 技术细节
#### PWM 配置
- 频率: 1 KHz
- 分辨率: 10位 (0-1023)
- ESP8266 的 `analogWrite()` 函数用于PWM输出
#### 数据存储
- PWM 设置会保存到 EEPROM
- 向后兼容旧的定时器配置
#### 显示功能
- 定时器列表会显示PWM模式和强度百分比
- 手动控制页面显示实时PWM强度百分比
### 注意事项
1. 并非所有引脚都支持PWM输出请参考ESP8266文档
2. PWM值范围是0-1023对应0%-100%的输出强度
3. 在数字模式下PWM值被忽略
4. 旧的定时器配置会自动设置为数字模式