芯步开放平台的核心能力在于通过HTTP/MQTT接口对设备进行远程指令下发,结合继电器等通断控制设备,即可实现对售货机柜总电源的远程控制。以下方案从硬件选型、接口调用到安全设计进行系统阐述。
——基于芯步开放平台的智能化改造
1. 背景与需求分析
传统自助售货机在运营中常面临设备死机、能耗浪费、异常报警无法及时处理等痛点。当设备出现操作系统卡死或外设故障时,运营人员往往需要赶到现场进行硬重启(断电再通电),这不仅耗时耗力,还导致售货机在故障期间失去营收机会。
本方案的目标是利用芯步开放平台的API接口,通过在售货机柜的电源输入端串联一款智能通断设备(如智能继电器或PLC控制器),实现对整柜总电源的远程重启、定时通断和能耗监测。
2. 整体设计
该方案采用“云+端”的极简架构,无需更换整台售货机,仅需在电气层面加装硬件,在软件层面调用API。
感知/控制层: 加装支持芯步协议的智能电源控制模块(如双路继电器模块或工业级智能插座)。该模块串联在售货机总电源输入端。
网络传输层: 利用售货机现有的4G/Wi-Fi网络,或由控制模块自带的网络模块连接至芯步云平台。
平台层(芯步): 作为设备管理与指令中转中心,负责鉴权、设备状态监控及指令下发。
应用层: 运营方的SAAS系统、手机APP或运维小程序,通过调用API进行管理。
graph TD
Admin[运维人员/系统] -->|HTTP/MQTT| YoYo[芯步开放平台]
YoYo -->|指令下发| Gateway[物联网网关/4G模块]
Gateway -->|RS485/GPIO控制| Relay[智能继电器模块]
Relay -->|切断/接通 220V| Machine[自助售货机机柜]
subgraph 售货机机柜内部
Relay -->|供电| MainBoard[售货机主控板]
MainBoard -->|状态反馈| Relay
end
Relay -->|心跳/状态上报| YoYo3. 硬件选型与连接
为了实现总电源的物理通断,必须选择支持无源触点或继电器输出的工业级控制设备。
推荐硬件:
芯步生态的IO控制器(DTU): 选择具备GPIO或Relay输出的工业DTU。
通用智能继电器模块: 如基于ESP8266或类似工业级芯片的2路/4路继电器,只要其主控芯片能够烧录或兼容芯步的SDK/AT指令集。在选型时需注意触点容量(选10A及以上,以承受售货机启动时的浪涌电流)。
接线逻辑:
输入端: 将原本接入售货机的火线(L) 先接入智能继电器的“公共端(COM)”。
输出端: 从继电器的“常开触点(NO)”引线至售货机的电源入口。
控制端: 继电器的控制板通过RS485或GPIO引脚连接至芯步通信模组。
旁路保护(可选): 为了在设备维修时有电,可并联一个物理开关或保留旁路空开。
4. 软件接口开发与指令下发逻辑
这是实现“远程控制”的关键。芯步开放平台提供了标准的HTTP API和MQTT协议,我们需要利用其 “向设备下发指令” 接口。
4.1 鉴权与连接
每次调用API前,需要计算签名(Sign)。算法为:md5(md5(开发者密码) + ts)。
AppID: 在芯步控制台获取。
Device ID: 我们接入的“智能电源控制模块”的唯一ID。
4.2 核心指令设计
假设我们将继电器模块定义为标准设备,其属性包含电源开关 PowerSwitch。我们需要发送两条核心指令:
远程断电(重启):
接口地址:
http(s)://api.thingboot.com/{AppID}/device/control/请求参数:
device: [智能模块设备ID]order:{"PowerSwitch":0}(0代表断开,1代表闭合)
联动逻辑: 发现售货机离线或收到重启指令 -> 执行
PowerSwitch=0-> 等待 10秒 -> 执行PowerSwitch=1。
定时任务与能耗策略:
第一种场景(夜间节能): 设定Cron定时任务,在每日00:00调用API断电,06:00调用API通电。
第二种场景(按需供电): 结合售货机主控板的库存数据,当连续2小时无交易时,自动断电休眠;当运维人员补货扫码开门时,自动通电。
4.3 异步反馈与状态确认
根据芯步的机制,code:200 仅代表指令被平台接收,不代表设备已执行。为了确保断电操作成功,必须设置异步消息推送接收端(如运维服务器的回调地址)。
处理流程:
系统调用API下发断电指令。
订阅芯步的消息推送主题。
接收到设备返回的
result信息,确认PowerSwitch状态变更为0。同时,可检测售货机主控板的网络在线状态(Ping),若离线,则确认断电成功。
5. 方案实施步骤
第一步:硬件安装与布线:在售货机内部配电箱处,找到总电源进线。按照“火线进继电器、继电器出线接负载”的原则安装智能控制模块,并接通DC 12V/24V辅助电源为通信模块供电。
第二步:设备配网与注册:通过芯步提供的配网工具或串口调试工具,将售货机现场的Wi-Fi或4G凭证写入模块。确保模块在芯步控制台中显示为“在线”状态。
第三步:接口联调与测试:使用Postman或curl命令,携带正确的Sign和AppID调用
/device/control/接口。发送{"PowerSwitch":0}指令,观察继电器是否发出“咔哒”声,并确认售货机屏幕熄灭断电。第四步:业务系统集成:将接口封装集成到现有的运维工单系统中。例如:当用户上报“机器吞币”且“网络离线”时,系统自动弹出“远程重启”按钮。
6. 安全与可靠性保障
针对售货机无人值守的特点,增加以下冗余设计:
硬件看门狗: 选用的智能控制模块应具备硬件看门狗功能。如果模块自身的MCU死机,硬件看门狗会在几秒内自动触发硬件复位,确保控制功能恢复。
断电记忆功能: 模块应具备EEPROM存储。在售货机因故障断电后重新来电时,模块应能恢复到断电前的“通电”状态,避免断电后无法恢复供电。
防雷与浪涌保护: 售货机多位于户外,继电器触点并联RC灭弧电路,或选用带浪涌保护功能的工业级继电器,防止电机或制冷压缩机启停时产生的电弧损坏触点。
7. 方案优势
零改造: 无需改动售货机原有的安卓主板业务逻辑,即插即用。
轻量化部署: 仅需采购芯步生态的通用IO模块,硬件成本低于200元人民币。
高可维护性: 运维人员无需出工,在办公室即可解决90%的“死机”故障,将人工精力集中在补货和复杂硬件维修上。