CATALOG

一、背景与需求分析

在无人售货机运营场景中,灯光控制是一个长期被忽视但实际影响显著的问题。常规做法是让售货机灯光全天24小时常亮,虽然解决了“夜间可见”的问题,却造成了大量无效的电能消耗——深夜无人购买时,灯光依然在亮着。

更精细化的需求包括:当用户靠近时灯光自动亮起引导消费;不同货道区域独立照明以突出特定商品;灯光与销售数据联动,爆款商品区域灯光增强等等。这些都需要一套可编程、可远程控制的灯光系统来实现。

芯步的4路共享设备控制模块(智能控制器4路系列)正是为解决这类场景而设计——提供4路独立控制的继电器输出接口,通过HTTP接口即可实现远程控制,完美适配无人售货机的灯光控制需求

二、硬件选型与接口特性

2.1 设备规格选择

根据售货机内部供电环境,有两种版本可选

版本适用场景负载能力
交流电压版接入AC 85-265V市电,控制LED灯带、照明灯单路MAX 1000W阻性负载
直流电压版接入直流低压,控制电磁锁、低功耗灯带直流输出,适配窄体售货机

选型:常规售货机场景推荐交流电压版,直接接入220V照明电路,无需额外转换。

2.2 核心接口能力

该模块的核心优势在于全开放HTTP接口,具备以下特性

  • 即插即用:无需网关,设备直接通过WiFi 2.4G联网

  • 低延迟:从命令下发到设备响应约80-120ms

  • 多协议支持:适用任何支持HTTP请求的语言/平台(Web、小程序、APP、SaaS)

  • 私有化部署:支持局域网直连,无需经过云端

三、软件集成设计

3.1 整体架构

┌─────────────────────────────────────────────────────┐
│                   用户端(小程序/APP)                 │
└─────────────────────┬───────────────────────────────┘
                      │
┌─────────────────────▼───────────────────────────────┐
│                 业务后端(你的服务器)                 │
│  ┌─────────────────────────────────────────────┐   │
│  │  灯光控制服务:策略引擎/定时任务/日志记录       │   │
│  └─────────────────────────────────────────────┘   │
└─────────────────────┬───────────────────────────────┘
                      │ HTTP API
                      │ (签名 + 时间戳)
┌─────────────────────▼───────────────────────────────┐
│              芯步开放平台                         │
│         api.thingboot.com / 私有化部署                  │
└─────────────────────┬───────────────────────────────┘
                      │ WiFi
┌─────────────────────▼───────────────────────────────┐
│             4路控制器模块(售货机内部)               │
│   继电器1──灯带1(左侧)  继电器3──灯带3(货架区)    │
│   继电器2──灯带2(中部)  继电器4──灯带4(取货口)    │
└─────────────────────────────────────────────────────┘

3.2 接口核心参数说明

控制接口的请求格式如下

POST https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}
Content-Type: application/json

{
    "device": 820720,
    "order": {"power1": 1, "power2": 0, "power3": 1, "power4": 0}
}

参数说明

  • device:设备唯一ID(整型),在控制台获取

  • order:控制指令JSON,power1~power4对应4路开关,值为1(开)或0(关)

  • sign:签名,用于身份验证

  • ts:时间戳,防止重放攻击

高级控制模式

命令类型order格式说明
延时关闭{"point":{"relay":[1],"interval":30000}}线路1在30秒后关闭
批量控制{"batch":{"relay":[1,3],"power":0}}线路1和3同时关闭
先通后断{"point":{"relay":[1],"interval":1000}}线路1先通,1秒后自动断(脉冲)

四、代码实现详解

4.1 签名生成(后端核心)

在正式环境(非调试模式)中,需要计算签名来验证身份。签名生成逻辑如下

4.2 统一控制函数封装

为简化调用,封装一个通用的设备控制函数:

4.3 无人售货机业务逻辑集成

将灯光控制融入到售货机的实际业务流程中:

第一种场景:用户扫码靠近时亮灯

第二种场景:购买成功后互动灯光

第三种场景:定时策略(白天降低亮度/夜间节能)

五、部署与运维注意事项

5.1 开发调试

  • 在开发阶段,可在物联网控制台的“开发设置”中打开调试模式,此时不校验签名和时间戳,方便快速验证接口逻辑

  • 调试通过后,关闭调试模式,正式启用签名验证和IP白名单

5.2 网络配置

  • 设备支持配置5组WiFi,会自动选择信号最强的网络连接

  • WiFi频段必须是2.4G,5G频段不支持

  • 如需局域网直连(不经过云端),可联系芯步技术支持获取私有化部署方案

5.3 安全

  • 签名密钥(AppSecret)严禁放在前端代码中,必须在后端服务中计算

  • 配置IP白名单,限制只有业务服务器IP可以调用控制接口

  • 可结合售货机本身的传感器(如人体红外传感器)实现更智能的联动控制

5.4 异常处理

六、总结

通过芯步4路共享设备控制模块,无人售货机的灯光控制可以做到:

  1. 低成本接入:HTTP接口简单清晰,10分钟即可完成基础对接

  2. 灵活控制:4路独立控制,适用于货道分区、取货口引导等多种照明场景

  3. 节能增效:结合业务事件和定时策略,相比全天常亮可节省40%-60%的照明能耗

  4. 稳定可靠:设备支持时序保护、多WiFi备选,确保商业环境下的持续运行

以上方案可直接应用于各类无人售货机项目,根据实际货道数量和布局选择不同规格的控制器(4路/8路/24路),接口调用方式完全一致,具有良好的可扩展性。