CATALOG

芯步的10A86型智能插座开放了HTTP API接口,这意味着你可以把它接入自己的系统,而不是只能用它官方的App。下面聊聊怎么基于这套接口做二次开发,实现自定义的联动控制。

让你的插座“活”起来,想怎么联就怎么联

一、咱们能折腾出啥花样?

先说说这玩意儿能干啥。你买了芯步的10A86型智能墙壁插座,装了官方App,手机控制开关、定时啥的都没问题。但咱是有追求的人,对不对?

通过二次开发,你可以:

第一种场景:人来灯亮,人走灯灭把插座和人体传感器联动起来。卫生间、过道这种地方,再也不用摸黑找开关了。

第二种场景:鱼缸智能管家鱼缸加热棒搭配温度传感器。水温低了自动通电加热,高了自动断电。养鱼再也不用担心煮鱼汤了。

第三种场景:用电安全监护接上电暖器、热水壶这种大功率设备,一旦检测到功率超过2200W,立马自动断电,保你家里平安。

场景四:远程一键全关出门时按一下,所有插座同时断电,强迫症患者的福音。

这些都是通过二次开发,利用芯步开放的HTTP接口实现的自定义联动。

二、先认识一下咱们的“主角”——10A86插座

在动手之前,先熟悉一下这个插座的情况

产品规格速览

项目说明
型号UNI-QC-10A(不带计量)/ UNI-QC-10A-P(带计量)
安装方式标准86型底盒,直接替换家里的墙插
额定功率2200W(阻性负载)
无线连接2.4GHz WiFi
核心功能远程通断、定时任务、自定义联动
特色功能(计量版)电压、电流、功率实时上报

小提示:如果你需要做联动判断(比如功率超过多少自动断电),买带功率计量的版本。如果只是简单的开关控制,普通版就够了。

插座支持的控制命令

插座主要是通过下面这几个命令来控制的:

命令功能说明调用示例
power控制线路通断{"power":1} 开启,{"power":0}关闭
point先通后断(点动模式){"point":3000} 接通3秒后自动断开
reset先断后通{"reset":3000} 断开3秒后自动接通

三、核心玩法:HTTP接口怎么调?

芯步的开放接口采用的是HTTP API方式,说白了就是发HTTP请求。任何能发HTTP请求的编程语言——Python、Java、Go、JavaScript、Shell脚本——都能玩得转

1. 接口基本信息

  • 请求地址http(s)://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

  • 请求方式:POST

  • 数据格式:JSON

  • 灵魂三要素:AppID、AppSecret、设备ID

2. 鉴权签名(这步很多人卡住)

芯步的接口用了签名验证,简单来说就是为了防止别人乱调你的设备。签名生成规则是这样的

sign = md5( md5(AppSecret) + ts )

白话翻译:

  1. 把你拿到的AppSecret先做一次MD5加密

  2. 把当前时间戳(秒)拼到加密结果后面

  3. 把拼起来的结果再做一次MD5

举个栗子(Shell版):

3. 控制插座通断(最基础的操作)

有了签名,剩下的就简单了。直接上代码:

Python版(简单易懂):

Java版(企业级应用常用)

4. 获取传感器数据(计量版)

如果你买的是带功率计量的版本(UNI-QC-10A-P),插座会实时上报电压、电流、功率数据

这些数据怎么收?两种方式:

  • 方式一:芯步平台会推送数据到你配置的服务器地址(Webhook)

  • 方式二:通过查询接口主动拉取(具体接口看官方文档)

收到数据大概长这样

四、重头戏:自定义场景联动怎么搞?

好了,基础操作学会了,现在来点硬核的。自定义联动的核心思路其实就一句话:

"当A条件满足时,让B设备执行C动作"

实现方式有两种:自己搭服务器,或者用现成的平台。

方案一:自建联动服务(完全可控,推荐)

这个方案适合有服务器、想完全掌控数据的用户。

架构示意

实操步骤

第一步:在芯步控制台配置消息推送地址(Webhook),把传感器数据和计量数据都推到你自己的服务器

第二步:在你服务器上写个服务来接收数据,判断逻辑。用Flask框架几行代码就能搞定:

第三步:运行服务,把服务器地址填到芯步平台的消息推送配置里。

方案二:走云端API轮询(简单低成本)

如果不想搭Webhook接收服务,也可以用定时轮询的方式。写个定时任务(比如每分钟执行一次),去查询传感器状态或功率数据,然后决定要不要控制插座。

这种方式的优点是简单,不用配置Webhook;缺点是实时性稍差(取决于轮询间隔),对服务器压力略大。

五、进阶玩法:点动模式

有时候你需要让设备只通电几秒钟(比如控制门禁电插锁、给设备复位),这时候可以用point命令

用Python实现:

这个功能相当实用。比如智能门禁,刷卡后给门锁通电5秒让门打开;或者给鱼缸喂食器通电3秒让它转一圈出食。

六、避坑指南

1. 签名生成的坑

很多朋友第一次调接口失败,99%是签名算错了。注意这两个细节:

  • 时间戳是秒不是毫秒System.currentTimeMillis() / 1000,不是直接用毫秒

  • md5结果要小写:芯步的签名md5结果是32位小写十六进制字符串

2. 设备ID从哪找

设备ID可以在芯步控制台的设备列表里看到,也可以通过接口拉取。一般在设备外壳上也能找到。

3. 离线问题

接口返回200不代表插座真的执行了命令。200只是平台收到了你的指令并尝试下发。如果插座WiFi断了,那还是白搭

所以关键业务场景(比如功率超载断电)配合异步消息推送来确认执行结果。

4. 局域网控制

芯步也支持局域网私有化部署,适合对响应速度要求高或者不想走公网的场景。具体可以看他们的私有化方案文档。

七、写在最后

芯步的10A86插座开放了HTTP接口,让二次开发变得非常简单。无论你是想实现家庭自动化、办公室节能管理,还是做个智能鱼缸,这套方案都能搞定。

核心就是三步:

  1. 拿到AppID、AppSecret、设备ID

  2. 学会调用控制接口(记住签名规则)

  3. 写逻辑把“条件”和“动作”串起来

剩下的就看你脑洞有多大了。

等你折腾出好玩的场景,记得回来分享!

插座产品方案:
怎么接入10A86型电器开关以实现手机 APP 远程遥控
查看 >>
怎样在出租屋用电安全管理中集成智能硬件以实现远程控制大功率电器电源
查看 >>
如何在图书馆设备电源控制中接入智能设备以实现定时开关电器设备
查看 >>
办公室插座回路保护:怎么将带计量智能断路器50A对接到自己的项目中
查看 >>
园区设备电源控制:如何将1位5孔定时开关插座接入到软件项目中
查看 >>
联动场景方案:
怎么在共享台球厅人体感应联动中集成智能设备以实现故障告警通知
查看 >>
弱电间人体感应联动:怎样把吸顶式高精度红外传感器对接到项目中
查看 >>
如何接入8路包间综合管理控制器以实现包间消费时长电源联动
查看 >>
智能家居照明门禁联动:如何将2 路智能触摸开关对接到自己的项目中
查看 >>
怎样在活动现场人体感应与火灾预警中接入智能设备以实现消防预警联动
查看 >>
场景用途方案:
怎么对接25A大电流智能断路器来实现场景联动控制
查看 >>
如何对接50A带计量数显智能断路器以实现场景联动控制
查看 >>
怎样对接24 路智能分体远程集中控制模块来实现联动场景逻辑控制
查看 >>
怎么在共享桌游室灯光控制中集成智能设备来实现客房场景化控制
查看 >>
如何接入8位总控PDU插排以实现场景联动总控电源
查看 >>