CATALOG

芯步的智能红外空调遥控器开放了标准的HTTP接口,二次开发的核心就是通过签名认证调用接口,向设备下发空调控制指令。下面我一步步说明怎么实现。

一、准备工作:拿到开门的“钥匙”

在写代码之前,我们需要先去芯步的官网拿到几个关键凭证。就好比你要寄快递,得知道地址和你的身份一样。

  1. 注册/登录:先去芯步开放平台注册一个账号。

  2. 找到凭证:登录后进入“物联网控制台”,在左侧菜单找到 “开发设置” 。你会看到两个重要的东西:

    • AppID:相当于你的用户名。

    • AppSecret:相当于你的密码。注意:这个要保密,别把它硬编码在前端代码里

  3. 获取设备ID:在控制台的“设备管理”里,找到你那个已经联网在线的“智能红外空调遥控器”,记下它的 Device ID(设备ID)

  4. 开启调试():在开发初期,为了省事,可以在开发设置里暂时打开 “调试模式” 。这样系统会暂时绕过复杂的签名计算,让你先跑通流程。上线的时候记得关掉,改回正常的加密模式

二、核心难点:签名是怎么算的?

如果是生产环境(关闭调试模式),芯步为了安全,要求每次请求都得带一个动态的 sign 签名。这个签名算法是这样的

举个栗子 假设你的 AppSecretabc123,当前时间戳 ts1711325678

  1. md5(abc123) = e99a18c428cb38d5f22e03... (取32位标准值)

  2. 拼接起来变成:e99a18c428cb38d5f22e03...1711325678

  3. 再把这一长串拿去 md5 一下,得到的就是 sign

注意:请求的时候,ts 必须是当前的 Unix 时间戳(秒级),而且这个 ts 也要明文放在请求链接里,服务端会拿着这个时间去重放签名,校验合法性

三、动手写代码:怎么把空调打开?

不管你用 Python、Java 还是 Node.js,流程都是发一个 HTTP POST 请求。这里我用最常用的 Python命令行 来演示。

1. 确认控制指令

首先得知道发什么内容能让空调开机。芯步的智能遥控器指令一般是 JSON 格式。

  • 开机{"power": 1} 或者 {"status": 1},具体要看产品手册,一般空调还会带模式,最简单的是发 {"power": "on"}

  • 调温度{"tem": 26}

  • 改模式{"mode": "cool"} (制冷)或 {"mode": "heat"}(制热)

小技巧:你可以在芯步的官方控制台里点一下“开机”按钮,然后按F12看浏览器里的网络请求,把那个 order 参数的内容抄下来用,绝对错不了

2. Python 代码示例(纯小白也能用)

假设你的 AppID=12345DeviceID=10086,我们要让它开空调并设置为 24度。

3. 用现成工具 Postman 测试(最简单)

如果你不想写代码,只是想验证设备能不能动,用 Postman 也行:

  • URLhttp(s)://api.thingboot.com/{你的AppID}/device/control/?sign=调试模式下可乱填&ts=123456

  • Method:POST

  • Body (JSON)

记住:如果没开“调试模式”,sign 和 ts 必须按照上面的算法算对,否则会报 5006 签名错误

四、进阶玩法:私有化部署(局域网控制)

如果你是做智能家居集成,不想把数据经过芯步的云服务器,芯步也支持 私有化模式。这种情况下,你的遥控器连的是你家的局域网 WiFi,你可以直接通过 HTTP 请求 局域网 IP 来控制

这时候的请求地址就变了:

  • 地址http://[你遥控器的局域网IP]/control

  • Body:直接传指令 {"power": 1}

这就意味着,哪怕家里断网了,只要你的路由器还活着,你的 HomeAssistant 或者本地脚本就能控制空调,响应速度飞快。

五、几点避坑

  1. 设备在线状态:如果接口返回 200,只代表芯步的服务器收到指令了。如果空调没反应,去控制台看看设备是不是离线(离线的话先检查 WiFi 信号)

  2. 红外对准:这个设备是红外的,必须贴在能直接照射到空调内机接收窗的地方,不能有遮挡(比如藏在电视柜里),否则神仙也控制不了。

  3. 指令字典:空调品牌千千万,“代码库”是关键。芯步一般内置了市面上主流品牌(格力、美的等)的码库。如果你发现某个功能(比如“辅热”)发出去没反应,记得去产品手册确认下该型号是否支持这个属性。

  4. 频率限制:注意不要疯狂发指令(比如每秒几十次),平台一般会有频率限制(如 1次/秒),控制得温柔点

希望这篇能帮到你,祝你的空调早日被“黑”掉!