CATALOG

芯步的智能通断器接口确实比较简单,主要是HTTP POST请求加签名验证。多设备联动的核心思路是:用传感器当“眼睛”,用你的服务器当“大脑”,用通断器当“手”。下面我按这个逻辑把方案串起来。

一、 搞清楚几个主角:硬件选型

要实现联动,你至少需要两类设备,不能全是通断器。

  1. 执行设备(就是你要控制的通断器)

    • 单路/两路通断器:适合控制灯、插座、一个电机。

    • 4路/8路控制器:适合需要集中控制多个设备的场景,比如控制多个水泵、多个灯光分区。注意看接口,如果是接强电选 AC 型号,接电锁、阀门选 DC 型号。

    • 核心接口:所有设备都支持 power(power1, power2...)命令,power=1 是开,power=0 是关。

  2. 触发设备(用来当“眼睛”和“开关”)

    • 传感器:比如人体传感器(人来了开灯)、温湿度传感器(太干了打开加湿器)。

    • 墙壁开关:如果用户想物理按,也可以接芯步的智能开关,开关按下的状态会通过接口推送给你。

二、 远程控制的基础操作:怎么发指令

不管控制哪个设备,都得往芯步的接口发 HTTP 请求。你需要做一个后台服务(用 Python、Java、PHP、Node.js 都行)。

步骤 1:准备几个关键参数

  • AppIdAppSecret:去芯步的控制台后台拿,相当于你的 API 钥匙。

  • device:就是通断器外壳上贴的那串数字,或者配网后在后台看到的设备 ID。

  • sign(签名):这个稍微有点绕,但不是很难。官方的规则是:sign = md5( md5(AppSecret) + ts )

    • 先把 AppSecret 做一次 MD5 加密,得到字符串 A。

    • 把字符串 A 拼上当前的时间戳 ts,得到字符串 B。

    • 再把字符串 B 做一次 MD5 加密,就是 sign

步骤 2:发命令(举个例子)假设你要把设备 ID 为 123456 的通断器打开

请求地址http(s)://api.thingboot.com/{你的AppId}/device/control/?sign={计算出的sign}&ts={当前时间戳}

请求方式:POST请求体 (JSON)

特别提醒:接口返回 code 200 只代表平台收到指令了,不代表设备真动了。如果设备离线(没电了或者 WiFi 断了),你也会收到 200,但设备没反应。如果你要做联动,最好在后台记录一下设备的在线状态。

三、 核心实现:多设备联动控制逻辑

这是你要的重头戏。既然是自己对接 API,联动的逻辑主要跑在你的服务器上。

方案 A:服务端直接联动(最常用、最稳定)

适用场景:人体感应灯、门磁联动排风扇、温度控制加热。流程

  1. 设备上报:传感器检测到变化(比如人体传感器检测到“有人”),会自动向你的服务器推送一条消息(Webhook)。

  2. 服务端处理:你的服务器收到“有人”的消息,代码里写死逻辑:if (sensor_id == 'xxx' and status == 'someone')

  3. 执行控制:你的服务器立刻组装上面那条控制指令,向通断器设备 ID 123456 发送 power=1

口语化解释:这就好比你在中间当传话员。传感器喊了一声“有人啦!”你听到了,你马上跑去把灯的开关按下去。

方案 B:标签控制(适合一键执行多个动作)

适用场景:离家模式(关掉所有灯、插座)、影院模式(关主灯、开氛围灯、降下幕布)。痛点:如果你有 10 个通断器,一个个发指令太慢了,而且万一哪个网络卡了,就有一个没关掉。解法:利用芯步的标签(Tag)功能。

  1. 在芯步后台把这 10 个通断器都打上同一个标签,比如叫“全家总闸”。

  2. 你的服务器只需要给标签发指令,不用指定具体的 10 个设备 ID。

  3. 请求体变成{"tag": 8888, "power": 0}。这样平台会并发去关这 10 个设备,速度更快,代码也简洁。

方案 C:进阶玩法 - 定时 + 联动

适用场景:自动浇花(水泵开 5 秒自动停)。痛点:不能直接发“开”,那样水漫金山;必须发“开”,等 5 秒,再发“关”。但你不能在服务器里傻等 5 秒。解法:利用通断器的 resetpoint 命令,让设备自己倒计时。

  • reset:先接通,维持多少毫秒后自动断开。

  • point:先断开,维持多少毫秒后自动接通。

指令示例想要浇花系统打开 5 秒后自动关?直接下发:

这样,网关帮你计时,5 秒后自动掐断,不用你的服务器操心。

四、 实战演练:一个“人来灯亮+延时关”的联动场景

假设你有一个人体传感器 (ID: PIR001) 和一个通断器 (ID: LED001)。

在你后端写的代码逻辑大概长这样(伪代码):

针对这个场景的叮嘱

  • 不要死循环:如果你的传感器是雷达存在式,人一直在就一直触发。你得在代码里加个判断,比如“如果灯已经是开的,就别重复发‘开’指令”,减少网络请求。

  • 状态同步:虽然芯步有关键消息推送,但为了保险,联动逻辑里最好加个保险丝(比如:开灯指令发出后,即使没收到关的信号,最多亮 10 分钟强制关)。

五、 几个坑和避坑指南

  1. 网络延迟:官方说 80-120ms ,那是指指令到设备。你的服务器如果部署在海外或者云服务商网络抖动,可能会慢点。做关键联动(如安防报警)时,要考虑到这一点。

  2. 异步反馈:再次强调,code 200 不代表真的执行了。如果你的联动非常重要(比如:关火),你需要通过芯步的消息推送功能,接收设备执行后的真实回执。设备真正执行了 power=1,你后台才会收到一条执行成功的消息。

  3. 局域网控制(高阶):如果你不想走外网(比如工厂内网,或者害怕断网),芯步设备是支持局域网控制的。只要你的服务器和设备在同一个局域网段,可以直接调用本地 API,延迟更低,不受外网断网影响。

总结

对接芯步的接口搞联动,核心就是三步:

  1. 传感器喊一嗓子(推送状态给你的服务器)。

  2. 你的脑子转一下if 逻辑判断要不要动)。

  3. 你伸手按开关(向通断器设备或标签 POST power=1)。

最简单的上手办法:打开电脑的 Postman,配好签名,先手动控制你手头那个通断器亮/灭一下。通了这一步,剩下的就是写 if...else... 去串联它们了。

通断器产品方案:
共享棋牌室设备远程控制场景:如何把智能远程控制通断器模块对接到项目中
查看 >>
如何对接AC1智能通断器10A以实现漏电保护控制
查看 >>
自助售货机电源管理:怎样将AC1-10A电器开关集成到软件项目中
查看 >>
如何在共享场所直流负载管理中接入智能硬件来实现远程批量控制
查看 >>
怎样接入AC5-10A 低压控制开关来实现能耗数据统计控制
查看 >>
联动场景方案:
怎么在共享台球厅人体感应联动中集成智能设备以实现故障告警通知
查看 >>
如何在共享棋牌室设备机柜电源管理中接入智能硬件来实现自定义总控联动逻辑
查看 >>
如何接入8路包间综合管理控制器以实现包间消费时长电源联动
查看 >>
怎么在智能家居人体感应照明中集成智能设备以实现场景联动控制
查看 >>
如何二次开发壁挂式智能感应控制器来实现语音设备联动警示
查看 >>
设备用途方案:
怎么二次开发4路远程包间电源管理模块MINI来实现多路输出设备电源控制
查看 >>
怎样接入60W 云语音播报音柱以实现多设备语音同步播报
查看 >>
怎样二次开发智能 30W 云控制语音壁挂音箱来实现多设备语音同步播报
查看 >>
怎样在仓储设备机柜电源管理中对接智能硬件来实现设备电源批量管控
查看 >>
怎么在调度站语音播报中接入智能设备以实现设备状态语音反馈
查看 >>