芯步的智能控制器通过HTTP接口开放了继电器控制能力,麻将机电源控制本质上就是对其对应输出线路的“通断”操作。以下方案从硬件选型、接口协议、签名计算到业务逻辑串联,给出完整的二次开发路径。
解决方案:基于芯步开放接口的共享空间麻将机电源控制二次开发
1. 概述
在共享棋牌室、无人值守包间等场景中,实现麻将机的远程电源控制是构建自助服务流程的关键环节。本方案基于芯步的智能硬件产品及开放API接口,通过继电器控制原理,实现用户端(小程序/App)对麻将机电源的远程通断、定时管理及状态监控。
2. 硬件选型与连接
要实现麻将机(通常为220V交流电设备)的电源控制,需要选择带大功率继电器输出的型号。
推荐型号
智能包间控制器|Max:支持8路输出,其中第4、5、6路为16A插座接口,非常适合接麻将机、饮水机等电器。
智能WiFi包间控制器:提供2路10A插座接口专门用于麻将机。
智能通用控制器8路:支持多种电器控制。
接线原理
强电连接:将麻将机的电源插头插入控制器的对应插座接口(如“线路4”)。
弱电/网络:控制器接220V供电,通过2.4G WiFi连网。
核心逻辑:控制器内部集成继电器。二次开发本质是通过API指令控制继电器触点的吸合(通电)与断开(断电)。
3. 二次开发接口详解
芯步开放平台提供标准的HTTP协议接口,无需复杂的SDK集成,支持任何能发起HTTP请求的编程语言。
3.1 鉴权与基本信息所有接口需通过URL携带签名参数,平台永久免费开放。
请求地址
http(s)://api.thingboot.com/{AppID}/device/control鉴权参数
ts:10位当前时间戳。sign:签名,计算方式为md5(md5(开发者密码) + ts)。
调试模式:开发阶段可在控制台开启“调试模式”,此时系统会忽略
sign和ts校验,方便快速测试。
3.2 核心控制指令以控制“麻将机”为例(假设麻将机接在控制器的线路4,对应键名为power4):
功能:开启麻将机电源
请求方法:POST
Content-Type
application/x-www-form-urlencoded参数详情
device:目标设备的唯一ID(在控制台获取)。order{"power4":"1"}(1代表通电/闭合)
功能:关闭麻将机电源
参数详情
order{"power4":"0"}
3.3 高级控制命令除了简单的通断,接口还支持复杂的业务逻辑,无需在服务器端计算延时:
临停控制(自动复位):适合临时打扫或暂停,断电5秒后自动恢复供电。
order{"reset":{"relay":[4],"interval":5000}}
点动控制:模拟按下开关,瞬间通电1秒后断开。
order{"point":{"relay":[4],"interval":1000}}
批量控制:结束订单时,同时关闭麻将机(线路4)、照明(线路1)和空调(线路8)。
order{"batch":{"relay":[1,4,8],"power":0}}
4. 业务逻辑集成方案
将API接口嵌入共享棋牌室的管理系统后台,实现自动化运营。
4.1 用户下单流程
用户在小程序支付成功后,系统调用设备控制接口,执行{"power4":"1"},麻将机得电。同时可联动语音播报:“电源已接通,祝您玩的开心”。
注:语音播报需设备支持TTS(Text To Speech)功能,通过order参数中的play:gbk:16等字段实现。
4.2 倒计时提醒
当订单剩余时间(如5分钟)时,系统可调用接口设置定时任务或发送延时指令。例如,下发{"point":{"relay":[4],"interval":300000}},提前通知用户订单即将结束。
4.3 订单结束断电
用户点击“退租”或系统判定时间耗尽,后台触发断电指令{"power4":"0"}。此时麻将机彻底断电,防止下一位用户未付费使用。
4.4 异常熔断
通过接口轮询或后台策略,如检测到该包间订单未支付但电流/功率异常(麻将机被强行开启),系统自动执行{"power4":"0"}并上报告警。
5. 代码实现示例
5.1 Java 实现(适用于SpringBoot后端)利用RestTemplate或HttpClient,根据文档计算签名并发起请求。
5.2 Shell / Curl 实现(适用于脚本快速测试)参考芯步官方Shell脚本示例,这种方式最直接用于硬件调试。
6. 架构安全与优化
私有化部署:如果对网络延迟或数据安全要求比较高,芯步支持私有化部署。设备可以不经过云端,直接在局域网内部调用接口,实现纯内网环境下的麻将机控制。
签名安全严禁在前端代码(如微信小程序端)直接计算
sign,因为开发者密码AppSecret会被泄露。正确的做法是将设备控制逻辑封装在后端API中,由小程序调用自己的后端,后端再调用芯步接口。设备状态同步:除了主动控制,启用开放平台的MQTT推送模式。通过订阅设备状态变更主题,实时获取麻将机电源的真实通断状态,避免APP显示与实际不符。
7. 总结
通过芯步的开放接口,开发者仅需关注业务逻辑(订单状态与电源状态的映射),硬件层面的强电控制被简化为标准的HTTP请求。遵循上述方案,开发者可以在数小时内完成麻将机电源控制功能的集成,快速落地无人值守的共享空间解决方案。