这份方案将指导您如何通过芯步开放的HTTP API接口,将 4路智能包间集中控制模块MINI 快速对接到您的自有系统中(如小程序、SaaS平台或PC端软件)。
基于该设备的特点——无网关依赖(直连Wi-Fi)、接口标准化(HTTP协议)、支持局域网/公网私有化,整个对接过程主要分为:硬件准备、接口鉴权对接、业务逻辑开发三个步骤。
1. 对接前的准备
在编写代码之前,需要完成硬件的安装与凭证获取,这是后续接口调用的基础。
1.1 硬件接线与上电
该模块提供4路输出,遥控能力强,需要根据您的场景接入强电:
第1路:接照明、换气扇(16A)。
第2路:接麻将机、饮水机(16A)。
第3路:接门禁电磁锁(10A)。
第4路:接2匹空调(30A)。
供电:使用包装内的5V1A电源为模块供电,并插入网线或连接Wi-Fi。
1.2 获取API凭证(AppID & AppSecret)
您需要通过官方渠道获取开发者权限:
注册开发者账号。
在控制台获取 AppID 和 AppSecret。
获取 Device ID:设备通电配网后,在控制台查看设备唯一ID。
2. 核心技术:接口鉴权(签名计算)
所有API请求都需要进行签名验证。OpenAPI的核心请求地址为:https://api.thingboot.com/{AppID}/device/control/
签名算法(重要)为确保安全性,请求必须携带 sign 和 ts(时间戳)参数。算法规则为:
sign = md5( md5(AppSecret) + ts )
这是一个二次MD5拼接的过程,不直接传输明文Secret,安全性较高。
代码示例(通用逻辑):
3. 核心功能开发实例
您需要以 HTTP POST 方式提交 JSON 数据。以下是几个最常用的控制场景实现。
3.1 单路控制(开关灯/麻将机)
例如用户在公众号下单,系统需自动开启包间内的照明或麻将机。
参数说明
device传设备ID,order传{"power1":1}。命令映射
power1:1(打开第1路)power2:0(关闭第2路)power3:1(打开门锁)
请求Body示例
(注:若需同时控制多个设备,Device ID用逗号隔开,如 "device": "123,456")。
3.2 批量控制(清场/打扫)
当订单结束或包间需要打扫时,需一键关闭所有电器。
协议:使用
batch命令。操作
全关
{"batch":{"power":0}}选择性开关:关闭麻将机(路2)和空调(路4),保留照明:
{"batch":{"relay":[2,4],"power":0}}。
3.3 电子门禁与“先断后通”逻辑
共享包间的门锁控制通常需要配合继电器复位。
场景:用户点击“开门”,电磁锁通电3秒后自动断电(防止烧锁)。
命令:使用
reset(先断后通)或point(先通后断)。实现
{"reset":{"relay":[3],"interval":3000}}(第3路接通3秒后自动断开)。
3.4 语音播报(TTS版本)
如果您的设备是带TTS版本,可在订单生成时让设备说话,代替人工喊号。
命令
{"play:gbk:16":"欢迎光临,4号包间已准备就绪"}。应用:客人扫码支付成功后,直接播报“支付成功,包间已通电”。
4. 高级场景与架构
4.1 状态同步机制
由于是HTTP短连接,设备状态可能会因物理开关而变化。您的系统结合两种方式保证状态一致:
主动查询:每次开灯前,调用接口查询设备当前状态。
被动接收:利用官方提供的消息推送服务。当设备状态变化时,芯步会主动向您的服务器推送状态变更数据,方便您同步给前端UI。
4.2 局域网私有化部署(可选)
如果您对公网稳定性有顾虑,或行业(如KTV)不允许数据上公网,该模块支持私有化:
该设备支持配置本地服务器地址。
您的系统可以部署在包厢的本地服务器中,通过内网直连控制设备,理论上实现零延迟且断外网仍可运行。
总结
通过上述步骤,您只需关注 HTTP请求的签名生成 与 对应路的继电器命令,即可将硬件无缝集成进您的业务流中。先通过控制台测试发送命令确认设备在线,再用代码集成签名逻辑。