CATALOG

怎么在创客项目里用芯步搭出“聪明”的电源控制逻辑

兄弟们,玩创客项目最头疼的是什么?我觉得就是“明明能自动,偏偏要手动”。

比如你搭了个3D打印机农场,半夜打个大件,还得定闹钟爬起来关电源?或者你做了个鱼菜共生系统,水温低了还得自己跑去开水泵?太Low了。

最近我在折腾芯步的智能硬件,发现他们家接口是真的开放,而且是永久免费的,非常适合咱们这种喜欢“折腾”的创客。今天就跟大家聊聊,怎么把他们家的智能插座、控制器集成到咱们的项目里,实现“想让谁控谁,就怎么控”的骚操作。

第一步:先得有个“被控制”的家伙

首先,你得有硬件。芯步那边适合咱们创客的主要有两类:

  1. 智能插座/墙壁开关:这玩意儿最简单,即插即用。你想控制台灯、普通水泵、散热风扇?插上就行。他们有个10A的墙壁插座,响应速度贼快,80-120毫秒,几乎感觉不到延迟

  2. 智能通用控制器(重点!):这才是咱们创客的真爱!特别是那个24路的通用控制器。这东西简直就是个“万能遥控器”,DC 12V供电,直接能接单片机、继电器模块。你想控制LED灯带、直流电机、电磁阀,全接上去,一个板子全搞定。

第二步:读懂“指挥官”的暗号——HTTP接口

硬件有了,怎么指挥它?芯步没搞那些复杂的私有协议,直接上 HTTP接口。这意味着什么?意味着不管你是用Python、Node-RED、还是单片机发AT指令,只要能发HTTP请求,就能控制它

咱们来看一下“攻击”指令长什么样:

请求地址(别怕,很好懂):http(s)://api.thingboot.com/{你的AppID}/device/control/?sign={签名}&ts={时间戳}

核心参数(就是告诉服务器你要干嘛):

  • device:那一长串设备ID,贴在硬件壳子上,或者在控制台都能看到。

  • order:这就是具体命令了。比如控制智能插座打开:{"power":1};关闭:{"power":0}

小技巧如果你要控制那个24路控制器,想打开第3路,直接发 {"power3":1} 就行了。想搞个定时?比如现在打开,1小时后自动关,加个参数 {"power":1,"reset":3600000}(3600000毫秒=1小时),连定时器的代码都省了,设备自己倒计时

第三步:搭积木——如何实现“自定义联动”?

这才是核心。所谓的“自定义联动”,说白了就是:如果发生了A事件(传感器数据/时间/按键),那么就执行B动作(调用上面的HTTP接口)。

这里分几个层级,看你手头有什么“大脑”:

方案一:用Node-RED做“接线员”(推荐,最灵活)

如果你手头有个树莓派、旧电脑或者软路由,跑个Node-RED是最好玩的。

  1. 输入端(触发条件)

    • 时间触发:比如每天早上8点,Node-RED的inject节点定时戳一下。

    • 传感器触发:比如你有个DHT22温湿度传感器连着树莓派GPIO,检测到温度>30度,就发出信号。

    • Mqtt触发:如果你有其他传感器通过MQTT上传数据。

  2. 处理端(你的大脑逻辑)

    • 拖一个http request节点。

    • 设置Method为POST。

    • 网址填上面的API地址。

    • Body里选JSON格式,填上 {"device":"你的设备ID","order":{"power":1}}

    • 注意签名:这里稍微麻烦点,需要算sign。芯步的签名算法是 md5(md5(开发者密码) + 时间戳)。在Node-RED里写个function节点算一下就行,或者直接用他们更简单的MQTT方式。

  3. 更简单的MQTT方案芯步其实也支持MQTT。你在Node-RED里连上他们的MQTT Broker(地址:,端口1883,用户名密码就是AppID和Secret),只要往主题api/{AppID}/device/control 发布一条消息,就能控制设备。这比HTTP还省事,不需要手动算签名

方案二:纯Python脚本(适合有屏幕的PC或树莓派)

假设你做了一个语音识别模块,识别到“开灯”,想调接口。

方案三:纯硬件逻辑(ESP8266/ESP32,不依赖电脑)

这是最纯粹的创客玩法。你拿个ESP8266,烧写固件,让它读取一个按键状态或者一个模拟量(比如光敏电阻)。

逻辑伪代码:

这里唯一的难点是ESP8266上计算MD5签名比较费劲,推荐直接用HTTP GET方式,参数全拼在URL上,只要在有效时间戳内就行。

实战案例:智能排风系统

我拿自己之前做的“3D打印机排风”举个例子:

需求:打印ABS的时候味道大,需要打印机一工作,排风扇就自动转;打印完了,风扇延时5分钟关。

硬件:打印机(不需要动)+ 芯步智能插座 + 220V排风扇。

逻辑(跑在Node-RED上)

  1. 监测:我监测打印机的功率。用一个支持功率计量的芯步插座插打印机

  2. 判断:当功率 > 50W 持续1分钟(说明开始打印了)。

  3. 动作:调用HTTP接口,控制插着排风扇的那个插座 {"power":1}

  4. 结束:当打印机插座功率 < 50W 持续5分钟(打印结束且散热完)。

  5. 动作:控制排风扇插座 {"power":0}

你看,完全不需要写复杂的PLC逻辑,几个HTTP请求就把事办了。

几个小坑,跳过去就好

  1. 签名问题:芯步的签名是 md5(md5(密钥) + ts),是先对密钥做一次MD5,再拿这个结果加上时间戳做第二次MD5。千万别搞反了

  2. 频率限制:单个设备访问限制是1次/秒。对于咱们创客项目完全够用了,别写死循环疯狂发就行。

  3. 超时处理:接口返回200只代表平台收到了指令,不代表设备真动了。如果设备离线,指令是收不到的。在脚本里最好加个重试机制,或者监听一下设备的上报状态

总结一下

芯步这套东西,特别适合“不想从零搞硬件通信,只想专心写业务逻辑”的创客。他们把底层的Wi-Fi通信、设备保活、云端转发都封装好了,留给你一个干净的HTTP接口。

你要做的,就是用Python、Node-RED甚至Shell脚本,把“条件”“芯步的接口”粘起来。不管你是想搞基于天气预报的浇花系统,还是基于人感感应的灯光秀,思路都是一样的。

动手吧,让你的电源控制先“活”起来!

通断器产品方案:
智慧工厂产线设备控制:如何将智能通断器AC4-10A对接到软件项目中
查看 >>
自动贩卖机电路管理:怎么将30A 智能开关接入到自己的项目中
查看 >>
怎样二次开发智能线路通断器 10A-AC2来实现过流过载保护控制
查看 >>
怎样接入AC5-10A 定时控制开关来实现线路状态反馈控制
查看 >>
实验室低压负载控制:怎么把DC-10A 设备电源控制器接入到自己的项目中
查看 >>
项目场景方案:
怎么在创客项目电源控制场景中集成智能设备以实现多设备联动控制
查看 >>
开发者项目测试控制场景:怎么把Type-C供电智能WiFi模块集成到软件项目中
查看 >>
创客项目设备电源控制:怎样把24 路远程控制继电器模块集成到软件项目中
查看 >>
怎么在创客项目电源控制场景中集成智能设备以实现自定义联动逻辑控制
查看 >>
创客项目设备电源控制:怎样把智能 24 路远程信号控制器集成到自己的项目中
查看 >>
逻辑用途方案:
怎么接入5位总控PDU插排来实现自定义总控联动逻辑
查看 >>
怎样接入氛围灯调光控制器来实现自定义灯光联动逻辑控制
查看 >>
怎样二次开发3路智能墙壁开关以实现自定义联动逻辑控制
查看 >>
如何在共享充电宝柜电源管理中对接智能硬件来实现自定义联动逻辑控制
查看 >>
怎样二次开发Type-C供电WiFi通断器模块以实现自定义联动逻辑控制
查看 >>