CATALOG

芯步的24路控制器采用标准HTTP API接口,签名机制为md5(md5(AppSecret) + ts),支持单路/批量/时序控制。以下方案涵盖设备接入、核心代码实现、售货柜业务逻辑设计及稳定性保障。

解决方案:基于芯步24路控制器的自动售货柜集成方案

1. 硬件概述与接口能力

芯步智能通用控制器 (UNI-KZQ-TY-24) 是该方案的核心执行设备。

  • 核心参数:支持24路独立继电器控制,每路负载最大2200W,总功率4400W。支持DC 12V供电,WiFi 2.4G联网

  • 接口优势:提供全开放的HTTP API接口,无需网关,设备直连路由器即可通过云端或局域网API调用

  • 适用场景:在自动售货柜中,24路通道可分别对应控制24个货道的弹簧电机柜内照明灯压缩机加热片

2. 接口鉴权与连接流程

将控制器接入软件项目的核心在于处理双MD5签名机制设备心跳维护

2.1 签名算法 (Sign)

芯步的API签名规则较为特殊,是双重MD5加密:Sign = md5( md5(AppSecret) + ts )

参数说明示例值
AppID在平台控制台获取,作为URL的一部分your_app_id
AppSecret开发者密钥abc123...
ts当前Unix时间戳(秒)1715678900
Sign计算出的签名9f7e...

计算步骤 (以Python为例)

2.2 设备配网与激活
  1. 初始化:设备通电后,指示灯快闪。

  2. 入网配置:通过“芯步”微信小程序或PC控制台,输入现场的2.4G WiFi密码。设备仅支持2.4G频段

  3. 获取ID:配网成功后,在后台“设备列表”中获取唯一的 device_id,这是后续指令的目标对象。

3. 软件项目集成架构

本方案采用 “业务服务器(SaaS) + 设备直连” 的扁平化架构。

1. 业务流程用户在小程序/APP点击购买 -> 业务服务器处理订单/扣款 -> 服务器调用芯步API -> 控制器收到指令 -> 对应货道电机旋转 -> 出货完成。

2. 关键代码实现 (发送指令)你需要向 https://api.thingboot.com/{AppID}/device/control/ 发起POST请求

请求示例 (控制第1路电机转动3秒)

注:若需要精准控制转动时间(例如转2秒停),通常需要配合“先通后断”指令(point)或由业务端发送“开”指令,延时2秒后再发送“关”指令(`power1”:0)。

3. 批量与多线程控制对于售货柜,经常需要同时打开多个货道(虽然不常见,但逻辑存在)。接口支持批量操作:

4. 售货柜业务逻辑设计方案

为了让软件项目稳定运行,在业务层封装以下逻辑:

1. 抽象指令映射表在数据库中建立 Vending_Mapping 表,将物理硬件层与业务层解耦:数据库字段设计:

字段名示例值说明
machine_idSZ001售货柜编号
relay_channel1-24物理通道号
cargo_idA01货道编号
command_codepower1对应的API指令Key
motor_work_ms2000电机需要转动的时间(毫秒)

2. 自定义“时序控制” (重要)由于自动售货机不需要持续供电,只需要点动(通电-断电)。以下是两种实现策略:

  • 方案A (推荐——业务端闭环) : 发送 {“power1”:1} -> 启动定时器 (如Async sleep) -> 2秒后发送 {“power1”:0}

    • 优点:硬件成本低,只要服务器稳定即可。

    • 缺点:依赖服务器网络延迟。

  • 方案B (利用设备指令) : 使用设备手册中的 point (先通后断) 命令。检查设备固件是否支持“点动模式”,如果支持,可直接下发包含时长的指令,无需服务器二次干预。

3. 异常处理与重试自动售货场景对丢包率敏感。集成HTTP SDK时,必须实现:

  • 超时设置:连接超时设为3秒,读取超时5秒。

  • 失败重试:若调用API返回超时或5xx错误,间隔500ms重试一次,最多3次。若3次都失败,判定为网络故障,订单进入退款或人工处理流程。

5. 数据安全与运维

1. 局域网直连模式 (高可用方案)目前很多售货柜部署在地下室或信号差的地方,虽然设备支持WiFi,但强烈如果现场有本地工控机(安卓屏或Windows主机),可以利用控制器的局域网API功能。工控机通过网线连接路由器,控制器连接同一路由器。软件项目在向控制器发送指令时,直接请求控制器的本地IP地址而非云端。优势: 即使外网断网,本地投币或扫码(离线扣款)依然能驱动电机出货,延迟从秒级降至毫秒级

2. 状态同步机制虽然芯步的控制器主要是下行控制(命令下发),但为了在软件界面上显示“出货中”的状态,:

  • 虚拟状态:软件发送指令后,立即在前端显示“出货中”。

  • 防抖处理:同一货道在收到指令后的5秒内,软件端需拦截对该货道的重复请求,防止因用户双击导致重复扣款和电机空转。

6. 总结

将芯步24路控制器接入软件项目,本质上是HTTP协议的集成工作

  1. 集成难度低:由于接口是标准的HTTP+JSON,无论你的后端是Java、PHP、Go还是Python,只需封装好签名工具即可。

  2. 扩展性强:24路通道支持你规划复杂的货柜结构(如23个商品货道 + 1个加热控制)。依靠这套方案,你可以快速构建一个标准的无人零售SaaS系统

控制器产品方案:
线下服务门店包间管理:如何将8路包间综合管理控制器接入到项目中
查看 >>
怎么在店铺设备电源控制中集成智能硬件以实现8 路多通道独立控制
查看 >>
怎样在共享自习室 LED 灯条控制中集成智能硬件来实现低压直流负载通断控制
查看 >>
怎么在轰趴馆多功能包间控制中对接智能硬件来实现空调电源控制
查看 >>
照明控制:如何将8路防水防尘控制箱对接到项目中
查看 >>
货柜场景方案:
自助售货柜通断电控制:怎样将60A带计量远程控制断路器对接到项目中
查看 >>
自助售货柜通断电控制:如何把60A带计量数显物联网断路器集成到软件项目中
查看 >>
如何在自动售货柜电源控制中接入智能硬件来实现总路过流过载保护控制
查看 >>
自动售货柜控制:怎么把8 路智能分体远程设备集中控制箱接入到软件项目中
查看 >>
自助售货柜通断电控制:如何把40A带计量联动控制智能空开接入到自己的项目中
查看 >>
自动用途方案:
共享棋牌室自动照明控制:怎么把壁挂式微波感应探测器对接到项目中
查看 >>
自动贩卖机电路管理:怎么将30A 智能开关接入到自己的项目中
查看 >>
怎么对接AC3-10A 计量版智能控制器来实现过流自动断电控制
查看 >>
如何对接AC1-10A 物联网开关来实现过流自动断电控制
查看 >>
共享棋牌室自动照明控制:怎样把智能人体存在传感器吸顶雷达版集成到自己的项目中
查看 >>