CATALOG

芯步的2路低压直流控制板本身支持HTTP接口调用,但如果你想要“定时自动启停”而不想自己写代码跑定时任务,最省事的方案是直接用平台内置的定时任务接口。下面这份方案会一步步带你走通两种实现方式。

从手动控制到自动化:怎么让2路控制板“自己动”起来?

兄弟们,咱们在实际项目里,经常遇到这种情况:买回来芯步的2路低压直流控制板,用手机APP或者电脑点一下,灯亮了,再点一下,灯灭了,控制得特别顺手。但问题是,如果你想让它在每天早上的8点钟自动打开,或者每隔半个小时自动关一次,总不能天天定个闹钟自己爬起来点手机吧?

这就需要“二次开发”了。别被这个词吓到,其实没那么玄乎。这篇文章我就手把手教你,怎么利用芯步开放的API接口,让你这块控制板“长脑子”,学会自己按时干活。

一、咱们手里这块板子有啥“底子”?

首先得看看咱们的硬件底子。芯步的这款2路直流控制板,核心就是那两路继电器(相当于两个开关),官方给的命令非常直接:

  • power1:控制第一路的通断(1是开,0是关)。

  • power2:控制第二路的通断。

所有的二次开发,本质上就是通过HTTP请求,往云端发个指令,告诉它把power1变成1或者0。既然能发一次指令,那我们只要想办法让电脑或服务器自动地、定时地发这个指令,定时控制就实现了。

二、方案选择:两条腿走路

要实现定时控制,一般有两条路。为了让大家有对比,我把两条路都列出来,你可以根据自己的服务器情况选择。

特性方案A:调用云平台定时API(推荐)方案B:用自己的服务器做定时器
代码量极少(只需调1次接口创建任务)较多(需要写循环、处理时间逻辑)
依赖依赖芯步云平台依赖你自己的服务器或PC保持开机
灵活性固定模式(每天、每周、间隔)极其灵活(可以写任意复杂的逻辑)
适用场景99%的日常自动化需求需要复杂判断(如根据传感器返回值触发)

结论: 如果你只是想让设备像闹钟一样定时工作,闭眼选方案A,又快又稳。

三、实战方案A:直接“告诉”云平台到点干活(强烈推荐)

芯步的接口文档里藏着一个宝贝——任务创建接口。这个接口的作用就是:你给云平台设个闹钟,时间一到,云平台替你去控制设备

1. 核心思路

我们不直接发“开/关”指令了,我们发一个“定时任务”指令给服务器。

2. 具体操作步骤

第一步:搞定签名(Sign)调用芯步的接口,首先要过安全验证。所有接口都需要带上签名sign和时间戳ts。签名的算法是:md5(md5(AppSecret) + ts)

  • 你需要去芯步的后台拿到你的AppIDAppSecret

  • 写一段代码生成这个sign(官网有各种语言的Demo,复制粘贴就行)。

第二步:调用“创建任务”接口接口地址是:http(s)://api.thingboot.com/{你的AppID}/task/create/

我们直接看请求参数怎么填,这是关键

  • devices:填你那块2路控制板的设备ID(在后台能看到,一般是数字)。

  • type:填策略类型。

    • 想每天早上8点开?填 day

    • 想每隔30分钟动作一次?填 loop

  • 策略参数:根据上面的type填。

    • 如果是day,填 time,比如 "08:00:00"

    • 如果是loop,填 interval,比如 1800(单位是秒)。

  • commands:这是核心!这里填你要执行的动作。

    • 想开第一路:填 {"power1":1}

    • 想关第二路:填 {"power2":0}

举个栗子:

老板要求:每天早上8点半,自动把第一路的鱼缸水泵打开;晚上10点,自动关闭

你需要做两件事:

  1. 早8点半任务:请求参数里,type=daytime=08:30:00commands={"power1":1}

  2. 晚10点任务:请求参数里,type=daytime=22:00:00commands={"power1":0}

,接口调用成功,哪怕你现在关机睡觉,控制板到了点也会自己开灯。

四、实战方案B:手搓一个“定时器”(适合折腾派)

如果你不想用云平台的定时功能,或者你的逻辑特别复杂(比如:必须是下雨天且是周二下午才开启),那你只能自己写脚本了。

适用场景:你有一台树莓派、一台不关机的电脑或者一个云服务器。

1. 基本逻辑

写一个死循环(或者用Cron定时任务),不断检查当前时间。

  • 如果是规定时间:程序组合一个HTTP请求,直接发出去。

  • 如果不是:继续睡一会。

2. 代码核心(Python伪代码)

这里不用关注具体的Sign计算(直接复制官网的),关键是逻辑:

五、几点避坑小贴士

  1. 关于局域网私有化:如果你的设备是纯内网环境(没有外网IP),上面的方案A(云平台定时)可能就不太适用了。这时你只能用方案B,并且方案B中的请求地址要换成设备在内网的IP地址(如果支持的话,参考其私有化部署文档)

  2. 关于“先通后断”:2路控制板还支持point(先通后断)和reset(先断后通)命令。这有什么用呢?比如你想控制一个道闸或者一个电机,只需要给一个脉冲信号,也就是“接通1秒马上断开”。你可以直接发{"point1":1000}(1000毫秒=1秒),不用自己写代码去“开了再关”,非常方便

  3. 批量控制:如果你买了10块板子,想在每天下班时间统一断电。在创建任务时,devices参数里直接用英文逗号把10个设备的ID连起来就行,比如 "1001,1002,1003"

总结一下:如果你只是图个省事,赶紧去翻翻芯步开放平台文档里的“任务创建”章节。看懂那个,你的2路控制板基本就脱胎换骨,变成一个全自动的智能管家了。