一、背景与需求分析
在无人售货机运营场景中,灯光控制是一个长期被忽视但实际影响显著的问题。常规做法是让售货机灯光全天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路共享设备控制模块,无人售货机的灯光控制可以做到:
低成本接入:HTTP接口简单清晰,10分钟即可完成基础对接
灵活控制:4路独立控制,适用于货道分区、取货口引导等多种照明场景
节能增效:结合业务事件和定时策略,相比全天常亮可节省40%-60%的照明能耗
稳定可靠:设备支持时序保护、多WiFi备选,确保商业环境下的持续运行
以上方案可直接应用于各类无人售货机项目,根据实际货道数量和布局选择不同规格的控制器(4路/8路/24路),接口调用方式完全一致,具有良好的可扩展性。