CATALOG

DC-10A远程电源控制器支持通过HTTP接口进行远程参数配置和管理,核心流程包括获取凭证、生成动态签名、下发控制指令,同时可配置消息推送实现状态实时同步。以下方案详细说明各环节的技术实现。

1. 产品理解与准备

在开始编码之前,首先需要确保硬件在线并获取平台凭证。DC-10A 是一款直连 WiFi 的智能通断器,无需网关,这简化了网络拓扑

1.1 硬件上电与配网

  • 供电:DC-10A 需要 DC 5V 供电(如 USB 供电),输出端控制直流电路,不可直接接入 220V 交流电

  • 配网:使用微信小程序“批量配网”或“芯步”相关小程序,为设备配置 WiFi 密码。设备仅支持 2.4G WiFi

    • 提示:设备支持配置 5 组备用 WiFi,增强稳定性。

1.2 获取 API 凭证在开始对接前,需要准备以下关键信息(登录获取):

参数名说明作用
AppID开发者 ID(数字或字符串)唯一标识开发者身份,用于构造 URL 路径
AppSecret开发者密码用于生成签名 sign,验证请求合法性
Device ID设备唯一 ID目标设备的标识符(可在控制台设备详情页查看)

2. 核心技术:签名计算

为了防止接口被恶意篡改,DC-10A 的开放接口采用了动态签名验证。所有的配置变更请求都必须携带正确的签名。

签名生成逻辑如下:

  1. AppSecret 进行一次 MD5 加密,得到 Secret_MD5

  2. 获取当前的 Unix 时间戳(秒),记为 ts

  3. 拼接字符串:SignStr = Secret_MD5 + ts

  4. SignStr 再次进行 MD5 加密,得到最终的 sign

公式sign = MD5( MD5(AppSecret) + ts )

代码示例(Python)

调试模式:在开发测试阶段,可以在控制台的“开发设置”中开启“调试模式”。开启后,系统将不检查signts,方便快速验证接口连通性

3. 下发配置与命令

芯步的接口设计遵循 RESTful 风格,通过向特定 URL 发送 POST 请求来实现远程控制。

接口信息

  • 请求地址https://api.thingboot.com/{AppID}/device/control/

  • 请求方式:POST

  • Content-Typeapplication/json

  • URL 参数?sign={sign}&ts={ts}

请求 Body 结构

注:device 字段支持批量控制,多个 ID 用逗号分隔,如 “id1,id2”

3.1 基础通断控制

如果要实现远程“开”或“关”:

命令对象参数值功能描述
power1接通电路(开启)
power0断开电路(关闭)

JSON 示例

3.2 高级定时配置

DC-10A 支持“先通后断”和“先断后通”模式,适合控制自动门锁、电机等

  • 先通后断(Point):先执行接通动作,保持指定毫秒后自动断开。

    • 场景:按下开门按钮,门锁通电3秒后自动断电。

    • 指令{“point”: 3000}

  • 先断后通(Reset):先执行断开动作,保持指定毫秒后自动接通。

    • 场景:重启路由器。

    • 指令{“reset”: 10000}

3.3 集成调用示例(cURL)

以下是一个完整的 Shell 脚本示例,展示如何通过命令行远程配置设备

4. 状态同步与消息推送

仅能下发命令是不够的,系统需要知道设备是否真的执行了命令,或者现场是否有人按了物理开关。DC-10A 支持状态反向推送机制,类似于微信公众号的被动回复

1. 配置回调 URL在芯步控制台的“开发设置”中,配置 消息推送 URL(例如:https://yourdomain.com/api/device/callback)。

2. 接收与响应当设备状态发生变化(如:远程控制、物理按键触发、定时任务执行)时,平台会向该 URL 发送 POST 请求。你需要解析接收到的 JSON 数据:

3. 解决方案

  • 调用机制处理:由于网络可能重试,服务端收到回调后,应先对比数据库中的设备状态,若相同则忽略,避免重复触发业务逻辑。

  • 超时设置:回调响应需在 5秒内 返回 HTTP 200 OK,否则平台会重试。

5. 解决方案架构总结

一个完整的远程参数配置管理方案,其逻辑架构图如下:

sequenceDiagram
    participant Admin as 管理员/业务系统
    participant API as 芯步开放API
    participant Device as DC-10A设备
    participant Callback as 用户回调服务

    Note over Admin,Callback: 第一阶段:主动配置与下发
    Admin->>API: 1. 发起请求 (携带签名Sign + 指令Order)
    API->>API: 2. 验证签名 & 设备状态
    API->>Device: 3. 下发指令 (MQTT/HTTP Long Poll)
    Device-->>Device: 4. 执行动作 (继电器吸合)
    Device-->>API: 5. 上报执行结果

    Note over Admin,Callback: 第二阶段:状态同步
    API->>Callback: 6. 推送状态变更 (设备当前参数)
    Callback-->>API: 7. 确认接收 (HTTP 200)
    Callback->>Admin: 8. 更新前端界面或数据库记录

6. 常见问题

  • 网络延迟:家用宽带环境下,命令响应平均为 80-120ms。如果是工业苛刻环境,采用局域网私有化部署方案,因为 DC-10A 支持纯局域网环境通信

  • 签名校验失败

    • 检查服务器时间是否准确,ts 误差过大会被拒绝。

    • 确认 MD5 结果是 32位小写 十六进制字符串。

  • 设备离线:DC-10A 仅支持 2.4G WiFi。如果 5G 和 2.4G 混合网络,可能会出现连接不稳定,在路由器中单独开启 2.4G SSID 或确保设备连接至 2.4G 频段。