CATALOG

二次开发芯步智能断路器其实比想象的要简单,他们的设备都开放了HTTP接口,说白了就是会发网络请求就能搞定。35A这款支持远程开关和状态查询,下面说说具体怎么对接。

如何二次开发芯步智能断路器|35A实现远程开关状态查询

一、搞清楚你要折腾的对象

咱们这次要搞的是芯步的 智能断路器35A 系列,就是那种能装在配电箱里的大家伙,最大支持35A电流,家用商用都够用。

这玩意儿有好几个版本:纯WiFi版的、WiFi+433遥控版的,还有4G版的。不管哪个版本,核心的玩法都一样——通过HTTP接口控制。对咱们做二次开发的人来说,这就是个能联网的开关,你给它发HTTP请求,它就听话地通断电路,顺便还能告诉你现在是开是关。

官方说从发命令到执行也就80-120毫秒,反应贼快,这点很不错。

二、控制前得先拿到“钥匙”

在真正动手写代码之前,你得先去芯步的后台搞到几样东西:

  1. AppID:你的应用ID,相当于你家大门的编号

  2. AppSecret:你的应用密钥,这个可别泄露了,就当你家的钥匙

  3. Device ID:你要控制的那台断路器的设备ID,一台一个号

这些在芯步的控制台里都能找到,注册登录进去,到“开发设置”里面瞅瞅

三、签名怎么算?别怕,有公式

芯步的接口需要签名验证,听着挺唬人,其实就是个简单的MD5套娃。我把公式给你翻译成人话:

签名 = MD5( MD5(你的AppSecret) + 当前时间戳 )

来,一步步拆解:

  1. 先把你的AppSecret做一次MD5加密

  2. 把上一步的结果拼上当前的时间戳(注意是秒级时间戳,不是毫秒)

  3. 把拼好的字符串再做一次MD5

用Linux命令演示就是下面这样,一目了然:

当然你写代码的时候肯定不用这么折腾,直接用程序算就行,后面我会给示例

四、发送控制命令——让你的断路器“听话”

控制断路器开合闸,其实就是往这个地址POST一个JSON:

请求体长这样:

order里写啥? 简单说:

  • {"power": 1} → 合闸(通电)

  • {"power": 0} → 分闸(断电)

就这么简单,一个命令下去,断路器就动作了

五、查询开关状态——想知道现在是开是关?

重点来了啊!查询状态和控制用的是同一个接口、同一套签名方法,只是order里的命令不一样。

要查询当前开关状态,直接把order里的命令改成 status 就行:

设备收到这个命令后,会返回当前的状态信息,里面就包含了power字段(1表示合闸接通,0表示分闸断开)。换句话说,你发一个status查询请求,返回的响应里就能看到现在断路器是开还是关。

六、用Bash演示一把,看完就会

废话不多说,直接上一个完整的Bash脚本,你可以复制下来改改就能跑:

你把AppId、AppSecret、DeviceId换成自己的,然后终端里一跑,就能看到返回的JSON里告诉你当前开关是开着还是关着了

七、其他语言的对接参考

Python版(主打一个短小精悍)

几个注意事项:

  • 时间戳是秒级的,别拿毫秒的去算签名,否则不通过

  • 签名计算时拼接的是字符串,别弄成数字相加

  • 如果返回签名错误,先检查AppSecret对不对,再看时间戳是不是差太多(一般允许几分钟误差)

  • 一个请求里可以控制多个设备,device字段用逗号分隔就行,比如 "device": "123,456"

八、友情提示

  1. 关于负载:35A的断路器,阻性负载(比如电热器)能带7000W,但如果是感性负载(比如电机、LED灯),就只能带1100W了。这点要留意,别把设备烧了

  2. 联网方式:35A系列有WiFi版和4G版。WiFi版便宜,但得保证现场有WiFi信号;4G版贵点,但插卡就能用,适合没网络的偏远地方

  3. 关于状态同步:我上面讲的是主动查询的方式。如果你需要实时知道状态变化(比如有人按了断路器上的物理按钮),那可能需要用他们的MQTT推送或者回调机制,这就是另一个话题了。

  4. 私有化部署:如果你不想走芯步的公有云,他们的设备也支持私有化部署,接口用法一样,只是把 api.thingboot.com 换成你自己的服务器地址就行

总的来说,芯步这套接口确实挺友好的,不用折腾复杂的SDK,纯HTTP就能玩转。希望这篇能帮到你,祝二次开发顺利!