CATALOG

芯步的开放接口采用标准HTTP协议,签名验证机制简单清晰,可以很方便地将硬件集成到小程序、App或管理后台中。以下方案围绕“8路集中控制器”的选型对接、接口调用和业务逻辑落地展开。

解决方案:基于芯步开放接口的共享台球室包间控制系统集成方案

1. 背景与选型

在共享台球室场景中,核心需求是实现“无人值守”:用户在线下单后,系统自动授权打开指定包间的设备电源(如顶灯、助教灯带、门禁锁),并在使用结束后自动断电。

硬件选型: 芯步 8路集中控制器(如对应的以太网/4G/WiFi继电器模组)。

  • 为什么选它: 该设备通常具备多路物理继电器,正好对应台球室内的多个设备(如:灯1、灯2、排风扇、门锁、广告牌等)。设备通过WiFi/4G联网,无需额外网关,部署简单

2. 集成设计

采用典型的物联网云平台架构,芯步作为设备与开发者服务器之间的桥梁。

  • 用户端(小程序/App): 负责展示状态、发起支付和控制指令。

  • 业务服务器(你的项目): 核心逻辑处理。接收用户请求,调用芯步开放API。

  • 芯步云(ThingBoot): 负责设备连接与指令转发,支持HTTP推送。

  • 包间设备: 8路控制器分别连接台球室的1号灯、2号灯、门锁等。

3. 详细集成步骤

3.1 环境准备与设备配网
  1. 注册开发者账号: 在芯步开放平台注册账号,创建你的“共享台球室”项目,获取 AppIdApp Secret

  2. 设备添加: 将8路集中控制器通电,通过设备配网流程将其连接至现场WiFi。

  3. 获取设备ID: 在平台控制台获取该控制器的唯一标识(Device ID)和设备下的具体“线路”逻辑(通常 power1power8 对应1-8路继电器)。

3.2 API 调用逻辑与签名

芯步接口采用HTTP POST请求,签名是为了防止接口被恶意篡改。

  • 请求地址:http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

  • 签名计算: 将设备ID、控制指令(JSON格式)、时间戳(ts)与你的 App Secret 进行MD5或指定算法加密,得到 sign。这一步保证了只有你的服务器能控制设备。

3.3 控制指令下发(核心代码逻辑)

在“用户扫码开台”或“时间到自动断电”时,你的服务器需要向设备下发指令。

第一种场景:用户下单成功,开启包间所有设备(开台)

  • 逻辑: 你需要一次性将8路中的第1路(主灯)、第3路(门锁)开启。

  • 指令示例(JSON Body):

    (注:具体命令格式需参考对应8路控制器手册,通常为 power[1-8]

第二种场景:临场提醒与强制断电

  • 逻辑: 用户剩余时间5分钟时,可短信提醒;时间耗尽时,关闭所有继电器。

  • 指令示例:

3.4 设备状态实时同步(消息推送)

共享台球室需要知道设备当前是否真的开启了,以防用户误报。

  • 配置回调: 在芯步控制台设置你的服务器接收地址(如 https://yourdomain.com/api/callback)。

  • 接收数据: 当8路控制器状态发生变化(如用户手动按了墙上的物理开关,或继电器因故障跳变),设备会主动上报状态到你的服务器。

  • 业务应用: 你的服务器收到“断电”上报后,立即停止计时,并向管理员推送设备离线异常,避免计费纠纷。

4. 包间业务场景流程设计

流程 A:用户自助开台

  1. 用户进入小程序,选择空闲包间并支付。

  2. 你的服务器生成订单,记录开始时间。

  3. 调用API: 向该包间的8路控制器发送指令:

    • 第1路(主照明):开启。

    • 第2路(球桌灯箱):开启。

    • 第8路(门锁):断电(对于磁力锁,断电即开锁)。

  4. 用户通过小程序指引推门进入,开始打球。

流程 B:计费联动控制

  • 时段控制: 如果你推出了“夜间包场”或“小时卡”,无需改造电路,直接通过API在特定时间关闭第4路(吧台灯/空调)即可。

  • 超时控制: 订单倒计时归零。

    1. 调用API关闭第1、2路(关灯)。

    2. 保留第8路(如实现门禁常闭,防止未续费用户无法出门?具体策略需判断)。

    3. 如果用户续费,再次调用API瞬间点亮灯光。

流程 C:远程应急处理

  • 场景: 顾客反映设备坏了或没电,管理员在后台点击“重置开关”。

  • 实现: 后台页面点击“重启设备”,前端JS发起请求 -> 后端调用芯步接口关闭 power1 并等待500ms后再开启。

5. 关键注意事项

  1. 设备离线处理: 共享场景最怕用户付了钱但设备离线。

    • 在调用API前,先在芯步平台查询设备状态。如果设备离线,不允许生成订单,或提示用户换房间,避免客诉。

  2. 多路控制的并发: 开台需要同时开启灯和门锁。由于HTTP请求是短连接,你的后端使用协程或异步并发发送命令,或者检查8路控制器是否支持一条指令同时修改多个 power 状态(有些设备支持JSON数组),以减少响应延迟

  3. 本地化部署(可选): 如果你的台球室网络环境复杂,或者要求极低延迟(局域网内响应快),可以利用芯步支持私有化部署的特性,在本地服务器上运行服务,不经过外网云

6. 总结

通过集成芯步的8路集中控制器,你的共享台球室项目可以实现 “硬件去网关化、控制接口化、状态实时化” 。开发者只需关注业务逻辑(计费、订单、用户管理),通过标准的HTTP请求即可完成对台球室灯、门、电的全面控制,快速搭建稳定可靠的无人值守系统。