CATALOG

针对芯步10A智能通断器AC1的二次开发,核心是利用其开放的HTTP API,将设备控制能力集成到自有系统中。该设备支持10A额定电流的通断控制,接口响应快(80-120ms),无需网关

以下是完整的技术解决方案。

1 背景与目标

芯步智能通断器AC1(型号:UNI-TDQ-AC1-10A)是一款支持10A额定电流的WiFi智能通断器,适用于工业控制、智能家居、智慧楼宇等场景中对大功率电器的远程通断控制。该设备通过WiFi 2.4G直接联网,无需额外网关,支持HTTP接口调用,可快速集成到第三方系统中

本文旨在指导开发者如何利用芯步开放平台,对AC1设备进行二次开发,实现对10A额定电流回路的远程控制,包含设备配网、接口鉴权、指令下发、状态监控等完整流程。

2 准备工作

在开发之前,需要完成以下准备工作:

平台账号注册:登录芯步官网,使用手机号注册并登录开发者账号。进入“物联网控制台”,这是后续所有设备管理和接口调试的统一入口

获取开发凭证:在控制台左侧导航栏进入“开发设置”,获取并保管好以下信息:开发者ID(AppId),开发者密码(AppSecret)。AppSecret用于签名计算,不应直接暴露在客户端代码中

设备配网激活:将AC1通断器接通电源,按照《产品手册》中的配网指引,通过WiFi(仅支持2.4GHz频段)将设备连接到网络。配网成功后,可在控制台的“设备”列表中查看设备状态,并获取设备ID(如:820720),该ID是后续控制指令的目标标识

测试模式设置:开发阶段可在“开发设置”中开启“调试模式”,该模式下系统不校验签名(sign)和时间戳(ts),也暂不检查IP白名单,便于快速验证接口连通性。生产环境必须关闭调试模式,启用完整的安全校验

3 接口鉴权与请求机制

芯步开放平台采用HTTP协议,通过签名机制保障接口调用安全。所有设备控制请求均需携带有效的签名和时间戳

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

请求头Content-Type: application/json

URL参数说明

  • {AppId}:开发者在平台申请的应用程序ID。

  • {sign}:请求签名,由AppSecret、ts、请求Body等参数按照特定算法生成。

  • {ts}:Unix时间戳(秒),用于防止重放攻击。平台会校验ts与服务器时间的差值。

签名生成规则:将请求Body(JSON字符串)、AppSecret、ts进行拼接后,计算MD5哈希值。生产环境下必须实现此逻辑,调试模式下可忽略

4 控制指令下发实现

控制AC1通断器的核心是向指定设备下发power命令。设备ID可从控制台获取,命令格式为JSON。

请求Body示例{"device": 820720, "order": {"power": 1}}。其中,device为设备ID,orderpower值为1表示开启,0表示关闭。对于AC1设备,可用的控制命令参见对应《产品手册》,除开关控制外,可能还包括定时、状态查询等扩展指令

多语言调用示例:可以使用任何支持HTTP请求的编程语言进行开发。例如在Python中,可使用requests库构造POST请求,动态计算签名并发送指令;在JavaScript(Node.js)中,可使用axios库,并实现MD5签名函数。关键步骤包括:读取环境变量中的AppId和AppSecret以保障安全,拼接参数生成签名,以JSON格式发送控制命令。

状态反馈与延迟:指令下发后,设备响应时间通常为80至120毫秒。记录每次操作的时间戳和结果,便于后续故障排查和状态同步。

5 设备状态同步机制

AC1设备的状态(如开关状态、在线离线)可以通过两种方式同步到二次开发系统中。

主动查询:系统可以定时调用设备信息查询接口(具体接口路径参见《产品手册》),主动获取设备的最新状态。这种方式适用于状态变化频率不高的场景,但实时性较差,且频繁调用会增加服务器负担

消息推送(推荐):在开发设置中配置消息接收服务器URL(Webhook),当设备状态发生变化或在线上报数据时,平台会主动推送消息到指定服务器。这是最实时、高效的方式。需要实现一个HTTP端点来接收和解析POST数据,做好签名验证以防伪消息。如需在局域网内自建服务器且无公网IP,可考虑配合消息队列(如EMQX)使用

6 代码封装

为了提高开发效率和代码可维护性,对接口调用进行封装。对于AC1通断器控制,可封装单一的控制函数,参数为device_idpower_state,内部处理URL拼接、签名计算和请求发送,返回请求结果。如果后续需要接入更多设备或复杂功能,可进一步封装为设备管理类,包含设备控制、分组管理、定时任务等方法

7 测试与生产环境切换

测试阶段:使用“调试模式”配合Postman等工具进行功能验证。重点校验设备ID正确性、命令格式、网络连通性。可借助平台提供的“演示设备”进行模拟测试

生产部署:关闭调试模式,启用签名校验,将AppSecret配置于后端环境变量中。同时可设置IP白名单进一步提升接口安全性,确保请求不被拦截或伪造

注意事项:10A通断器适用于阻性负载(如照明、电热器),感性负载(电机类)需考虑启动电流冲击。在集成时应在程序中加入操作日志记录(如开关时间、操作人),便于后期追溯