芯步的智能墙壁触摸开关3路(UNI-KG-CM-3)基于WiFi直连、开放HTTP API,无需网关即可独立运行。以下方案涵盖设备选型、开发配置、接口调用及实战封装,帮助快速将其接入现有项目。
1. 解决概述
产品核心:芯步 智能墙壁触摸开关3路 (型号:UNI-KG-CM-3)。核心优势
无需网关:设备直连WiFi 2.4G,降低硬件成本和故障点 。
接口友好:提供标准HTTP API接口,支持任何主流后端语言(Java, Python, PHP, Node.js)及前端(小程序, Uniapp)调用 。
响应迅速:实测命令下发到设备响应约80-120ms(局域网环境更快)。
私有化部署:支持纯局域网控制,数据不外流,满足数据安全需求 。
2. 核心工作原理
设备配网:设备通电后,通过“物联网控制台”或AP配网模式将WiFi密码写入设备 。
指令下发:您的业务服务器(或小程序前端)生成签名,向芯步开放平台(或您的私有化服务器)发起HTTP请求。
设备执行:云端将指令推送给设备,设备控制继电器闭合/断开,实现灯具开关。
3. 接入前的准备与配置
在编写代码前,需要进行基础配置:
步骤一:获取开发者凭证
登录芯步官网,进入工作台。
在“开发设置”中获取 AppID 和 AppSecret。这两个字符串相当于您项目的“用户名”和“密码” 。
步骤二:获取设备ID
将智能开关通电并联网。
在控制台的设备列表中,查看并记录 Device ID(设备唯一ID) 。
4. 技术对接核心:API签名与请求
芯步的API安全性较高,使用了双层MD5加密进行签名认证。这是接入时唯一需要注意的技术细节。
4.1 签名算法
计算公式Sign = md5( md5(AppSecret) + ts )
AppSecret:您的开发者密钥。ts:Unix时间戳(秒级),例如1680000000。+:字符串拼接。
例子假设 AppSecret = "123456",ts = "1680000000"
md5(123456) = e10adc3949ba59abbe56e057f20f883e拼接:
e10adc3949ba59abbe56e057f20f883e1680000000再MD5:
md5(上面的字符串) = baf8e1231f9e876...-> 这就是Sign。
4.2 接口调试:控制第一路灯
我们使用最常见的 POST 请求方法,通过JSON格式下发命令。
请求地址
https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}请求头
Content-Type: application/json请求体
命令说明:power1代表第一路继电器;1代表开启,0代表关闭 。
4.3 代码封装示例
为了让您更好地集成,这里提供一个通用的函数封装伪代码(核心逻辑):
注:上述代码仅为演示签名逻辑,实际开发中请结合公司后端框架(如Spring Boot、ThinkPHP等)实现。
5. 进阶场景:装修行业项目实战应用
有了基础的API接口,您可以像搭积木一样将其嵌入到您的项目中。以下是两个高频实战场景:
第一种场景:装修公司的“智能照明全案”
需求:为高档别墅或办公室设计照明方案,要求本地手工触摸 + APP远程 + 定时/场景模式。实施
布线:将传统单控线改为零火线布线,安装3路智能开关控制客餐厅不同灯带。
预设场景:利用API接口在您的项目中创建“会客模式”按钮。
代码逻辑:点击“会客模式”,后端依次调用
control_device(deviceId, "power1", 1)(主灯开)、control_device(deviceId, "power2", 0)(氛围灯关)。
语音对接:将API接口挂载到智能音箱的云开发平台,实现“小爱同学/天猫精灵,打开客厅射灯”。
第二种场景:自习室/办公室的“扫码用电”
需求:共享办公室或自习室,用户扫码付费后,该座位的电源和灯光自动打开,计时结束自动关闭。实施
设备选型:使用3路开关,分别控制该工位的“主照明”、“插座电源”、“显示器电源”。
业务对接
用户支付成功后,您的订单系统生成Token。
开电:调用
{"power1":1, "power2":1, "power3":1}。倒计时:您的服务器端设定时长(如4小时),利用Redis或定时任务。
断电:计时归零,调用
{"power1":0, "power2":0, "power3":0},并通知用户时间到。
6. 本地局域网与私有化部署
如果您的项目对稳定性或数据隐私要求比较高(如医院手术室照明、实验室),可以考虑私有化部署:
原理:芯步设备支持自定义服务器地址。
配置:设备配网时,将服务器地址指向您自己的内网服务器IP(如192.168.1.200),而不是云端API地址。
效果:即便外网断开,您依然可以通过内网接口控制照明设备 。
7. 疑难排查
在测试过程中,如果接口返回了错误码,请参考以下对照表:
| 返回码 | 含义 | 解决方案 |
|---|---|---|
| 200 | 指令已接收 | 这只是代表云端收到了,如果设备没反应,请检查设备网络信号。 |
| 501 | 未指定设备ID | 请求参数中忘了带 device 字段。 |
| 502 | 设备不存在 | 设备ID填错了,或者设备已被解绑/删除。 |
| 504 | 部分设备不可用 | 你一次性控制了多台设备,其中有一台离线或不存在。 |
| 超时 | 网络不通 | 检查服务器时间是否标准(误差不可太大,影响签名),或服务器IP是否被防火墙拦截。 |