芯步的开放接口基于HTTP协议,签名机制清晰,与企业现有系统对接门槛较低。3路钢化玻璃面板开关通常对应3个继电器输出,通过标准的power1、power2、power3命令即可实现远程控制。以下是具体的接入方案:
1. 概述与准备
1.1 背景
在智能家居、智慧办公及工业控制场景中,用户常需通过手机APP、Web后台或企业ERP系统远程控制灯光、窗帘、风机等设备。芯步的智能硬件产品提供标准HTTP API接口,支持开发者快速集成“3路钢化玻璃面板开关”的远程控制功能。
1.2 硬件与软件准备
硬件设备:芯步3路钢化玻璃面板开关(需支持WiFi/以太网直连)。
网络环境:设备需连接至2.4G WiFi网络,或处于可访问公网/私有化服务器的局域网环境。
开发账号:已在芯步开放平台注册并创建“工作台”,获取专属的 AppID 和 AppSecret。
设备ID:在物联网控制台中获取目标开关的设备编号(Device ID)。
1.3 技术原理
本方案基于HTTP协议。开发者通过调用芯步提供的API接口,向目标设备下发JSON格式的控制指令。设备接收到指令后解析并执行继电器动作,从而控制对应线路的开关状态。整个流程需要携带动态生成的MD5签名进行身份验证。
2. 接口鉴权与控制机制
2.1 核心接口地址
请求地址:https://api.thingboot.com/{AppId}/device/control/
请求方法:POST
Content-Type:application/json{AppId}:替换为在控制台获取的应用ID。
2.2 签名生成规则
为了防止接口被篡改或恶意调用,每次请求需携带 sign(签名)和 ts(时间戳)参数。具体生成算法如下:
准备参数:获取 AppSecret(密钥) 和 当前Unix时间戳
ts(秒级)。第一次MD5:计算
MD5(AppSecret),得到32位小写字符串secret_md5。拼接字符串:将
secret_md5与ts直接拼接,形成新字符串secret_md5 + ts。第二次MD5:计算
MD5(secret_md5 + ts),得到最终的签名sign。
代码示例(伪代码):
2.3 3路开关控制指令集
根据产品手册,针对3路钢化玻璃面板开关,协议中通常使用 power1、power2、power3 字段来控制对应第1、2、3路负载。
| 控制动作 | 指令格式 (order字段) | 说明 |
|---|---|---|
| 开启第1路 | {"power1": 1} | 1代表开启/吸合 |
| 关闭第1路 | {"power1": 0} | 0代表关闭/断开 |
| 开启第2路 | {"power2": 1} | - |
| 关闭第2路 | {"power2": 0} | - |
| 开启第3路 | {"power3": 1} | - |
| 关闭第3路 | {"power3": 0} | - |
| 全开/全关 | {"power1":1, "power2":1, "power3":1} | 批量发送指令 |
3. 实施步骤详解
3.1 设备配网与激活
在开发调试前,需确保钢化玻璃面板开关已连接网络。
开机:设备上电后,按键背光灯亮起。
配网模式:长按任意按键(或特定组合键)5秒,进入配网模式(通常指示灯快闪)。
连接:使用微信小程序“芯步”或通过“物联网控制台”的配网功能,输入WiFi密码,将设备加入网络。
验证:在控制台界面确认设备状态显示为“在线”。
3.2 HTTP 请求实战
以下以 curl 命令为例,展示如何远程关闭第2路开关。
假设参数:
AppId:
TEST123Device ID:
10086时间戳:
1714550400签名:
xxxxx
请求示例:
3.3 状态同步机制
为了确保UI界面的开关状态与实际灯状态一致,避免“不同步”问题,采用以下策略:
实时查询:调用
设备状态查询接口(若有)获取当前状态。状态上报接收:芯步支持消息推送。当有人触摸面板物理按键时,设备会上报状态变化至开发者预设的URL(需在控制台配置),同步监听此回调以实时更新本地数据库或界面状态。
4. 进阶应用与私有化部署
4.1 对接企业自有系统
对于使用ERP、钉钉、MES等系统的企业,可通过脚本或后端服务直连API:
场景举例:会议管理系统通过调用接口,在会议结束后自动关闭会议室所有灯光(Power1-3全关)。
实现:编写定时任务或回调钩子,调用芯步API。
4.2 局域网直连与私有化
许多企业出于数据安全考虑要求内网控制。
特性:芯步产品支持私有化部署。如果网络环境为纯局域网,设备可连接本地的MQTT Broker或自建HTTP服务器,无需经过公网。
切换方式:在设备配置页面将“工作模式”修改为“私有模式”,填入本地服务器IP。
4.3 硬件接线确认
在安装物理开关时,需确认底盒内接线正确:
L/火线:接入开关的L端。
L1/L2/L3:分别接三路负载(灯/电机)的控制线。
N/零线:钢化玻璃触摸开关通常需要零线构成回路以保证触摸稳定性及待机供电(除非明确标注为单火线版)。
5. 常见问题排查
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 返回签名错误 | 时间戳偏差过大或MD5计算顺序错误 | 检查服务器时间是否标准,对比签名算法(注意先MD5密钥,再拼接时间戳) |
| 设备离线 | 设备掉电或WiFi信号弱 | 检查供电,确保设备距离路由器不远;设备支持存储5组WiFi,会择优连接 |
| 远程控制成功但灯不亮 | 接线松动或负载功率过大 | 检查零火线是否接紧,确认负载功率在开关额定范围内 |
| 控制延迟高 | 公网网络抖动 | 若网络延迟敏感,切换至局域网私有化模式控制 |