DC-10A 是一款支持 HTTP 接口直接控制的智能通断器,无需网关即可通过 WiFi 接入 。以下是基于芯步开放接口的完整接入方案。
解决方案:基于 HTTP 接口集成 DC-10A 远程控制开关
1. 准备工作与环境搭建
在开始编码之前,需要完成硬件配置,并获取 API 凭证。
硬件准备
设备:芯步智能通断器 DC-10A(型号:UNI-TDQ-DC-10A)。
网络:2.4GHz WiFi 网络。
供电:DC 5-24V 电源适配器。
配网与注册
使用微信或浏览器扫描设备说明书上的二维码,进入“芯步”控制台(或下载官方 App)。
按照提示将 DC-10A 接入 2.4G WiFi 网络(设备不支持 5G WiFi)。
获取 API 凭证(关键步骤):
登录 [芯步开放平台]。
进入 工作台 -> 开发设置。
记录 AppID(应用 ID) 和 AppSecret(开发者密码)。
开发:在测试阶段,可以开启 调试模式。开启后,系统暂时不校验签名(sign)和时间戳(ts),方便使用 Postman 等工具快速测试连通性 。
2. DC-10A 核心接口详解
DC-10A 的设备控制主要通过向指定的 API 端点发送 POST 请求实现。
请求地址
https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}请求方法: POST
请求头 (Header)
Content-Type: application/json核心参数解析| 参数 | 类型 | 必填 | 描述 || :--- | :--- | :--- | :--- || device | String | 是 | 设备的唯一标识符(在控制台设备列表或设备外壳标签上可找到)。 || order | JSON String | 是 | 控制指令。对于 DC-10A,主要使用
power字段。 |设备指令集 (
order参数)| 功能描述 | 指令内容 (JSON) | 说明 || :--- | :--- | :--- || 开启 |{"power": 1}| 继电器吸合,开关接通 || 关闭 |{"power": 0}| 继电器断开,开关关闭 || 点动/脉冲 |{"point": "3000"}| 先接通,3000ms 后自动断开。 || 复位/重启 |{"reset": "3000"}| 先断开,3000ms 后自动接通。 |
注:point 和 reset 的单位为毫秒(ms),支持自定义时长 。
3. 代码实现示例
以下示例展示了如何通过编程控制 DC-10A。考虑到安全性,生产环境中必须对 签名 进行计算。
签名生成规则sign = md5(AppID + AppSecret + ts)注:ts 为 Unix 时间戳(秒/毫秒均可,需与接口统一)。
Python 示例(生产环境)
cURL 命令示例(快速测试)在开启“调试模式”并使用 POST 方式调用。
4. 局域网内网控制方案(私有化)
对于对响应速度和数据安全要求比较高的场景(如工业自动化产线、家庭内网中枢),DC-10A 支持本地局域网控制。这种情况下无需经过云端 API,直接向设备的内网 IP 发包即可 。
原理:DC-10A 连接 WiFi 后会获得一个局域网 IP(如 )。同一网络下的服务器可直接调用。
操作步骤
在路由器管理后台查看 DC-10A 的 IP 地址。
直接发送 POST 请求至设备 IP。
请求地址
http://[设备IP]/controlBody:
{"power": 1}
注意:如果配置时设置了密码(Secret),需要在 URL 后携带签名。签名规则为
md5(secret)。
示例
http://192.168.1.100/control?sign=202cb962ac59075b964b07152d234b70。
5. 最佳实践与常见问题
避坑指南:
异步状态处理:API 返回
code:200仅代表云端成功收到了指令,不代表设备真的执行了动作。如果设备断网(离线),API 依然会返回 200,但设备不会动作。:需要确定执行结果时,通过开通“消息推送”服务,接收设备状态变化的回调,确保业务逻辑闭环 。时间戳有效期:在生产环境中(非调试模式),时间戳
ts通常有有效期(例如 5 分钟),防止请求被恶意重放。请确保服务器时间与标准时间同步。特殊符号处理:DC-10A 的命令相对简单(仅开/关),无需处理字符编码。但如果后续涉及播报类或复杂文本指令,需注意 GBK 编码转换。
通过以上步骤,开发者可在 10 分钟内完成从设备配网到接口调用的全流程,将 DC-10A 集成到任何支持 HTTP 协议的软件系统中(如 PHP 后台、Java 后端、Python 脚本、小程序等)。