CATALOG

芯步的24路控制器开放了HTTP API,对接起来其实不复杂——核心就是签名算好、命令发对。下面从整体架构到代码实战,给你捋一遍。

一、我们先聊聊场景和痛点

你有没有遇到过这种情况:厂房里几十台设备分散在各个角落,每天开机要绕一大圈,下班还得确认哪台没关。尤其是老旧机床、通风系统、照明线路混杂在一起,电工师傅跑断腿。

现在有了芯步的这款24路智能分体远程电源控制器,相当于给你装了一个“远程总控开关”。而且它开放了HTTP API接口,能直接集成到你现有的软件系统里——无论是MES、ERP,还是你们自己开发的车间管理平台,都能“握手”打通。

下面我就从实战角度,讲讲怎么把这个硬件乖乖“收编”到你的软件项目里。

二、这个24路控制器能干啥?

先看看硬家伙的本事。芯步这款控制器(型号:UNI-KZQ-TY-24)有几个硬核指标

  • 路数:24路独立控制,每一路都能单独开关。

  • 负载能力:每路最大支持2200W(阻性负载),总功率不超过4400W。控制照明、风扇、电机完全够用,大功率设备外接接触器就行。

  • 通信方式:WiFi(2.4GHz),支持局域网和公网。

  • 接口协议:开放HTTP API,同时也支持MQTT。

核心亮点:它提供了非常直观的控制指令,每路对应一个简单命令——power1power2……一直到power24,想控制哪路就发对应的命令,值为1表示开,0表示关

而且它还支持批量控制batch命令)和场景联动,比如“一键开工”模式让1-20路全开。

三、整体对接架构:不复杂,就三层

把控制器集成到软件项目里,整体的数据流向是这样的:

flowchart LR
    subgraph A [你的软件系统]
        A1[Web/APP/桌面应用]
        A2[后端业务逻辑]
    end

    subgraph B [芯步云平台]
        B1[开放API]
        B2[设备管理控制台]
    end

    subgraph C [厂房现场]
        C1[24路控制器]
        C2[1-24号设备]
    end

    A2 <-->|HTTP/MQTT| B1
    B1 <-->|WiFi| C1
    C1 -->|通断控制| C2
    B2 -.->|配网/调试| C1

通俗解释

  1. 设备层:24路控制器放在厂房配电柜里,接好各路设备。

  2. 平台层:芯步的云平台负责管理设备状态、转发指令。

  3. 应用层:你的软件通过调用芯步的开放API,下发“开/关”指令,云平台再推送给控制器执行。

你不需要关心硬件电路怎么设计,也不用处理复杂的TCP长连接——全是标准的HTTP请求,就像你调用一个天气接口一样简单

四、对接步骤(手把手教你)

第一步:准备工作

先把环境跑通:

  1. 注册芯步账号,登录控制台。

  2. 创建工作台,进入“物联网控制台”模块。

  3. 给控制器配网:让设备连上WiFi,在控制台里能看到设备上线状态,记下这个设备ID

  4. 获取密钥:在“开发设置”里拿到AppIDAppSecret,这是你调用API的“身份证”。

第二步:搞定签名算法(这是关键)

芯步的API为了安全,每次请求都要带一个动态签名。别慌,算法不复杂:

签名生成规则sign = md5( md5(AppSecret) + ts )

具体步骤:

  1. AppSecret做一次MD5加密,得到字符串S1

  2. 获取当前时间戳(秒级),记作ts

  3. S1ts拼接起来,再整体做一次MD5,得到最终的sign

举个例子(伪代码):

注意:时间戳ts也要作为参数一起传过去,服务端会用同样的算法验证。时间戳有效期一般就几分钟,所以每次请求都要重新算。

第三步:开始发命令控制设备

这是最爽的一步——你的代码终于能让硬件动起来了。

接口地址https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

请求方式:POST(推荐,命令长了方便)

请求体(JSON格式)

实际场景模拟

  • 想打开第5路除尘风机:{"power5": 1}

  • 想关闭第12路照明:{"power12": 0}

  • 想同时控制多个?多写几个参数就行:{"power1":1, "power2":1, "power3":0}

返回结果:正常情况下会收到{"code": 200},表示命令已成功下发给设备。如果设备当时离线,命令会暂存,等设备上线再执行。

第四步:进阶——批量控制和分组管理

如果厂房里有多台这样的控制器(比如3台,总共72路),单个控制就太麻烦了。

方案一:批量命令利用batch命令一次性操作多个继电器,注意参数的格式和数量

方案二:设备分组在芯步控制台里,把同一产线的设备拉到同一个分组。然后调用分组控制接口

接口:https://api.thingboot.com/{AppID}/group/control/

请求体:

这样一来,“下班一键关所有设备”就实现了,还能避免遗漏。

第五步:获取设备状态,做监控面板

光能控制还不够,你肯定想在软件界面上看到当前每路是开还是关

调用获取设备列表接口

https://api.thingboot.com/{AppID}/device/list/

返回的数据里有一个state字段,包含了所有继电器的当前状态:

拿到这个数据,你就能在前端画一个漂亮的24路监控面板——绿的表示开,灰的表示关。

五、软件集成实战(以Java Spring Boot为例)

把上面的理论串起来,看一段实际的后端代码,大概长这样:

你的前端只需要调用这个后端接口,传入“设备ID、第几路、开或关”就行了。整个集成过程,你的代码里不需要任何硬件相关的SDK,全是HTTP

六、几个重要的提醒

  1. 局域网私有化部署:如果你的厂房不允许连外网,芯步这套方案也支持纯局域网控制,控制器直接和你的服务器通信,数据不外流。这对数据安全要求高的制造业客户很友好。

  2. 异步消息推送code:200只代表平台收到了指令,不代表设备真的执行了。如果你需要确认设备“真把继电器吸合了”,可以订阅芯步的消息推送服务,设备执行成功后平台会主动给你发通知

  3. 感性负载注意:如果控制电机、LED灯这类感性负载,额定功率要打折扣。具体可以参考产品手册

总结

把芯步的24路电源控制器集成到软件项目里,本质就是调用HTTP接口。你不需要成为硬件专家,把它当成一个“可以通过网络控制的智能排插”就行。

  • 小规模应用:直接调API控制单台设备。

  • 大规模管理:利用分组、批量命令、异步消息,配合你们的业务逻辑(如MES工单联动),轻松实现产线设备的自动化管理。

这样一来,你们的软件项目就真的“硬”起来了,工程师坐在办公室里就能掌控整个车间的电源,老板看了也得说声“专业”。