一、准备工作:先认识一下DC-10A
DC-10A是芯步推出的一款智能通断器,别看它名字挺专业,其实理解起来很简单——就是个可以用网络控制的“开关”。
这玩意儿有几个特点值得注意:
走WiFi的:用2.4G WiFi联网,不需要买网关,直接连路由器就行
接口开放:支持HTTP接口调用,意味着你写的任何程序——不管是网页、手机App、还是后台脚本——都能控制它
支持私有化:如果你不想走公网,也可以部署在纯局域网环境
下面我们就一步步来,把它接入你的系统。
二、第一步:把设备配上网
拿到DC-10A后,首先得让它连上WiFi。具体操作一般是:
给设备通电
用芯步的App(或者小程序)扫描设备上的二维码
按照提示输入WiFi密码
配网成功后,你需要在芯步的控制台里找到这台设备。记下它的设备ID——这串数字后面调用接口时会一直用到。
三、第二步:拿到你的API钥匙
调用接口之前,你需要准备三样东西:
| 参数 | 说明 | 在哪找 |
|---|---|---|
| AppID | 你的应用ID | 控制台 → 开发设置 |
| AppSecret | 你的应用密钥 | 控制台 → 开发设置(别泄露) |
| Device ID | DC-10A的设备ID | 控制台的设备列表里,或者设备外壳上 |
这三个参数中,AppSecret尤其重要,因为它用来生成签名——相当于你的“身份凭证”。
四、第三步:签名是怎么算的?
芯步的接口要求每次请求都带签名,防止被别人乱调用。签名算法是这样的
第一步:把 AppSecret 做一次 MD5,得到 secret_md5 第二步:把 secret_md5 和当前时间戳 ts 拼在一起 第三步:把拼接后的字符串再做一次 MD5,得到最终的 sign
翻译成人话就是:
sign = MD5( MD5(AppSecret) + ts )
其中 ts 是秒级的时间戳,比如 1734567890。
注意:时间戳前后不能差太多,不然签名会失效。
五、第四步:发送控制命令(核心)
一切准备就绪后,就可以发命令控制DC-10A了。
请求地址
POST https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}花括号里的内容替换成你实际的值。
请求体(JSON格式)
这里的 {"power": 1} 意思是“接通电源”,{"power": 0} 就是“断开电源”。
完整示例(用Python)
如果返回 {"code": 200},恭喜你,设备应该已经动作了。
六、进阶:不只是开关这么简单
DC-10A虽然主要是通断控制,但芯步的接口体系其实支持更丰富的操作。如果你用的是多路控制器(比如4路或8路版本),还可以这样玩
单独控制某一路
批量控制多路
定时通断(先通后断)
这些高级功能在需要临时供电、或者做自动化测试时特别有用。
七、常见坑点提醒
根据我的经验,新手容易在这几个地方翻车:
签名算不对:最常见的问题。先用官方提供的签名工具验证一下逻辑是否正确。
时间戳单位:芯步用的是秒级时间戳,不是毫秒。别拿JS的
Date.now()直接用。HTTP和HTTPS:接口同时支持,但生产环境用HTTPS。
返回200不代表设备真的执行了
code:200只表示平台收到了命令并成功下发,但如果设备当时离线,实际上不会生效。需要可靠反馈的话,配置消息推送来接收设备的执行结果。命令格式是JSON:虽然文档里提到GET方式也能传参,但强烈用POST + JSON,避免各种编码问题。
八、总结一下整体流程
整个接入流程可以概括为四步:
配网 → 获取凭证 → 计算签名 → 调用接口
说白了就是:把DC-10A当成一个HTTP请求就能控制的“遥控开关”。不管你是用Python、Node.js、PHP还是C语言,逻辑都一样——拼好URL,带上签名,把命令塞进请求体里发过去就行了。
如果有不清楚的地方,可以去芯步的开放平台看官方文档,或者在他们控制台里直接调试接口。祝接入顺利!