新风模块独立控制线控器

lijian a4c74352f4 fix bug 2 månader sedan
1 3bbc65fae8 first commit 2 månader sedan
main a4c74352f4 fix bug 2 månader sedan
server_cert 3bbc65fae8 first commit 2 månader sedan
xfUI 3bbc65fae8 first commit 2 månader sedan
.gitignore 3bbc65fae8 first commit 2 månader sedan
CMakeLists.txt a4c74352f4 fix bug 2 månader sedan
copyui.bat 3bbc65fae8 first commit 2 månader sedan
copyui.sh 3bbc65fae8 first commit 2 månader sedan
dependencies.lock 3bbc65fae8 first commit 2 månader sedan
partitions.csv 3bbc65fae8 first commit 2 månader sedan
readme.md 3bbc65fae8 first commit 2 månader sedan
sdkconfig a4c74352f4 fix bug 2 månader sedan
sdkconfig.old a4c74352f4 fix bug 2 månader sedan
sdkconfigs 3bbc65fae8 first commit 2 månader sedan
字表 3bbc65fae8 first commit 2 månader sedan

readme.md

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 子设备(分控)状态数据
    • sub_devices字段说明
    字段 类型 说明
    id string 分控ID
    humidity int 分控湿度
    temperature int 分控温度
    fan_value int 风阀档位
    power int 电源状态(1:开0:关)

    1.2 故障上报

    • 标识符: fault
    • 参数:
    {
    "action": "devSend",
    "msgId": 0,
    "deviceCode": "M1",
    "subDeviceId": "",
    "timestamp": 1231242345,
    "data":{
        "cmd": "fault",
        "params": [
          {
            "code": "故障码1",
            "desc": "故障描述1"
          },
          {
            "code": "故障码2",
            "desc": "故障描述2"
          }
        ]
          
    }
    }
    

1.3 温度设定

  • 标识符:setTemp
  • 参数:
字段 类型 说明
value int 预设温度值
  • 示例:
{
    "cmd":"setTemp",
    "params": {
        "value": 24
    }
}

1.4 模式设定

  • 标识符:setMode
  • 参数:
字段 类型 说明
value int 预设模式,工作模式(0:制冷,1:制热,2:除湿3:送风4:加湿)
  • 示例:
{
    "cmd":"setMode",
    "params": {
        "value": 1
    }
}

1.5 风速设定

  • 标识符:setFanLevel
  • 参数:
字段 类型 说明
value int 预设风速(0:自动; 1:1档; 2:2 档; 3: 3 档; 4:4 档; 5: 5 档; 6:超强档;)
  • 示例:
{
    "cmd":"setFanLevel",
    "params": {
        "value": 1
    }
}

1.6 定时设定

  • 标识符:setTimer
  • 参数:
字段 类型 说明
value float 定时时间(小时)
status int 1:开启0:关闭
  • 示例:
{
    "cmd":"setTimer",
    "params": {
        "value": 0.5,
        "status": 1
    }
}

1.7 风阀档位控制(分控)

  • 标识符:setFanValve
  • 参数:
字段 类型 说明
value int 风阀档位(1, 2,3,4,5)
  • 示例:
{
    "cmd":"setFanValve",
    "params": {
        "value": 1
    }
}

1.8 总开关控制(主控)

  • 标识符:setPower
  • 参数:
字段 类型 说明
value int 电源开关量(1,0)
  • 示例:
{
    "cmd":"setPower",
    "params": {
        "value": 1
    }
}

1.9 运行参数设定

  • 标识符:setParam
  • 参数:
字段 类型 说明
report_duration int 数据上报频率(单位:秒)
  • 示例:
{
  "cmd":"setParam",
  "params": {
    "report_duration": 10
  }
}

1.10 通知显示功能

cmd:setNotice params:{text:"这是内容"}

  • 标识符: cmd:setNotice
  • 参数:
字段 类型 说明
text string 要显示的内容

1.11 新风开关控制

  • 标识符:setNewFan
  • 参数:
字段 类型 说明
value int 新风模式控制(1:通风模式 2:新风模式)
  • 示例:
{
    "cmd":"setNewFan",
    "params": {
        "value": 1
    }
}

1.12 风阀开关控制(分控)

  • 标识符:setFanPower
  • 参数:
字段 类型 说明
value int 风阀开关(1开 0关)
  • 示例:
{
  "cmd":"setFanPower",
  "params": {
    "value": 1
  }
}

1.13 风机电压设定

  • 标识符:setFanVoltage
  • 参数:
字段 类型 说明
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 形式,

  • key 对应控制器的编号 ,定义如下:
#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中的结构,并可以同步到主逻辑中.