# 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. 旧的定时器配置会自动设置为数字模式