芯步的包间控制器开放了完整的HTTP接口,这意味着你可以完全按自己的业务逻辑来定义设备联动——比如客人下单后自动开灯通电、超时前语音提醒、离店自动断电锁门。以下方案会从签名计算、指令封装到联动脚本编写一步步展开。
解决方案:基于芯步HTTP接口的包间控制器二次开发
一、 背景与目标
在共享棋牌室、茶室、影院式足浴等场景中,包间内的设备控制逻辑往往需要与业务系统(如订单小程序、计时计费系统)深度绑定。单纯的App手动控制无法满足“自动断电”、“定时提醒”、“离店锁门”等自动化需求。
本方案的目标是指导开发者如何利用芯步 “智能包间控制器” 的开放HTTP接口,将其集成到自有系统中,实现设备状态与订单状态的自定义联动。
二、 核心技术原理
芯步的设备采用 “设备端主动连接云平台” 的模式,开发者无需公网IP或复杂的端口转发,仅需通过调用平台开放的 HTTP API,即可实现服务器对设备的反向控制 。
通信协议: HTTP/HTTPS
数据格式: JSON
核心流程: 业务系统 -> 调用芯步API -> 芯步云 -> 设备(包间控制器) -> 执行动作(继电器通断)
三、 二次开发准备
获取凭证在芯步控制台获取
AppID和AppSecret(开发者密码),这是调用API的身份凭证 。设备ID获取包间内安装的“智能包间控制器”的设备ID(如:820720)。
线路规划确认控制器各线路连接的硬件,例如:
线路1: 照明灯
线路2: 麻将机
线路3: 空调(通过红外转发器或大功率继电器)
线路4: 门锁(电磁锁)
线路5: 语音喇叭
四、 关键接口与签名算法
所有控制请求均需携带签名(sign)进行鉴权。
1. 请求地址POST https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}
2. 签名算法(Java示例)为了防止API被恶意篡改,需要对请求进行加密签名。算法逻辑: sign = md5( md5(AppSecret) + ts )其中 ts 为Unix时间戳(秒) 。
3. 请求体结构以控制“智能包间控制器|Max”为例:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
device | String | 是 | 设备ID,多个设备用逗号分隔 |
order | JSON Object | 是 | 具体命令,根据产品型号不同而不同 |
五、 自定义联动操作实现方案
本方案的核心在于:监听业务系统的订单状态事件,转化为设备指令。
第一种场景:用户下单/扫码开门(进门联动)业务逻辑: 用户在小程序支付订单 -> 系统自动打开包间门锁 -> 自动通电 -> 语音播报欢迎词。
第二种场景:计时结束前的提醒(即将断网联动)业务逻辑: 订单剩余5分钟 -> 包间喇叭语音提醒 -> 闪烁灯光提醒。
第三种场景:订单结束/超时(清场联动)业务逻辑: 订单时间到 -> 切断除照明外的所有电器 -> 语音提醒离开现场时 -> 延迟后锁门。
六、 高级自定义场景配置
1. 传感器联动(如:人体+空调)在开放平台设置消息推送URL,当红外传感器检测到“无人”状态时,芯步云会推送数据到你的服务器。你的服务器解析数据后,自动调用接口关闭空调线路,实现节能 。
2. 批量控制与场景模式
一键迎宾模式: 调用
{"batch":{"relay":[1,4,5],"power":1}}(开启灯光、电视、新风)。一键打扫模式: 清理完成后,保洁在APP点击“已打扫”,系统调用
{"reset":{"relay":[4],"interval":5000}}(电磁门锁重置),并为下一单用户生成新密码。
七、 部署注意事项
网络稳定性: 包间控制器仅支持2.4G WiFi,请一定要确保包间WiFi信号覆盖良好,避免因网络延迟导致联动失败 。
设备离线处理: 在实际开发中,在调用API前先通过接口查询设备状态(
/device/status),若设备离线,可采取短信通知管理员或暂存指令待重试的策略。私有化部署: 如果对数据安全要求比较高(如纯内网环境),芯步支持私有化部署方案。此时API地址需要变更为本地服务器的地址,原理相同 。
调试模式: 开发阶段,在控制台开启“调试模式”,此时系统会忽略签名的校验,方便使用Postman等工具进行快速功能验证 。
八、 总结
通过对接芯步的HTTP开放接口,开发者可以将物理世界的电气控制权完全交给软件逻辑。整个二次开发过程并不涉及复杂的嵌入式底层驱动,只需要在现有业务系统中增加HTTP请求封装 与事件回调逻辑,即可实现如“人来灯亮、人走断电”等深度定制的无人化、智能化运营方案。