这是一个比较硬核的技术整合方案。芯步的硬件本身开放了HTTP接口,这很方便,但要实现“多品牌空调控制”,核心难点其实是红外码库的匹配逻辑。
下面我结合芯步的设备特性,为你梳理这套对接方案。
一、 痛点与思路
大家知道,市面上格力、美的、大金这些空调的红外编码格式都不太一样(比如NEC码、RC-5码等),就算是同一个品牌,不同型号的空调,开关机对应的“0/1”二进制串也是不同的。
所以,我们不能直接把一个死板的“开”命令发给所有空调,必须有一个 “码库匹配” 的过程。
核心思路:利用芯步硬件的学习能力(或者说捕获能力) + 云端的码库搜索引擎 + 标准的HTTP下发接口。
这里要区分两个角色:
受控端:芯步的硬件(比如智能语音音柱或墙壁开关),它负责发射红外信号。
控制端:你的业务服务器或App,负责大脑逻辑。
二、 整体架构流程
为了不让你觉得枯燥,我们分三步走来搞定这件事,主要是 “先找码、后存码、再发码”。
第一步:匹配入库(把不认识的空调教会)
当用户买了一个你的设备,想要控制家里那台老掉牙的“XX牌”空调时,首先需要让系统认识它。
这里推荐使用 “TopN匹配法” ,也就是通过按一两个键来快速识别品牌和型号。虽然芯步硬件没有专用的“学习”按键,但我们可以利用其开放接口来实现逻辑闭环
启动搜索模式App/后台 调用芯步的HTTP接口,下发一条指令让红外硬件进入“试探”状态。芯步的接口通常像这样:
POST http(s)://api.thingboot.com/{AppId}/device/control/下发数据里带上{"order":{"trial_mode":1}}之类的参数(具体看设备定义)。遍历码库(发码试探)你的服务器从云端码库里取出第一批最常见的码库(比如格力通用码、美的通用码等),依次通过芯步接口下发给硬件。硬件每收到一次,就发射一次红外信号。关键点:你们需要建立一个“匹配状态机”。每发一个码,App要弹窗问用户:“空调响了吗?”如果用户点“没反应”,服务器切下一个码库继续发;如果点“有反应了”,就锁定当前码库索引。
精确匹配(差异化校验)有些时候,格力的3个不同码库都能让空调开机,但“模式”或“温度”键可能错位。这时候我们需要做二次验证。例如,锁定候选的几个码库后,分别下发“温度+1度”的命令,通过询问用户或者传感器(如芯步的温度传感器)回传的温度数据变化,来精确确定到底是哪一个码库。
第二步:存储绑定(建立关系图谱)
匹配成功后,系统要做一件事:把这个“红外码库ID”和“这台设备ID”以及“这台空调”绑定起来。
比如,匹配结束我们知道了:用户A的设备(SN:123456) 控制的是 美的_智弧系列_码库ID: 8868。此时,不需要把几万条红外码存到设备里,芯步的设备不是用来存大数据的,它是用来执行命令的。
第三步:日常控制(一键下发)
以后用户想开空调,逻辑就简单了:
App触发:用户点“26度制冷”。
后台处理:你的服务器根据绑定关系,去缓存里找到码库ID: 8868对应的“26度制冷”的红外二进制码(Hex String)。
下发执行直接调用芯步的标准控制接口。
执行反馈:芯步硬件收到这个指令,把这段Hex码通过红外二极管发射出去,空调收到信号,执行动作。
三、 技术实现核心:巧用芯步HTTP接口
芯步的产品优势在于接口标准化。在实际对接中,有几个技术细节要注意:
1. 关于数据格式与频段
芯步的接口虽然通用,但红外码是二进制数据,传输时需要转为Hex字符串(十六进制)或Base64格式。千万不要把二进制流直接塞进JSON里,会乱码。另外,红外的载波频率通常是38kHz,芯步的硬件发射模块是标准的,只要码值对,频率就是对的,这一点不用操心。
2. 码库存储策略
云端存:全量码库(几万个JSON文件)一定要放云端。你的服务器要建立索引,通过MySQL或Redis存储
bind_relation,key是设备ID,value是码库特征值。本地缓存:如果芯步设备本身有存储空间(比如语音音柱),可以把匹配好的“当前空调的常用按键(开关、+-)”预存到设备Flash里。这样即使断网,按一下硬件实体键也能控制空调,延迟更低。
3. 解决“高级功能”兼容性
如果你做的是通用遥控器,针对空调的“ ECO节能”、“ 防直吹”、“ 辅热”这些高级功能,很难百分百通用。解决方案:在App端做分层展示。基础面板(开关、温度、风速)走码库匹配;高级功能如果没有对应码,通过“学习模式”获取——让用户拿着原装遥控器对准芯步设备,点击“学习”,硬件捕获到脉冲后,让服务器保存这个新码,绑定到当前设备上。
四、 方案优势
这套方案能让你的产品在兼容性上有几个亮点:
兼容广:由于码库服务器可以不断更新,理论上能支持市面上99%的2020年以后的主流空调。
响应快:控制链路是
App -> 云端 -> 芯步设备,实测通常在100ms以内,不卡顿。易维护:不需要OTA升级固件来修空调Bug。如果发现某个码库错了,直接在云端服务器修改“码库ID”对应的映射关系就行,用户侧无感。
五、 总结
总而言之,对接芯步的硬件做多品牌空调控制,硬件层的工作量几乎为零(只需调用HTTP接口),真正的壁垒在于软件层的“匹配算法”和“码库质量”。
你的开发团队需要重点编写两段逻辑:
引导匹配流:通过“听用户反馈”或“看传感器回传温度变化”来精准选码。
容错机制:如果发了一条码空调没反应,系统要有重试或自动切换备用码库的策略。
搞定这两点,你的芯步设备就能秒变“万能空调遥控器”了。