CATALOG

这是一篇结合芯步12路智能分路照明控制器的开发实战方案。我将从硬件选型、接口协议、核心代码逻辑到业务场景,用尽量口语化且详细的方式为你梳理清楚。

一、 痛点与解决概述

在共享台球厅的运营中,最大的痛点就是“效率”和“能耗”。用户经常遇到这种情况:扫码付款了,灯没亮;或者时间到了还在蹭灯;甚至哪个球桌的灯忘了关,一晚上电费就白搭了。

要解决这个问题,核心就是利用芯步的12路智能分路照明控制器。简单说,这个小盒子装在配电箱里,能分别控制12个台球桌的顶灯。你的小程序通过互联网给它发指令:“把第3路打开”,它就“咔哒”一声,第3号桌的灯就亮了。

这篇方案将重点解决“怎么连、怎么控、怎么稳”三个问题。

二、 硬件选型与准备

主角:UNI-KZQ-ZM-12-10A/16A 智能照明控制器

在选择硬件时,注意一下几点:

  1. 路数匹配:题目提到的12路非常契合台球厅。1张桌子占用1路,刚好对应12张桌。如果你有24张桌,买两台串联就行

  2. 负载能力:台球厅常用的LED灯包通常功率不大,10A版本(阻性负载2200W)完全足够一路带多盏灯。如果是老式的金卤灯,选16A版本

  3. 通讯方式:这款设备直连WiFi 2.4G,不需要另外买网关,插电即用

三、 对接核心:HTTP API接口详解

芯步的设备接口非常“友好”,它走的HTTP协议。这意味着不管你后端是Java、PHP、Python,还是前端小程序,只要支持发HTTP请求,就能对接。

1. 接口地址与鉴权(签名计算)

要发命令,得先证明“你是你”。它的鉴权逻辑比较严谨,但很简单:

  • AppID:你的应用标识。

  • AppSecret:你的密钥,别泄露在前端代码里。

  • Sign(签名):这是一个动态密码,用来防止别人伪造请求。

签名的生成规则(关键):官方给出的逻辑是:Sign = md5( md5(AppSecret) + ts )用大白话翻译就是:

  1. 先把你的密钥(AppSecret)进行一次MD5加密,得到一串字符串A。

  2. 获取当前的时间戳(比如 1701408000),拼接到字符串A的后面,得到字符串B。

  3. 再把字符串B进行一次MD5加密,出来的就是Sign

2. 核心命令结构

请求地址是:https://api.thingboot.com/{你的AppID}/device/control/?sign={计算好的Sign}&ts={当前时间戳}

请求Body(JSON格式):

这里 power1 代表第1路,1 代表开,0 代表关

如果你想一次性控制多个灯,比如“一键开灯”,用 batch 命令会更方便。

四、 实战代码示例(Python/Node.js 伪代码)

为了让后端同学看着亲切,这里以 power1 为例。

场景:用户扫码支付成功 -> 打开1号桌的灯

第一步:后端生成签名与请求

补充场景:用户时间到了,关灯这时候只需要把上面 order 里的 {"power1": 1} 改成 {"power1": 0} 即可。

进阶:批量操作(一键全开/全关)

如果店家打烊了,想关掉所有灯,不可能循环调12次接口。

使用 Batch 命令