CATALOG

基于芯步开放平台的空调集中控制二次开发,其核心思路是通过统一的HTTP/MQTT接口屏蔽底层红外协议的差异——无论是格力、美的还是海尔,开发者调用的都是同一套device/control接口和相同的命令结构。芯步的智能空调遥控器产品已预置主流品牌红外码库,二次开发只需解决“业务系统如何调用接口”这一层问题,无需关心红外编码转换。

以下是一份完整的技术解决方案:

1. 背景与目标

在智慧办公、智慧酒店、智慧园区等场景中,往往存在同一场所使用格力、美的、海尔、大金等多个品牌空调的情况。传统红外遥控器无法实现远程集中控制,而各品牌自身的智能方案又不互通。

本方案的目标:利用芯步智能空调遥控器及开放接口,通过二次开发实现任意品牌(红外遥控型)空调的远程控制,包括开关机、模式切换、温度设定、风速调节等核心功能,并将控制能力集成到现有的楼宇自控系统、OA系统或APP中。

2. 总体技术架构

flowchart LR
    subgraph A [业务应用层]
        A1[Web管理端]
        A2[移动APP]
        A3[小程序]
        A4[第三方系统]
    end

    subgraph B [芯步开放平台]
        B1[HTTP/MQTT接口]
        B2[设备管理]
        B3[权限校验]
    end

    subgraph C [设备层]
        C1[智能空调遥控器
格力] C2[智能空调遥控器
美的] C3[智能空调遥控器
海尔] end subgraph D [被控设备] D1[格力空调] D2[美的空调] D3[海尔空调] end A -- RESTful API --> B B -- 红外指令下发 --> C C -- 红外信号 --> D

架构说明

  • 设备层:芯步智能空调遥控器,负责接收云端指令并转换为红外信号,覆盖市面上90%以上空调品牌

  • 平台层:芯步开放平台,提供设备接入、状态管理、指令下发等能力

  • 应用层:用户自研的业务系统,通过调用平台API实现空调远程控制

3. 二次开发核心流程

3.1 准备工作

在进行二次开发前,需要完成以下准备:

步骤内容说明
1注册芯步账号访问官网完成注册
2创建工作台进入物联网控制台模块
3获取AppID和AppSecret在“开发设置”中获取,用于接口鉴权
4采购智能空调遥控器根据空调品牌和型号选择适配版本
5设备配网将遥控器连接至现场WiFi(须为2.4GHz)
6开启调试模式(可选)开发测试阶段可开启,临时跳过签名校验

若无实体设备,可使用平台提供的“演示设备”进行接口联调测试

3.2 接口鉴权机制

所有API请求需携带签名参数进行身份验证:

http(s)://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}
  • AppID:开发者ID,平台生成

  • ts:Unix时间戳,秒级

  • sign:签名值,根据AppSecret和请求参数计算

若不想在开发阶段处理签名逻辑,可先在控制台开启“调试模式”,该模式下不校验sign和ts。生产环境请一定要关闭。

3.3 设备控制接口

控制空调的核心接口是/device/control/,支持单设备控制和多设备批量控制

请求方式:HTTP POST(推荐)或 GET

请求参数

参数必填说明
device设备ID,可在控制台查看
gateway网关设备ID(遥控器直连WiFi时可不填)
order控制命令,JSON格式

控制命令示例(以开关机、温度设定为例):

返回结果

code=200仅代表指令已下发至设备,不代表空调已执行。若需确认执行结果,应通过异步消息推送机制获取

3.4 多品牌统一适配层设计

由于不同品牌空调支持的参数范围不同(如温度范围16-30℃ vs 18-32℃、模式编码差异等),在二次开发时封装一层品牌适配层

3.5 批量控制实现

芯步接口支持一次请求控制多台设备(最多100台),通过|,分隔设备ID

device=123456|789012|345678

批量控制时,所有设备需支持相同的命令结构,适用于整楼断电、统一调温等场景。

4. 核心代码示例

4.1 Python版设备控制封装

4.2 定时任务与自动化

通过对接平台的定时任务接口(需额外调用),可实现:

  • 工作日9:00统一开启办公区空调

  • 19:00统一关闭

  • 根据室外温度自动调节设定温度

5. 红外码库扩展方案

对于厂商未预置红外码库的空调品牌(如一些小众或老旧机型),可通过红外学习功能扩展。虽然芯步标准产品主打即插即用,但在二次开发场景下可参考以下开源方案思路:

技术原理:利用红外接收头捕获原装遥控器的红外波形,解析并存储码值,再通过发射头重放。

参考IRext开源红外码库的设计

  • IRext支持16类1000+品牌、上万个型号的家电遥控

  • 提供在线/离线码库及编解码压缩算法

  • 码库经压缩后可在低配置MCU上运行

若需自研红外学习网关,可基于IRext框架实现:

  1. 移植IRext解码库到嵌入式设备

  2. 通过红外接收采集原遥控器码值

  3. 调用ir_decode()解析并存储

  4. 控制时调用ir_encode()生成波形并发射

使用芯步标准产品时,主流品牌已覆盖,一般无需自行扩展码库

6. 异步消息与状态同步

由于红外控制是“单向”的(设备只发不收),空调的真实状态(如被人手动按遥控器改变)无法自动同步到云端。这是所有红外方案的共性限制

解决方案:

方案实现的方式是适用场景
定期轮询每隔5-10分钟查询一次设备当前状态对实时性要求不高的场景
状态推定以最后一次下发指令的状态为准空调不会被手动干扰的场景
传感器辅助增加温度传感器检测出风口温度变化需要高可靠状态的场景

芯步平台支持异步消息推送,可在命令中携带extra字段用于关联业务上下文

平台回调时会原样返回该字段,便于业务系统追踪指令执行链路。

7. 常见问题与最佳实践

7.1 设备离线排查

  • 确认遥控器供电正常(USB供电或电池)

  • 确认WiFi为2.4GHz频段

  • 检查网络配置:通过控制台“网络配置”重新配网

7.2 指令下发成功但空调无响应

  • 遥控器与空调之间无障碍物遮挡

  • 确认红外发射头对准空调接收窗

  • 尝试将遥控器安装位置抬高(避免家具阻挡)

7.3 性能与稳定性

  • 连接方式:推荐MQTT长连接,避免HTTP频繁握手开销

  • 批量控制:单次最多100台设备,超过需分批

  • 签名计算:将AppSecret存放在服务端,严禁在客户端代码中暴露

  • 重试机制:网络波动时实现随机间隔(或逐次增大间隔)重试

8. 总结

基于芯步开放接口进行多品牌空调集中控制的二次开发,核心工作聚焦于:

  1. 设备接入层:完成设备配网和设备ID管理

  2. 业务适配层:封装品牌差异和边界处理

  3. 应用集成层:将控制能力嵌入现有业务系统

通过统一接口,开发者仅需关注业务逻辑,无需处理红外协议细节。对于有特殊品牌需求或更高控制精度的场景,可通过红外学习功能扩展或对接IRext等开源码库实现能力增强。

该方案已在智慧办公、酒店客控、校园教室空调集中管理等场景中验证可行,可有效降低多品牌空调统一管控的开发和运维成本。

遥控器产品方案:
怎样接入HTTP接口空调控制器2来实现远程发送空调控制指令
查看 >>
店铺空调设备控制:怎么将万能空调遥控器接入到软件项目中
查看 >>
怎么在智能化改造空调场景中集成智能设备来实现定时任务控制空调
查看 >>
如何在弱电间空调联动中接入智能设备以实现空调风力调节
查看 >>
如何在民宿房间空调控制中对接智能硬件以实现定时任务控制空调
查看 >>
空调场景方案:
如何在智能化改造空调场景中集成智能硬件以实现空调开关机控制
查看 >>
怎么在医院病房空调管理中接入智能设备来实现断电记忆恢复控制
查看 >>
怎样在智能家居设备电源控制中对接智能硬件以实现空调电源控制
查看 >>
怎么在共享台球室三路灯光空调控制中集成智能设备来实现设备联动控制
查看 >>
共享桌游室灯光空调控制:如何把智能控制器8路|交流电压版集成到软件项目中
查看 >>
远程控制用途方案:
怎样接入8路防水防尘控制箱来实现远程控制8路线路
查看 >>
怎样接入空调红外信号转发器来实现远程控制空调运行
查看 >>
怎样在出租屋用电安全管理中集成智能硬件以实现远程控制大功率电器电源
查看 >>
怎样在仓储设备机柜电源管理中接入智能硬件以实现远程控制8路电源
查看 >>
怎么在快递柜设备控制中集成智能硬件来实现远程控制16路线路
查看 >>