芯步的智能空调遥控器开放了完整的HTTP接口,支持开关、模式、温度等全参数控制。下面的方案会先讲清楚接口怎么调,再给出几个可以直接上手的联动场景代码。
解决方案:基于芯步开放接口的智能空调联动二次开发
一、 我们为什么需要“二次开发”?
市面上的智能家居 App 通常只能实现“定时开关”或者简单的“点击控制”。但在实际生活中,我们的需求往往更“刁钻”。比如:“当室内温度高于28度且我在家时,自动开空调,但风向不能对着人吹”,或者 “民宿客人退房后,自动关闭空调并进入深度省电模式”。
芯步的智能空调远程控制器(IR控制器)本身就提供了非常干净的 HTTP 接口。我们要做的,就是写一段代码(也就是二次开发),充当一个“管家”。这个管家不依赖人工点击,而是根据温度、时间、甚至你店铺的订单系统,自动去调用芯步的接口发指令。
二、 核心准备工作
在动手写代码前,我们需要先把“钥匙”拿到手。你需要准备以下三样东西:
硬件设备:芯步的 智能空调遥控器2 产品。把它通上电,配好网,确保它能控制你家的格力/美的/海尔等空调(它支持市面上90%的红外空调)。
开发凭证:登录芯步控制台,拿到你的
AppID和AppSecret(密钥)。这就相当于你的用户名和密码。设备ID:在控制台找到你刚才配网的那个空调遥控器,复制它的
Device ID(设备编号)。我们要精准告诉接口控制哪一台。
三、 核心接口解析(怎么发送指令?)
芯步的接口设计得非常简洁,只要你懂一点点 HTTP 请求(无论用什么编程语言、还是命令行),就能看懂。
请求地址https://api.thingboot.com/{你的AppID}/device/control/?sign={签名}&ts={时间戳}
核心参数
device:就是你的设备ID。
order:这里就是空调指令的核心了。芯步把空调的红外码简化成了标准的 JSON 格式。
常用指令示例:
开关机
{"power":"1"}(开),{"power":"0"}(关)设定温度
{"tempset":24}(设定24度)设定模式
{"mode":"cool"}(制冷),{"mode":"heat"}(制热)设定风速
{"windspeed":"auto"}(自动),{"windspeed":"low"}(低风)
签名机制(Sign)为了安全,芯步要求我们做一次 MD5 加密。公式是:sign = md5( md5(AppSecret) + ts )。别被这个吓到,其实就是为了防止接口被别人乱调用。
四、 实战:三个典型的“自定义联动”场景
接下来我们看看怎么把上面的接口用起来,做成智能联动。
第一种场景:基于环境温度的“恒温守护”(Node.js 示例)
需求:家里装了一个温湿度传感器,当检测到客厅温度 > 28℃ 且 时间在晚上 18:00-22:00 之间,自动开启空调并设为 24℃ 制冷。
解决方案逻辑假设我们有一个脚本在服务器或树莓派上跑,每隔5分钟检查一次天气或传感器数据。
效果:到了晚上8点,家里热了,空调自动就开了,不需要你去按遥控器。
第二种场景:棋牌室/办公室的“无人自动关机”(Python 示例)
需求:对于开棋牌室或办公室的朋友,最怕客人走了空调没关。我们需要实现:当检测到房间内 PIR(人体红外传感器)超过 30 分钟无人移动,自动关闭空调。
解决方案逻辑这里利用了芯步接口的 extra 特征字段(可以在命令里附带订单号或自定义ID,方便回调识别),但我们这里简化逻辑,通过代码轮询传感器状态。
第三种场景:极致的“离家一键全关”/场景联动
需求:你出门时,喊一声“我走了”,不仅关灯、关窗帘,还要让空调进入“防霉”模式或者直接关机。
解决方案逻辑利用芯步的 分组控制 功能。你可以把客厅的灯、空调、电视都设在一个叫“客厅设备”的分组里。
接口替换:不需要一个一个发
device/control了,直接调用group/control接口。指令
{“group”: 123456, “power”: “0”}(123456是你的分组ID)。效果:一次性让组里的所有设备(包括空调)断电或待机。如果不想断电(比如路由器不能断),只关空调,那就单独给空调设备发关机指令。
五、 避坑指南与温馨提示
关于红外码的局限性红外遥控器是“单向”的。如果你用物理遥控器把空调调成了 20度,你的二次开发程序里记录的“当前温度状态”还是 24度,就会导致数据不同步。:二次开发时,尽量以“绝对指令”为主(直接设定温度值),而不是依赖“加一度/减一度”的相对指令。
签名失败怎么办?检查服务器时间是否标准(
ts必须是当前的Unix时间戳,不能差太多),以及是否做了 双重 MD5 加密。这是最容易出错的地方。异步反馈机制当你调用接口时,返回
code: 200只代表芯步的云平台收到了指令,不代表空调真的开了。如果空调离线(比如 WiFi 断了),指令就失败了。
进阶做法:如果你需要确保空调“一定”开了,需要配置 消息推送 服务(Webhook)。芯步会推送设备执行的结果给你,你收到“执行成功”的回调,才算真正闭环。
六、 总结
通过芯步的开放接口进行二次开发,本质就是把“手按App”变成了“代码调用”。
无论你是想结合温湿度传感器做自动化恒温,还是结合收银系统做断电控制(客人下单成功后自动开空调),甚至是用 Shell 脚本 在 Linux 服务器上写几行 curl 命令,都是可行的。只要把上面提到的 HTTP 请求和签名机制跑通,剩下的就是你天马行空的业务逻辑了。