自助洗车场往往有十几个甚至几十个车位,水电管路复杂。用芯步的智能分体控制箱搭配开放接口,可以把这些分散的回路集中到一套软件里统一管起来。下面从硬件选型到接口对接,一步步说清楚怎么实现。
一、 痛点在哪:为什么要搞“多回路”集成?
对于自助洗车来说,每个车位通常包含:清水泵、泡沫泵、吸尘器、LED照明、冬天还需要加热设备。
以前的做法是人工拉闸,或者每个设备配一个独立的定时器。这不仅布线像蜘蛛网,而且你根本无法知道哪个水泵在漏电,哪个灯管烧了。我们需要做的,就是把那台“智能分体控制箱”变成软件系统的手和脚。
二、 硬件:智能分体控制箱(16路/24路)
根据芯步的产品参数,推荐的硬件是 “智能分体控制箱” (如UNI系列或对应的IO控制器)。
它长啥样? 就是一个铁箱子,里面有电路板和继电器,放在洗车机的机柜里或者配电间。
它能干啥? 它提供了 16路甚至24路 的继电器输出接口。
接线逻辑: 我们把洗车机里的220V水泵线剪断,两头接在这个控制箱的“常开触点”上。软件发指令“开”,继电器吸合,电路通了,水泵转;软件发指令“关”,继电器断开,水泵停。
三、 软件集成:用接口“对话”
芯步的接口是免费开放的,我们不需要懂硬件电路,只需要会发HTTP请求就行。
我们需要把控制箱看成是一个网络设备(通常插4G卡或连WiFi),你的软件系统作为控制端。
1. 准备工作:拿到“钥匙”
在芯步的控制台,你需要拿到三个核心凭证:
AppID:你的应用ID。
AppSecret:你的应用密钥(用于计算签名,防别人乱调接口)。
Device ID:控制箱身上的设备ID(相当于车牌号)。
2. 核心操作:下发指令
这是最常用的功能。假设现在用户扫码付款了,系统需要打开“1号车位”的“清水阀”。
接口地址http(s)://api.thingboot.com/{你的AppID}/device/control/
怎么发指令?比如你的控制箱设备ID是 123456,你想打开第一路继电器(假设第一路接的是清水泵),命令字段通常是 power1,值设为 1(开)。
请求参数示例
device: 123456
power1: 1 (这就是指令:把第一路打开)
口语化解释你的代码其实就是去访问一个网址,在网址里带上“发给谁(device)”和“让他干什么(power1=1)”。服务器收到后,就会通过物联网给那个控制箱发信号,只听“咔哒”一声,水就出来了。
3. 批量控制:一键全开/全关
洗车场打烊时,你需要关掉所有水泵和灯光。如果写16行代码去关,太啰嗦。芯步的接口通常支持批量指令或者指定多个设备ID。你可以一次发一个指令,把 device 参数写成 设备1|设备2|设备3,或者直接发一个 batch 命令,例如 {"batch": {"power":0}}(全关),效率会高很多。
四、 实战逻辑:业务流程怎么写?
我们要把物理操作映射到软件代码里。以一个标准洗车流程为例:
场景:用户扫码 -> 启动洗车 -> 计时计费 -> 结束停机
用户扫码支付(前端)
你的后端系统收到支付成功回调。
开启设备(后端)
代码执行:调用芯步接口,参数
power1=1(高压水泵启动),power3=1(泡沫启动)。注意: 这里最好做一下设备状态校验,看看当前是不是离线状态,避免收了钱却洗不了车。
状态轮询与心跳(关键点)
洗车过程中,你需要知道用户有没有按“暂停”或者设备有没有过热跳闸。
方案A:定时查询。你的系统每隔5秒去查询一次设备状态(也有对应的状态查询接口)。
方案B:消息推送。配置芯步的回调地址(Webhook),当设备状态变了(比如电压不稳跳了),芯步主动发HTTP请求通知你的服务器。推荐方案B,实时性更好,也更省服务器资源。
结束计费
用户点击“结束”或时间耗尽。
代码执行:调用接口
power1=0,power3=0。所有继电器断开,设备停机。
五、 避坑指南与优化
在集成这16路控制箱时,有几个地方提前注意能省不少事:
反馈机制芯步的接口返回
code 200仅代表“指令平台收(下达)到了”,不代表“水泵真的转了”。对策:如果要确保物理动作真的发生了,对接异步消息推送。平台把设备真实的执行结果推给你,你才知道是回路烧了还是正常启动了。
强弱电分离控制箱本身是弱点(12V/5V),但它控制的是220V强电。
对策:在集成软件逻辑时,要加入互锁逻辑。比如,不能允许“高压水”和“吸尘器”同时开(当然这取决于你的业务)。软件层面要做好状态管理,避免短路风险。
离线处理洗车场在偏僻地方信号不好,设备掉线了怎么办?
对策:你的软件系统在用户扫码支付前,必须先调用接口查询设备在线状态。如果设备离线,直接在前端提示“设备维护中,请稍后再试”,别扣用户的钱。
总结
把芯步的16路智能分体控制箱集成到软件中,本质就是“翻译”工作
SQL/代码逻辑 翻译成 HTTP API请求。
把数据库里的
is_water_on = 1翻译成调用power1=1。
只要搞定了那个 device/control 接口,你的软件就能像控制一个虚拟开关一样,控制洗车场里每一路水电的通断。这对于无人值守洗车房来说,是性价比很高的一套方案。