CATALOG

芯步的智能硬件开放接口使用HTTP协议,任何编程语言都能调用。针对16路控制器,核心就是通过{"powerX": 1}{"powerX": 0}这样的命令来独立控制每一路输出。下面从准备到封装一步步拆解。

一、 前期准备

动手之前,需要先把“钥匙”拿到手,也就是这三个核心凭证:

  1. AppID:你的应用ID。

  2. AppSecret:你的应用密钥(切记不要泄露,虽然我们口语化,但安全意识不能丢)。

  3. Device ID:你这台16路控制器的设备ID(设备标签上通常有)。

小提示:这三个东西你登录芯步的控制台,在“开发设置”或“设备列表”里就能找到

二、 核心难点攻克:签名计算

芯步的接口比较安全,每个请求都得带一个动态生成的 sign 签名。很多第一次接触的朋友容易卡在这一步,其实没那么难,就是个“套娃”加密。

计算步骤(标准流程):

  1. 先把你的 AppSecret 进行一次 MD5 加密,得到一个32位的字符串(叫它 str1 吧)。

  2. 拿到当前的 时间戳ts),就是1970年到现在过了多少秒,比如 1720166400

  3. str1ts 拼在一起,得到一个更长的字符串。

  4. 把这个拼接后的字符串 再一次进行 MD5 加密,最终结果就是你要的 sign

用大白话讲就是:sign = MD5( MD5(AppSecret) + ts )

为什么这么麻烦? 因为时间戳一直在变,所以生成的签名也在变,这就保证了请求无法被别人随便伪造。

三、 实战控制:从“点灯”到“十六路齐发”

搞定签名,我们就正式进入控制环节。芯步的接口非常直观,主要用HTTP POST请求。

接口地址(云控模式):https://api.thingboot.com/{你的AppID}/device/control/?sign={你的签名}&ts={时间戳}

核心请求体(Body):我们需要发送一个JSON字符串,里面包含device(设备ID)和order(命令)。

针对这款 16路远程线路管理控制器,其控制指令有着特定的规律,通常指令集如下

操作目的指令JSON (order字段的值)解释
控制第1路通{"power1": 1}1代表接通/闭合
控制第1路断{"power1": 0}0代表断开/释放
控制第3路通{"power3": 1}类推,数字即代表第几路
控制全部通{"power1":1, "power2":1, ..., "power16":1}全部置1即可
批量操作 (部分型号支持){"batch":"FF00"}十六进制位运算,效率更高

1. 单独控制某一层

比如,你想把第8层过道的灯光打开(第8路继电器吸合):

注意:由于order外面套了一层引号,里面的双引号通常需要转义,或者你在代码里直接组装对象即可。

2. 同时控制16路输出

如果场景是“第一种场景键触发”,比如一键开启所有16路,或者针对交直流混合负载进行特定的时序控制,你可以一次发一组完整的命令:

理论上一条请求里可以包含16个键值对,这样所有继电器会几乎是瞬间同时动作,没有延迟。

3. 关于交直流输出的注意事项

既然是“16路交直流输出”,说明这个控制器内部是继电器隔离的。

  • 直流负载:可以直接控制直流电磁阀、小功率直流电机。注意直流在通断时容易产生电弧,控制器的继电器容量一般都够用,但如果负载很大,中间加接触器过渡。

  • 交流负载:控制灯光、插座、水泵等。只要功率在额定范围内,直接接线就行。

  • 反馈机制:仅仅收到接口返回的200代码,不代表继电器真的动作了,只代表平台把命令发下去了。如果你的业务需要“执行确认”,最好配合消息推送功能,接收设备上报的“继电器已动作”的状态回传。

四、 进阶玩法:私有化部署(局域网直连)

如果你不想把设备数据经过芯步的云服务器,或者你的现场网络压根没有外网(比如在一些保密单位或偏远机房),这款设备也支持私有化模式

在这种模式下,设备直接连到你办公室的同一个路由器下,获取一个局域网IP。这时候就不用云平台那么复杂的签名了。直接向那个局域网IP发送HTTP POST指令即可:

http://{设备的局域网IP}:{端口}/controlBody直接就是:{“power1”: 1}

这种模式毫秒级响应,纯内网传输,安全性也比较高。

五、 二次开发封装思路

为了让你开发更省心,我你别在每个页面都写一遍HTTP请求。封装一个简单的类,比如叫 Smart16Remote,核心功能就两个:

  1. ControlSingle(channel, action)

    • 传入:第5路,开启。

    • 自动拼接 {“power5”:1}

    • 自动处理签名和请求发送。

  2. ControlBatch(array)

    • 传入:一个长度为16的数组 [1,0,0,1,...]

    • 自动遍历生成 power1power16 的JSON大对象。

六、 总结

  1. 看文档:确认你的设备型号,查看它的具体指令集,是power1还是power_1,虽然芯步的通用指令很规范,但不同批次可能有微调。

  2. 过签名关:先把MD5签名的代码跑通(官方有各种语言的Demo代码),这一步通了,后面就是一马平川。

  3. 从单路开始:先试着控制第1路通断,成功了再试着去写循环控制16路。

  4. 考虑网络:如果是本地局域网用,强烈开启私有化模式,省去云端签名的麻烦,速度更快。

这套方案跑下来,你不仅能用Python、Java、Go甚至PHP去控制它,还能轻松集成到你现有的工厂MES系统、楼宇自控系统或者智慧农业的大屏里去。

控制器产品方案:
高端会所包间设备管理:怎样把8 路包间场景联动控制器接入到项目中
查看 >>
怎么接入智能 24 路远程开关控制模块以实现自定义场景联动控制
查看 >>
照明控制:如何将8路防水防尘控制箱对接到项目中
查看 >>
怎么在快递柜设备控制中集成智能硬件来实现远程控制16路线路
查看 >>
怎么二次开发24 路智能分体远程控制设备联动模块以实现多达24路独立线路控制
查看 >>
直流场景方案:
怎么在充电桩多路输出控制中集成智能硬件来实现控制8路交直流输出
查看 >>
如何对接16 路远程控制继电器模块来实现控制16路交直流输出
查看 >>
怎么在物联网设备供电管理中接入智能设备来实现2路独立直流线路控制
查看 >>
广告机直流供电管理:如何将DC-10A 电器开关接入到自己的项目中
查看 >>
怎么在产线设备控制中接入智能设备来实现控制8路交直流输出
查看 >>
16路用途方案:
如何对接16 路远程控制继电器模块来实现控制16路交直流输出
查看 >>
怎么在酒店客房设备集中控制中对接智能硬件以实现多达16路独立线路控制
查看 >>
怎么在灯光控制中对接智能硬件来实现控制16路交直流输出
查看 >>
怎么在快递柜设备控制中集成智能硬件来实现远程控制16路线路
查看 >>
如何在自助储物柜控制中集成智能设备来实现16路多通道独立控制
查看 >>