CATALOG

芯步的智能开关产品提供开放的HTTP API接口,可以通过简单的API调用将硬件无缝对接到你的项目中。下面从硬件选型、API对接、到业务场景,完整梳理一遍技术方案。

解决方案:基于芯步开放接口的小型商铺照明智能化管理

1. 项目需求分析与设备选型

对于小型商铺(如便利店、咖啡馆、服装店)的照明管理,痛点通常是:营业时间外忘记关灯导致浪费早晚摸黑开门不方便、以及想利用现有软件统一控制但缺乏硬件接口

针对“2路墙壁开关”的需求,最匹配的硬件是芯步的 智能触摸墙壁开关(2路版)。该设备可直接替换传统的86型墙壁开关,无需重新布线,且支持零火线供电。

核心参数:

  • 控制路数: 2路(独立控制两盏灯或两组灯带)。

  • 负载能力: 单路阻性负载通常可达 10A-16A,完全满足商铺照明需求。

  • 核心优势:

    • 开放接口: 提供标准 HTTP API,不依赖其官方 App 即可控制。

    • 状态反馈: 支持查询当前开关状态,解决“灯到底关了没”的焦虑。

    • 本地局域网控制: 即使外网断开,只要手机和设备在同一路由器下,也能控制,保证商业稳定性

2. 技术对接设计

为了将硬件融入“自己的项目”,可以采用 云云对接局域网直连 的架构。考虑到商业环境稳定性,采用混合模式:

  • SaaS/后端:你的业务服务器(负责处理店铺逻辑、权限和记录)。

  • 芯步云:设备接入层(负责处理硬件连接、消息转发)。

  • 接口协议:HTTPS + JSON(无需关心底层网络穿透)。

数据流示意:用户点击店铺管理后台 -> 你的服务器生成签名 -> 调用芯步API -> 芯步云推送给墙壁开关 -> 灯具执行动作 -> 设备返回成功指令 -> API返回“success”。

3. 核心对接步骤详解

这是技术实施的关键部分,整个过程可以概括为“注册-获取凭证-发送命令”。

3.1 准备工作:获取密钥与设备ID

首先,需要在芯步开发者平台完成以下配置

  1. 注册开发者账号:登录芯步官网,进入“工作台”。

  2. 添加设备:将购买的两路墙壁开关通过“一键配网”或“AP配网”连接到 Wi-Fi(仅支持 2.4GHz)。

  3. 获取凭证

    • AppID (开发者ID):标识你的应用。

    • AppSecret (开发者密码):用于加密签名,保障安全。

    • Device ID (设备ID):墙上贴的二维码或控制台显示的设备编号,用于指定控制哪一台开关。

3.2 接口调试:核心控制代码

芯步的接口设计非常简洁,仅需一个 POST 请求即可控制设备。

请求地址:https://api.thingboot.com/{AppID}/device/control/?sign={签名}&ts={时间戳}

签名算法 (Sign):为了防止接口被恶意篡改,需要进行 MD5 加密:YourSign = md5( md5(AppSecret) + ts )

实战:控制第一路照明开启假设你想让第一路灯亮,可以用以下结构调用:

  • Method:POST

  • Body 参数

    • device:填入你的设备ID(例如:1857605)

    • order:填入 {"power1":1} (1为开,0为关)

示意图:代码逻辑解析

分配控制变量:定义 AppIDAppSecret,以及目标 DeviceID生成动态签名:获取当前时间戳 ts,将 AppSecret 进行 MD5 加密后拼接 ts,再次进行 MD5 加密。构造请求体:构建 JSON 格式参数,order 字段填入针对该设备的控制指令。发起请求:将计算好的签名和时间戳拼接在 URL 后,向芯步服务器发送 POST 请求。

3.3 进阶指令:两路独立与延时控制

针对“小型商铺”的特殊场景(如打烊时的“寻路模式”),可以利用接口的高级指令:

  • 独立控制两路:

    • 控制左边射灯:{"power1":1}

    • 控制右边灯带:{"power2":0}

  • 场景联动(一键打烊):

    • 商铺关门时,无需逐个点击,直接发送:{"power1":0, "power2":0},瞬间全关。

  • 短暂点亮(人体感应联动):

    • 若有储物间,可以发送先通后断指令:{"point1":"30000"} (30秒后自动关闭),防止忘记关灯

4. 如何在你的软件项目中集成?

你不需要从零开发硬件驱动,只需要在你的后端代码中封装一个 “控制类”

集成步骤:

  1. 封装通用函数在你的 PHP、Java、Python 或 Node.js 项目中,写一个函数 controlDevice(deviceId, cmd, value)

    • 函数内部自动处理上述的 sign 生成逻辑。

    • order 作为灵活参数传入。

  2. 嵌入业务逻辑

    • 定时任务:在你的服务器上设置一个 Cron(定时任务),每天 23:00 自动调用接口发送 {"power1":0, "power2":0},实现自动关灯。

    • 传感器联动:如果你的项目接入了温湿度或人体传感器,可以设定“5分钟无人移动 -> 发送关灯指令”。

  3. 获取实时状态为了保证软件界面的开关状态是准确的,除了发送指令后解析返回值,还可以调用:

    • 状态查询接口/device/status/ 获取当前真实的通断情况,解决用户手动按了物理开关导致“软硬件状态不同步”的问题

5. 实施注意事项

  • Wi-Fi 信号强度:墙壁开关安装在底盒内,金属面板可能会屏蔽信号。在安装前用手机检测该位置 Wi-Fi 信号强度(不低于 -70dBm)

  • 关于演示与测试:如果硬件还没到货,芯步平台提供了 “演示设备” 功能。可以先在控制台添加一个虚拟的开关,直接调试 API 接口,等代码写好了,硬件到了直接换设备ID即可上线

  • 数据安全:签名的 Key 不要硬编码在前端代码(如小程序、App 前端),请一定要由后端服务器发出请求,防止 AppSecret 泄露导致设备被恶意控制

总结

通过芯步的开放接口,你可以像调用“第三方天气接口”一样简单地控制物理电灯。整个方案的核心在于 “利用 HTTP API 替代手动操作” 。只需处理好 MD5 签名,2路智能开关就能无缝融入你的店铺管理系统,实现自动化、远程化的照明管理。