功能协议说明

更新时间:2024-06-25 07:50:13LLM 副本以 Markdown 格式查看下载 PDF

本文介绍了红外温控器的功能协议。

背景信息

目前,市面上的非智能空调主要采用空调伴侣与万能遥控器控制。然而,这类控制产品必须借助 App,而且只能提供较简单的控制操作,无法为用户带来更复杂的智能化体验。
鉴于市面上存在海量的非智能家用空调,预估存量达 3 亿台以上。为了更好地让非智能空调带来智能化体验,涂鸦推出了红外温控器方案。红外温控器可配合空调产品附带的红外遥控器一起使用,遥控器可以同步空调状态,显示空调的当前设置。

红外温控器功能介绍

码库下载功能

通过云端存储的红外码,温控器完成对空调的控制。

过程说明:

  1. 用户通过匹配学习,完成空调与某一码库的配对。
  2. 配对成功后,设备下载一整套红外码存储在设备本地。
  3. 红外码下载到本地的红外码库,存储在外挂 FlASH,供给温控器使用。

    注意: 现阶段最多支持下载三套码库,支持删除码库并重新匹配下载,支持码库切换。

功能协议说明

反向解码功能

温控器对遥控器发射的红外码进行解析,将状态同步更新到 MCU 控制屏。

过程说明:

  1. 温控器对空调遥控器发射的红外码与本地下载的码库进行匹配,获取空调遥控器控制的温度、模式、风速等状态信息。
  2. 温控器通过串口指令,将状态信息同步给 MCU。
  3. MCU 收到对应的串口指令,解析出温度、模式、风速等状态,更新到 MCU 控制屏。
  4. 空调状态信息通过 DP 同步到 App 面板展示。从而实现在空调遥控器控制时,空调、MCU温控屏、App 面板三端的状态同步。

功能协议说明

红外控制学习流程

此功能为 App 面板端进行码库匹配的一种方式。当不知道空调信息的时候,可以通过红外学习功能,学习空调遥控器的红外码。模组将学习到的红外码上传到云端,云端通过算法筛选匹配,获取相似的码库,再进行精准匹配。

红外控制分为 App 面板控制和 MCU 温控屏控制。

  • App 面板控制

    1. App 面板下发 DP 201。 DP 201 携带有红外码以及红外码对应的温度状态信息。
    2. 模组收到 DP 201 并解析,发射红外信号,同时通过串口指令将温度状态同步给 MCU。
    3. MCU收到串口指令,解析获取温度状态信息,更新MCU温控屏的显示并通过 DP 上报温度状态到 App 面板。从而实现在空调遥控器控制时,空调、MCU温控屏、App 面板三端状态同步。
  • MCU 温控屏控制

    1. 如用户更改当前风速,MCU 会将更改后的温度、模式、风速等信息通过串口指令发送给模组。
    2. 模组解析串口指令获取温度、模式、风速等信息。
    3. 在映射表中查找到对应红外码存放的 FlASH 地址,从而查询对应的红外码。
    4. 查询成功则发射红外信号,回复“MCU 发射成功”。查询失败则不发射红外信号,回复“MCU发射失败”。
    5. 当 MCU 收到串口回复成功时,更新 MCU 温控屏的显示并通过 DP 上报温度状态到 App 面板,从而实现在空调遥控器控制时,空调、MCU温控屏、App 面板三端的状态同步。
      功能协议说明

新增串口协议说明(0x38)

MCU红外控制 0x3801

MCU发送

字段 长度(byte) 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x38
数据长度 2 0x0002
数据 1 0x01(子命令)
1 品类。
0x01:空调
N 红外组合码(模式+风速+温度;开关)
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

模块返回

字段 长度(byte) 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x38
数据长度 2 0x0002
数据 1 0x01(子命令)
1 0x00/0x01
  • 0:失败
  • 1:成功
校验和 1 从帧头开始按字节求和得出的结果对256求余

协议介绍

0x3801 指令用作 MCU 同步空调状态给模组,模组收到 0x3801,解析获取对应的温度模式组合码。

  • 开关:模组将解析 0x3801 串口开关指令,通过映射表获取 FLASH 地址,成功读取红外码并发送。
    • 成功读取红外码回复"0x3801 成功"。
    • 读取红外码失败则回复"0x3801 失败"。
  • 模式+风速+温度:组合码分两种情况,特殊模式(祛湿,送风)和普通模式(制热,制冷,自动)。
    • 普通模式与开关处理逻辑相同。
    • 特殊模式的组合码为 “模式+风速” 或 “模式+风速+温度”。
      对于特殊模式,MCU 统一附带温度,由模组进行码库对比筛选。成功查找到对应红外码,回复“0x3801 成功”。查找红外码失败则回复 “3801失败”。
      回复失败之后,模组继续查找对应“模式+风速”组合码。如查询失败,继续轮询“模式+风速+温度”的不同温度组合码,如成功查询到则通过 0x3802 串口指令同步到 MCU,失败则不作任何通知。

红外状态通知 0x3802

模块发送

字段 长度(byte) 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x38
数据长度 2 0x0002
数据 1 0x02(子命令)
1 品类
0x01:空调
N 红外组合码(模式+风速+温度;模式+风速;开关)
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

MCU返回

字段 长度(byte) 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x38
数据长度 2 0x0001
数据 1 0x02(子命令)
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

协议介绍

0x3802 指令用作模组同步空调状态给 MCU。

  • 当模组收到遥控器红外控制信号时,模组反向解码得到对应温度模式组合码,通过0x3802串口指令同步到 MCU。
  • 当模组收到 App 面板的控制指令 DP 201,模组解析获取对应温度模式组合码,通过 0x3802 串口指令同步到 MCU。
  • 当模组处理特殊模式组合码时,查询失败之后通过特殊算法找到正确的特殊模式组合码,通过 0x3802 串口指令同步到 MCU。

硬件SPI读写产测 0x3803

MCU发送

字段 长度(byte) 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x38
数据长度 2 0x0002
数据 1 0x03(子命令)
1 品类
0x01:空调
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

模组返回*

字段 长度(byte) 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x38
数据长度 2 0x0002
数据 1 0x03(子命令)
1 0x00/0x01
  • 0:失败
  • 1:成功
校验和 1 从帧头开始按字节求和得出的结果对256求余

协议介绍

硬件 SPI 读写(要求外挂 flash>=2m) MCU 时发送 0x3803 指令,模组对 flash 进行读写擦除测试,成功则返回 0x01,失败返回 0x00。

注意:红外组合码等详细协议格式,请联系项目经理获取。