CATALOG

智能空调遥控器2是芯步的一款核心产品,通过红外信号控制空调,开放HTTP接口供开发者调用。以下方案涵盖对接流程、签名算法、API调用示例和设备管理要点,帮助你将空调控制能力快速集成到自己的项目中。

1. 解决概述

在智能家居或节能办公场景中,对老旧空调进行智能化改造是常见的需求。芯步的智能空调遥控器2 是一款通过Wi-Fi/局域网通讯,利用红外信号取代实体遥控器的硬件设备。

它最大的优势在于开放了全功能的 HTTP API接口,无论你的项目后端是基于Java、Python、PHP,还是前端小程序、APP,都可以通过标准的HTTP请求完成控制。本方案将指导你如何在30分钟内完成从注册、配置到代码集成的全过程。

2. 准备工作:环境与凭证

在开始编码前,请确保完成以下硬件准备与参数获取:

  • 硬件:芯步智能空调遥控器2(已通电并完成配网绑定)。

  • 账号:在芯步官网()注册开发者账号。

  • 关键凭证

    • AppID:应用唯一标识(登录后在控制台“开发设置”中查看)。

    • AppSecret:开发者密码,用于生成签名。

    • Device ID:设备的唯一ID(在控制台“设备列表”中查看)。

注意:如果仅做开发测试,可以在控制台开启“调试模式”。开启后,系统将不校验签名(sign)和时间戳(ts),方便快速验证指令格式。生产环境请一定要关闭调试模式并正确计算签名。

3. 接入流程:签名机制与接口调用

为确保安全性,生产环境下的每次API调用都需要携带签名。芯步使用的签名算法规则如下(以控制设备为例):

  • 请求地址https://api.thingboot.com/{AppID}/device/control/?sign={YourSign}&ts={ts}

  • 请求方法:POST

  • Content-Type:application/json

签名(Sign)生成步骤(关键)

签名生成逻辑可以概括为:md5( md5(AppSecret) + ts )

  1. 准备:获取你的 AppSecret(例如:abc123)和当前的Unix时间戳 ts(例如:1715000000)。

  2. 第一次MD5加密:对 AppSecret 进行MD5加密,得到 str1 = md5(abc123)

  3. 拼接:将 str1ts 拼接成字符串,得到 str2 = str1 + ts

  4. 第二次MD5加密:对 str2 进行MD5加密,得到的最终值即为 sign

Node.js 示例代码(签名生成):

参考签名逻辑来源:

4. 实战:控制空调的代码实现

我们可以通过HTTP请求向设备下发 order 指令。以下是针对不同场景的集成方案。

请求参数定义

  • device:目标设备的ID(必填)。

  • order:JSON字符串,定义空调的具体动作。

命令对照表(以常见的格力/美的兼容模式为例):

功能order 参数 (JSON字符串)说明
开机/制冷模式{"pow":1,"mode":"cool","temp":24,"fanspeed":"auto"}开机,制冷24度,自动风
关机{"pow":0}关闭空调
设置26度{"temp":26}仅调整温度 (需在开机状态下)
制热模式{"mode":"hot","temp":28}制热28度

具体支持的字段(如 pow, mode, vs_ir 等)请以设备附带的《产品手册》最新版本为准

4.1 第一种场景:对接Web管理后台(后端示例)

假设你有一个能源管理系统,需要在网页上点击按钮关停某会议室的空调。

Python (Flask) 后端调用示例:

4.2 第二种场景:对接移动端/微信小程序

如果你在开发微信小程序,可以直接从前端发起HTTPS请求(注意:在前端需隐藏AppSecret,通过云函数转发,但调试模式下可直接测试)。

微信小程序JS代码:

在微信小程序中集成时,需在公众平台配置 api.thingboot.com 为合法域名

4.3 第三种场景:集成C语言嵌入式或网关

对于工业网关或嵌入式设备,可使用CURL库调用,平台也提供了对应的C语言LibCurl示例,逻辑通用

5. 核心功能进阶与状态同步

除了简单的控制,完善的系统还需要处理设备状态同步。

5.1 获取设备当前状态

虽然控制器会通过红外单向发送指令(无返回值),但芯步平台会记录最后一次下发的指令以及设备的上线/离线状态。你可以通过调用 设备状态接口 来获取设备当前是否在线,以此判断控制指令是否能成功送达。

5.2 接收设备回复(回调/Webhook)

由于红外控制不具备“执行反馈”,空调是否真的收到了信号并开机,取决于红外线是否覆盖。为了确保可靠性,平台支持 回调配置

  • 在控制台设置API URL(你的服务器地址)。

  • 当设备执行指令或状态变更(如有人按了遥控器上的物理按键,设备学习的红外码被识别)时,平台会向你的服务器推送实时数据,这对于同步物理遥控器和APP状态非常关键

6. 常见问题与排障指南

  1. 接口返回签名错误怎么办?

    • 检查时间戳 ts 是否为秒级(10位数),不是毫秒级(13位数)。

    • 核对MD5过程中的编码格式(UTF-8)。

    • 核对 md5(secret) 的结果是否为32位小写十六进制。

  2. 控制指令下发成功,但空调没反应?

    • 检查码库:确认你选择的红外码库品牌与现场空调品牌一致。

    • 检查位置:确保控制器红外发射管对准空调接收窗,无遮挡。

    • 检查供电:部分空调待机状态下红外接收头不工作,需确认空调本身已通电。

  3. 如何提高控制成功率?

    • 在程序中增加“重发机制”。例如:下发指令后等待3秒,通过状态接口确认设备最后心跳时间,或者直接重发2-3次指令,确保红外覆盖

  4. 支持局域网控制吗?

    • 支持。设备配网后,如果在同一局域网下,可以直接通过设备的本地IP进行控制(响应更快,外网断开仍可用),具体本地协议可参考官方《产品手册》

7. 总结

通过芯步的开放接口,开发者仅需掌握 “签名计算 + HTTP请求构造” 这一核心逻辑,就能轻松将传统的红外空调升级为智能设备。无论是接入HomeAssistant开源平台,还是开发自有品牌的商用楼宇控制系统,该方案都能提供低门槛、高稳定性的基础能力。开发者在测试阶段充分利用调试模式快速跑通流程,进入生产阶段前再重点完善签名安全与状态同步机制。