DC-10A是一款支持HTTP接口的智能通断器,无需网关即可直连WiFi,非常适合集成到各类项目中。下面从接入准备、接口调用、状态监听和场景示例几个方面,梳理完整的对接方案。
一、 准备工作与核心概念
在开始编码之前,需要完成两件事:获取密钥和给设备联网。
1. 获取开发者凭证登录芯步控制台,在“开发设置”页面获取以下两个关键信息:
AppID (开发者ID): 用于标识您/开发者的唯一身份,通常会在请求 URL 中直接体现 。
AppSecret (开发者密码): 用于生成签名(Sign),请请一定要妥善保管,不直接在前端代码中暴露 。
2. 设备配网DC-10A 无需网关,直接连接 2.4G WiFi。
使用官方提供的“批量配网小程序”,按照引导将设备加入本地无线网络。
确保设备在控制台的状态显示为“在线”。此时,记录下 Device ID (设备ID),这是控制具体对象的唯一标识 。
二、 核心技术:签名计算与接口调用
芯步的开放接口通过 Sign (签名) 来验证请求的合法性,理论上您可以采用任何支持 HTTP 协议的编程语言进行对接 。
1. 签名算法 (Sign)该平台使用双重 MD5 加密方式,防止请求被篡改:
Sign = md5( md5(AppSecret) + ts )
第一步: 将您的
AppSecret进行 MD5 加密,得到一个 32 位字符串。第二步: 将上一步得到的字符串与
ts(当前 Unix 时间戳,单位:秒) 进行拼接。第三步: 对拼接后的新字符串再次进行 MD5 加密,结果即为 Sign 。
2. 下发控制命令 (HTTP POST)以控制 DC-10A 的线路打开为例,接口地址与参数如下:
URL:
https://api.thingboot.com/{AppID}/device/control/?sign={Sign}&ts={Timestamp}Method: POST
Header:
Content-Type: application/jsonBody (JSON)
*注:DC-10A 支持多路控制,power1 代表第一路,power2 代表第二路*。
3. 代码示例(伪代码/Python思路)
三、 进阶功能:实时状态同步
仅能下发命令是不够的,项目通常需要获取设备当前是开还是关。DC-10A 支持状态实时上报。
消息推送机制: 当设备状态发生变化时(物理按键按下、网络指令控制、外接开关触发),平台会主动向您配置的 URL 推送状态变更数据 。
对接方式: 在控制台的“开发设置”中配置
消息推送URL。该 URL 需要是一个公网可访问的 HTTP/HTTPS 接口。数据格式: 平台会向该 URL 发送 JSON 数据,包含了设备 ID 和最新的
power状态。您的后端服务需要接收该 POST 请求,并更新数据库中的设备状态。
四、 照明场景方案应用示例
假设您正在开发一套智能办公室管理系统,可以这样利用 DC-10A 来落地:
1. 人体感应联动(服务端逻辑)
硬件: 另购一个传感器(如人体红外传感器)。
逻辑: 传感器检测到“无人”状态 -> 服务器接收传感器上报 -> 服务器调用 DC-10A 的控制接口。
命令: 发送
{“power1”: 0}给对应的 DC-10A,实现人走灯灭。
2. 定时任务与节能策略
需求: 每天晚上 11 点后自动关闭楼道的装饰照明。
实现: 在您的项目中写一个定时任务(Cron Job)。
执行: 到点触发调用 HTTP 接口,携带
{“power”: 0}指令。
3. 防止干扰(调试模式)
在开发测试阶段,您可以在控制台开启“调试模式”。在此模式下,系统 不校验 Sign 和 IP 白名单,允许您直接使用 Postman 等工具快速测试指令格式,待业务逻辑跑通后再封装正式的签名算法 。
五、 总结
将 DC-10A 接入项目的核心工作量集中在 封装签名算法 上。一旦完成了签名请求的模块开发,后续的控制指令仅仅是改变 order 字段中的 JSON 值而已。其开放接口的设计显著降低了智能硬件的接入门槛。