这是一篇关于如何将芯步DC-10A直流通断器接入你自有项目的解决方案。写这篇的时候我假设你是一个开发者或者项目集成商,正在做一个“共享场所”的项目(比如共享茶室、自习室、麻将房或者共享充电桩位)。
文中会尽量避开那些晦涩的官方术语,用更直白的方式把流程捋顺。
一、 这个东西到底能干啥?
先给个结论:DC-10A 其实就是个听你后台话的“智能开关”。
在很多共享场所(比如共享茶室的饮水机、共享自习室的灯带、甚至是某台付费洗衣机),我们需要控制某个设备的通断电。普通插座没法远程控制,拉专线又太贵。
DC-10A 这个盒子干的事特别简单:
输入端:接上电(DC 5V,用手机充电器就能带起来)。
输出端:串联到你想要控制的电器火线上(最大支持10A,约2200W,够用了)。
核心功能:连上WiFi后,你的服务器给它发一个“断开”指令,它就瞬间断电;发“闭合”,它就通电。
我们今天的重点就是:你的后端代码怎么跟这个盒子“打电话”。
二、 接入前的“三步准备”
别急着写代码,先把物理环境跑通。
1. 硬件配网(这一步交给现场运维人员)这玩意儿没有网关,直连2.4G WiFi。需要用芯步提供的“批量配网小程序”给设备连上网。
经验之谈:共享场所的WiFi通常需要认证,这玩意儿只认简单的WiFi密码。单独给 IoT 设备开一个 SSID(比如
IoT_2.4G),不要有隔离,不要有 Portal 认证。
2. 注册/登录控制台去芯步的后台,把设备绑定到你的账号下。这时候你会看到设备列表,每个设备都有一个唯一的 Device ID——这个ID后面会频繁用到。
3. 拿到API密钥在后台找到你的 Access Key 和 Secret Key(不同平台叫法可能不同)。这两个东西是你的“身份证”,签到时候用,别直接写在前端代码里。
三、 核心玩法:四步搞定远程控制
DC-10A 的开放接口走的是标准的 HTTP 协议。这意味着,不管你的后端是 Java、Python 还是 Go,只要它能发 HTTP 请求,就能控制它。
这是最核心的一步。假设你现在想关闭 1 号设备的电源(电机关掉),你需要让你的服务器向芯步的云端发一条指令,云端再推给设备。
1. 确定“通信格式”
请求地址
https://api.yoyoiot.net/ordercontrol(具体路径以官方文档为准,这里只是示例)请求方法
POST请求头
Content-Type: application/json
2. 构建“控制参数”
你要发送的 JSON 数据大概长这样(依据官方文档调整):
device_id:就是刚才提到的设备ID。channel:DC-10A 是单路控制,一般是 1。statusoff代表断开(断电),on代表闭合(通电)。
3. 签名与发送(稍微绕一点的地方)
为了防止别人乱发指令,接口需要签名。简单说,你不能直接发上面的 JSON,你还得带上 timestamp(时间戳)和 sign(签名)。签名算法一般在文档里,通常是:md5(参数 + 时间戳 + SecretKey)。
代码示意(Python 伪代码,不涉及附件,只讲逻辑):
执行这段代码,如果返回 {“code”: 0, “message”: “success”},恭喜,那台设备“咔哒”一声就断电了。实测响应时间一般在 100ms 左右,体感几乎是秒断。
四、 进阶玩法:实时同步状态(解决“灯都关了,后台还不知道”的问题)
做共享项目最怕什么?状态不同步。客人扫完码,设备自动通电了,但客人强行手动拔掉插头或者按了设备上的应急开关,你的后台不知道,还以为设备