4寸线控器项目
目录
1.云端接入指令说明
1.1 运行状态上报
线控器向云端上报的自己的运行状态
- 标识符:
status
参数:
{
"power": 1,
"temperature": 25,
"humidity": 59,
"air_quality": 59,
"co2": 999,
"mode": 1,
"fan_speed": 1,
"set_temp": 24,
"timer_status": 0,
"duration":0.5,
"sub_devices":[
{
"id": "分控ID",
"humidity":"分控湿度",
"temperature":"分控温度",
"fan_value": 1,
"power":0
}
]
}
字段 |
读写类型 |
类型 |
说明 |
power |
W/R |
int |
电源状态(0:关,1:开) |
temperature |
W/R |
int |
室内温度 |
humidity |
R |
int |
室内湿度 |
air_quality |
R |
int |
空气质量PM2.5 |
co2 |
R |
int |
二氧化碳浓度 |
mode |
W/R |
int |
工作模式(1:制冷,2:制热,3:除湿4:送风5:自动) |
fan_speed |
W/R |
int |
风速(0:自动; 1:1档; 2:2 档; 3: 3 档; 4:4 档; 5: 5 档; 6:超强档;) |
set_temp |
W/R |
int |
当前设置的温度 |
timer_status |
R |
int |
定时状态(1:有定时;0:无定时) |
duration |
R |
float |
定时时间 |
sub_devices |
R |
Object Array |
子设备(分控)状态数据 |
字段 |
类型 |
说明 |
id |
string |
分控ID |
humidity |
int |
分控湿度 |
temperature |
int |
分控温度 |
fan_value |
int |
风阀档位 |
power |
int |
电源状态(1:开0:关) |
1.2 故障上报
{
"action": "devSend",
"msgId": 0,
"deviceCode": "M1",
"subDeviceId": "",
"timestamp": 1231242345,
"data":{
"cmd": "fault",
"params": [
{
"code": "故障码1",
"desc": "故障描述1"
},
{
"code": "故障码2",
"desc": "故障描述2"
}
]
}
}
1.3 温度设定
{
"cmd":"setTemp",
"params": {
"value": 24
}
}
1.4 模式设定
字段 |
类型 |
说明 |
value |
int |
预设模式,工作模式(0:制冷,1:制热,2:除湿3:送风4:加湿) |
{
"cmd":"setMode",
"params": {
"value": 1
}
}
1.5 风速设定
字段 |
类型 |
说明 |
value |
int |
预设风速(0:自动; 1:1档; 2:2 档; 3: 3 档; 4:4 档; 5: 5 档; 6:超强档;) |
{
"cmd":"setFanLevel",
"params": {
"value": 1
}
}
1.6 定时设定
字段 |
类型 |
说明 |
value |
float |
定时时间(小时) |
status |
int |
1:开启0:关闭 |
{
"cmd":"setTimer",
"params": {
"value": 0.5,
"status": 1
}
}
1.7 风阀档位控制(分控)
字段 |
类型 |
说明 |
value |
int |
风阀档位(1, 2,3,4,5) |
{
"cmd":"setFanValve",
"params": {
"value": 1
}
}
1.8 总开关控制(主控)
字段 |
类型 |
说明 |
value |
int |
电源开关量(1,0) |
{
"cmd":"setPower",
"params": {
"value": 1
}
}
1.9 运行参数设定
字段 |
类型 |
说明 |
report_duration |
int |
数据上报频率(单位:秒) |
{
"cmd":"setParam",
"params": {
"report_duration": 10
}
}
1.10 通知显示功能
cmd:setNotice params:{text:"这是内容"}
字段 |
类型 |
说明 |
text |
string |
要显示的内容 |
1.11 新风开关控制
字段 |
类型 |
说明 |
value |
int |
新风模式控制(1:通风模式 2:新风模式) |
{
"cmd":"setNewFan",
"params": {
"value": 1
}
}
1.12 风阀开关控制(分控)
字段 |
类型 |
说明 |
value |
int |
风阀开关(1开 0关) |
{
"cmd":"setFanPower",
"params": {
"value": 1
}
}
1.13 风机电压设定
字段 |
类型 |
说明 |
gear |
int |
档位 (1:一档 2:二挡 3:三档 4:四档 5:五档) |
value |
int |
风机电压 (0-100,1代表0.1V) |
{
"cmd":"setFanVoltage",
"params": {
"gear": 1,
"value": 40
}
}
2.设计说明
2.1 风阀配置设计思路
高级配置界面提供风阀与控制器对应关系设置功能,配置后保存到 NVS 中,NVS存储结构为
key-value 形式,
#define NVS_FAN_VALVE_MAIN_CONTROLLER "main_controller" // 主控风阀设置
#define NVS_FAN_VALVE_SUB_CONTROLLER_1 "sub_controller_1" // 分控风阀设计
#define NVS_FAN_VALVE_SUB_CONTROLLER_2 "sub_controller_2" // 分控二风阀设置
#define NVS_FAN_VALVE_SUB_CONTROLLER_3 "sub_controller_3" // 分控三风阀设置
#define NVS_FAN_VALVE_SUB_CONTROLLER_4 "sub_controller_4" // 分控四风阀设置
- value 保存为风阀的配置值,类型为
uint8_t
,5个风阀的设置分别对应其实5个BIT, 如配置了1号风阀和2号风阀则,二进制为0000 0011
, 实际保存值是3
系统上电加载时,先从 nvs 中读取本地保存的风阀配置,如果没有配置过,则默认为主控控制1-5个风阀,并写入到配置中。
读取到配置后将setting_t
数据结构转化为 ac_controller
中的结构,并可以同步到主逻辑中.