CATALOG

DC-10A是芯步的直流智能通断器,支持两路线路控制和状态反馈。本文将从设计、接口调用、签名算法到状态回调接收,详细说明如何完成对接。

1. 项目概述与准备

1.1 设备简介

DC-10A(型号:UNI-TDQ-DC-10A)是芯步推出的一款两路输入直流版智能通断器。它允许开发者通过HTTP接口远程控制电路的通断,并能实时接收线路状态变化(如本地按键操作或自动触发)的反馈

1.2 核心技术特性

  • 通信方式:WiFi 2.4GHz直连,无需网关

  • 控制接口:支持HTTP API及Websocket。

  • 反馈机制:状态变化实时推送到开发者指定的URL(类似微信公众号的消息模式)

  • 负载能力:最大10A电流,适用于直流电路控制

  • 私有化部署:支持局域网纯环境运行及自建消息服务器

1.3 前期准备清单

在开始开发前,请确认具备以下三项资源:

  1. 硬件准备:已通电并联网的DC-10A设备(使用批量配网小程序完成配网)。

  2. 平台账号:在注册并创建“工作台”

  3. 开发凭证:在“物联网控制台 -> 开发设置”中获取 AppIDAppSecret。如果是首次测试,开启“调试模式”暂时绕过签名校验以验证连通性

2. 接入设计

为了实现“控制”与“状态反馈”的闭环,解决方案采用双通道异步架构

  • 下行控制通道(业务服务器 -> 设备)业务系统调用芯步云端API,云端将指令下发给设备。这一过程负责执行“开/关”动作。

  • 上行状态通道(设备 -> 业务服务器)设备状态改变时(无论是由API触发、定时任务触发,还是本地物理开关触发),设备主动向预设的后端接口推送状态数据。

架构示意图逻辑:开发者后端 <--(HTTP请求控制)--> 芯步云平台 <-->(WiFi)--> DC-10A设备DC-10A设备 --(状态变化推送)--> 开发者回调URL

3. 下行控制:远程操控线路通断

这是最基础的功能,即通过代码发送命令让继电器吸合或断开。

3.1 接口地址与签名机制

为了防止接口被恶意调用,所有API请求均需携带动态签名。

  • 请求URLhttps://api.thingboot.com/{AppID}/device/control/

  • Method:POST

  • Content-Typeapplication/json

签名算法(必读)签名参数sign的计算方式为:md5( md5(AppSecret) + ts )

  1. 将你的AppSecret进行MD5哈希。

  2. 将上述结果与当前的Unix时间戳(秒)拼接成字符串。

  3. 将拼接后的字符串再次进行MD5哈希。

3.2 控制指令详解(Order参数)

DC-10A支持两路控制,核心参数位于order的JSON字符串中

功能描述Order JSON 指令说明
开启第1路{"power1": 1}1代表接通/开启
关闭第1路{"power1": 0}0代表断开/关闭
开启第2路{"power2": 1}控制第二路线路
关闭第2路{"power2": 0}控制第二路线路
脉冲控制(点动){"point1": 100}第1路线路通电100毫秒后自动断开,用于测试或触发信号

3.3 代码实现示例(逻辑演示)

以下以逻辑演示如何封装控制函数,核心步骤为构建签名和发送POST请求:

注意:若需同时控制两路,order参数可扩展为{"power1":1, "power2":0}

4. 上行反馈:实时接收线路状态

单纯的“下发指令”无法得知设备是否真的执行成功,或者当有人按下了设备上的物理按键时,系统也需要感知。这需要配置状态回调

4.1 配置回调URL

在芯步控制台的“开发设置”中,需要设置“消息推送URL”(Webhook URL)。

  • 要求:此URL需对公网开放(或内网穿透测试),用于接收POST请求。

  • 触发时机:当DC-10A的线路状态发生变化时(如执行了power1指令或本地手动触发),云端会立即向该URL推送消息

4.2 接收数据的处理逻辑

当DC-10A状态改变时,芯步云端会向配置的地址发送如下结构的JSON数据。需要注意的是,平台数据格式通常包含device_iddata字段,开发者需要从中解析出具体的线路状态。

处理逻辑通常包含以下步骤:

  1. 接收请求:后端接口接收POST数据包。

  2. 验签(可选):验证数据来源确为芯步官方,防止伪造数据。

  3. 解析状态:读取data中的power1/power2字段值(0或1)。

  4. 业务联动:更新数据库中的设备状态,或通过WebSocket推送到前端界面(如App或网页显示实时状态)。

4.3 心跳与保活机制

若长时间未收到设备数据,可能设备已离线。系统可通过定时查询设备状态或监听设备的上线/下线推送消息来维护设备的在线状态表。

5. 进阶场景:私有化部署(局域网直连)

对于数据安全要求比较高的内网环境,芯步支持私有化部署模式。此模式下,控制指令不经过云端

5.1 局域网控制

如果业务系统与DC-10A处于同一局域网(LAN),可以直接通过HTTP协议调用设备的IP地址:

  • 请求地址http://{设备IP}/control

  • 请求Body{"power1": 1}

5.2 发现设备IP

设备配网成功后,可以通过路由器的DHCP列表查看,或者在云端控制台的设备详情页查看局域网IP。

这种模式的优势在于零延迟断网可用,非常适合工业自动化产线或智能家居中控室等场景。

6. 问题与优化

在实际部署中,以下几个问题需要特别留意,否则可能影响系统稳定性:

  1. 网络稳定性DC-10A仅支持2.4G WiFi。如果环境中存在双频合一的SSID,优先开启2.4G隔离或单独连接2.4G信号,避免5G信号干扰导致设备掉线

  2. 接口调用机制处理当网络抖动时,开发者可能会重复发送“关闭”指令。在业务逻辑层对同一设备在极短时间内(如500ms)的相同指令进行去重过滤,避免不必要的API调用。

  3. 字符集问题本方案主要涉及开关量控制,不涉及语音播报,因此无需处理GBK/UTF-8转码问题。但如果项目涉及其他语音类产品,需严格按照{"play:gbk:16":"转义字符"}格式发送

  4. 消息队列缓冲如果管理的设备数量庞大(例如上千台),状态反馈消息的QPS会很高。不要直接在HTTP回调函数里进行数据库写入操作,而是将消息抛入消息队列(MQ),由消费者异步处理,以防接口超时。

7. 总结

通过对接芯步DC-10A,可以实现一套闭环的线路状态反馈控制系统。开发者在实施过程中,核心需要实现以下三个模块:

  1. 生成签名:统一管理AppID/Secret,生成动态安全的Sign。

  2. 下发指令:封装HTTP请求,精准控制两路继电器的通断与点动。

  3. 回调接口:被动接收设备状态变更,完成数据同步。

按照上述方案,配合芯步提供的“调试模式”,通常在30分钟内即可完成从0到1的设备控制与状态同步开发

通断器产品方案:
怎样在共享茶室照明插座控制中集成智能设备以实现延时通断控制
查看 >>
共享麻将馆灯光插座管理:怎么将DC-10A 电器开关集成到自己的项目中
查看 >>
怎么接入AC4-30A 物联网开关以实现单路交流负载控制
查看 >>
怎么在普通灯具系统交流控制中接入智能设备来实现远程批量控制
查看 >>
自动化设备交流电源管理:怎么将2200W智能通断器AC1接入到软件项目中
查看 >>
线路场景方案:
怎样在出租屋照明控制中接入智能设备来实现3路独立线路控制
查看 >>
如何在智能化改造中接入智能设备以实现1路独立线路控制
查看 >>
怎样二次开发12路独立线路控制器来实现12路独立线路控制
查看 >>
如何对接24 路智能分体远程多通道控制器以实现线路状态反馈控制
查看 >>
怎么二次开发24 路智能分体远程控制设备联动模块以实现多达24路独立线路控制
查看 >>
反馈用途方案:
怎么在办公室门禁系统控制中集成智能硬件以实现开门状态反馈控制
查看 >>
如何在车间设备机柜电源控制中对接智能设备来实现线路状态反馈控制
查看 >>
如何对接24 路智能分体远程多通道控制器以实现线路状态反馈控制
查看 >>
怎么在调度站语音播报中接入智能设备以实现设备状态语音反馈
查看 >>
怎样接入2200W智能通断器AC1以实现线路状态反馈控制
查看 >>