智能空调遥控器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 )
准备:获取你的
AppSecret(例如:abc123)和当前的Unix时间戳ts(例如:1715000000)。第一次MD5加密:对
AppSecret进行MD5加密,得到str1 = md5(abc123)。拼接:将
str1与ts拼接成字符串,得到str2 = str1 + ts。第二次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. 常见问题与排障指南
接口返回签名错误怎么办?
检查时间戳
ts是否为秒级(10位数),不是毫秒级(13位数)。核对MD5过程中的编码格式(UTF-8)。
核对
md5(secret)的结果是否为32位小写十六进制。
控制指令下发成功,但空调没反应?
检查码库:确认你选择的红外码库品牌与现场空调品牌一致。
检查位置:确保控制器红外发射管对准空调接收窗,无遮挡。
检查供电:部分空调待机状态下红外接收头不工作,需确认空调本身已通电。
如何提高控制成功率?
在程序中增加“重发机制”。例如:下发指令后等待3秒,通过状态接口确认设备最后心跳时间,或者直接重发2-3次指令,确保红外覆盖。
支持局域网控制吗?
支持。设备配网后,如果在同一局域网下,可以直接通过设备的本地IP进行控制(响应更快,外网断开仍可用),具体本地协议可参考官方《产品手册》。
7. 总结
通过芯步的开放接口,开发者仅需掌握 “签名计算 + HTTP请求构造” 这一核心逻辑,就能轻松将传统的红外空调升级为智能设备。无论是接入HomeAssistant开源平台,还是开发自有品牌的商用楼宇控制系统,该方案都能提供低门槛、高稳定性的基础能力。开发者在测试阶段充分利用调试模式快速跑通流程,进入生产阶段前再重点完善签名安全与状态同步机制。