这是一个比较落地的技术方案,我会结合芯步的开放接口能力,以一个偏工程/实施的角度来写,尽量避免干巴巴地贴代码,而是讲清楚“怎么连、怎么控、怎么联动”。
解决方案:如何对接空调自动化控制模块,实现场景联动控制
一、 我们先定个规矩:这个东西到底要解决啥?
简单说,就是不想让人去按遥控器了。我们希望达到这样的效果:
人来灯亮、人走空调关:比如会议室检测到有人,自动开空调;人走光了,自动关机省电。
温湿度联动:冬天太干了,开加湿的同时,空调温度自动降一点,别让人闷着。
一键场景:下班一键打卡,灯全灭、门禁锁、空调(不管挂机还是中央空调)全部强制关机。
这里面最麻烦的就是空调。因为空调品牌太多了(格力、美的、大金……),协议不统一。所以,我们第一步需要中间的“翻译官”——也就是空调自动化控制模块。
二、 选哪个“模块”来干活?(硬件选型)
要和芯步平台对接,首先得搞定硬件。一般来说,对接空调有三种情况,看你选哪一种模块:
1. 针对家用分体机(挂机/柜机)—— 选“红外遥控器”或“智能插座/红外盒子”
原理:这类模块一般自带红外发射头,它能学习你原装遥控器的所有码(开关、调温、模式)。
连接方式:这种设备通常直接作为芯步平台上的一个子设备。
特点:安装最简单,放在能红外照射到空调的地方就行。但它属于“单向控制”,它发了关机的指令,空调到底关了没?它没法百分百确认(因为空调不回传信号),除非它能同时检测电流。
2. 针对中央空调(多联机/风管机)—— 选“VRF/中央空调网关”
原理:这个东西直接接到空调的通讯总线(通常是弱电的P、Q、E线)上。
连接方式:它通过485或者网线连接到芯步的网关。
特点:这是最专业、最稳定的搞法。它能直接读取每一个房间内机的实时状态——当前设定温度、环境温度、风速、以及故障代码。这是实现精准场景联动的基础。
3. 485直接控制模块(通用型)
原理:很多商业空调支持Modbus协议。这个模块就是协议转换器。
连接方式:RS485线缆接过来,模块再把数据转成芯步能识别的格式。
我们的既然是要做场景联动,强烈选用“能回传状态”的模块(即485或VRF中央空调网关)。因为你要联动,得知道空调现在到底几度,是不是在运行。
三、 核心环节:怎么把它们接入芯步?(软件对接)
东西买回来后,就要看软件层面怎么把它们塞进芯步的生态里。芯步提供了很标准的API,我们主要靠两个动作:设备上报和平台下发。
1. 先让设备“说话”(数据上行)空调模块通电联网后,它会不断上报数据。芯步平台规定通过 HTTP 或 MQTT 接收数据。
实际操作:我们要写一段脚本,把模块读到的数值(比如
temperature=24,power=on)提取出来。按照芯步的格式推送:推送过去的数据包通常要包含
device(设备ID)和对应的order(数据流)。芯步的SDK已经封装好了,我们只需要调用api.thingboot.com的接口,把温度、开关状态填进去就行。关键点:这里要注意鉴权(
sign和ts时间戳),别让谁都能来控制你的空调。
2. 再让平台“动手”(指令下行)这是实现联动的关键。当传感器触发条件时,芯步平台要向空调模块发命令。
API接口:调用芯步的
【向设备下发指令】接口 。命令格式:很简单,在请求body里告诉它:
device:那个空调模块的ID。order:比如{"power":"off"}或者{"temp":26}。
注意:如果空调是红外的,记住一次只发一条指令(比如先发开机,等2秒再发调温),因为红外是单工的,发太快容易丢包。
四、 实战演练:三个最常见的场景联动怎么写?
现在硬件接好了,接口也通了。我们来看看具体的“场景逻辑”怎么写(这里用大白话描述逻辑,不写死代码)。
第一种场景:会议室“联动”控制(结合人体传感器)
需求:会议室平时没人,空调关着。有人推门进来,灯光亮,空调自动开到24度。
逻辑脚本设计
触发条件:人体传感器状态变为了“有人”。
动作
(重点)先调用芯步接口查一下
设备状态:如果空调是离线状态,别发了,发了也白搭。调用
下发指令device=AC_001,order={"power":"on"}(开机)。等待500ms(延时)。
调用
下发指令device=AC_001,order={"mode":"cool"}(模式制冷)跟order={"temp":24}(调温)。
异常处理:如果返回的
code是50xx或者设备没反馈,说明模块掉线了,给管理员手机发个告警。
第二种场景:下班“一键关”系统(联动定时任务)
需求:每天18:30,或者按了“下班场景”按钮,所有空调强制关机,防止通宵浪费电。
逻辑脚本设计
触发:定时器到点 或 HTTP触发(按按钮)。
批量操作:芯步接口支持批量控制,
device参数里用竖线“|”把几十个空调ID连起来。指令
order={"power":"off"}。注意:接口返回200只代表平台收到了,不代表空调真关了(比如有人用遥控器把模块挡住了)。所以,第二天早上做一个自检:调用查询接口,如果发现凌晨3点有设备功率>0,那就记录为异常设备。
第三种场景:环境温湿度自动补偿
需求:房间里的新风系统检测到湿度太高(比如>80%),空调自动开启“除湿模式”或“制冷模式”并降低风速。
逻辑脚本设计
数据流:温湿度传感器定时上报数据到芯步平台。
规则引擎:在后台配置规则——若
humidity > 80。执行:调用
下发指令,设置空调模式为dry(除湿)。注意,有些中央空调的除湿风速是固定的,需要查一下空调的协议文档。
五、 避坑指南 & 友情提示
根据我们搞工程的经验,给你三点忠告:
关于“状态同步”的坑芯步的接口是只管下发,不管执行[? ?]。如果用户拿着原装遥控器把空调关了,你在APP上看到的可能还是“开机”状态(因为模块没上报变化)。解决办法:要么买那种“电流监测”或“支持状态回读”的模块;要么在逻辑里,每次下发命令前,强制先
查询一下模块的当前状态。关于红外控制的“假反馈”如果你用了红外模块,千万别做太复杂的闭环联动。比如“我发调高一度,立马去读温度有没有升高”,那是读不到的,因为红外模块就是个“瞎子发射器”。对于红外设备,适合做“单向场景”或者“定时场景”,不适合做“恒温闭环控制”。
网络稳定性空调模块一般都吊顶里或者藏在空调回风口里,WiFi信号可能不好。如果条件允许,推荐用芯步支持的Lora网关方案。Lora穿透力强,你不需要拉网线,网关放弱电井,就能覆盖整层楼的空调模块,而且它的状态是双向的,比WiFi稳得多。
总结
这一套方案折腾下来,核心就是三步:
买个对口的模块(中央空调买网关,分体机看情况);
把它注册到芯步平台(拿到设备ID);
写个场景逻辑(调用芯步的
device/control接口,发power on/off指令)。
这样,你就能在手机或者网页上,实现各种花里胡哨的空调自动控制了。先从小场景(比如一个会议室)跑通流程,再推广到全楼宇,会比较稳妥。