CATALOG

芯步的开放接口采用标准HTTP协议,签名机制与设备指令格式清晰规范。以下方案涵盖从环境准备、签名计算到多场景指令下发的完整对接流程,产品选型和代码示例可直接复用。

1. 解决概述

本方案的目标是指导开发者如何通过芯步开放平台提供的 HTTP 接口,利用通用的编程语言(如 Python, Java, PHP, Go 或 JavaScript)实现对智能硬件的远程控制和状态获取。

核心逻辑架构:

  1. 设备端:智能硬件通过 Wi-Fi 接入互联网,保持与芯步云的长连接。

  2. 云平台:芯步开放 API 网关,负责鉴权、设备状态管理、命令转发。

  3. 用户端/应用端:您的业务服务器或 APP 调用 HTTP 请求到芯步云 API,芯步云将指令透传给设备。

2. 准备工作

在开始编码前,请确保完成以下步骤:

  1. 账号注册与登录:访问芯步官网,注册开发者账号。

  2. 获取凭证:登录后进入工作台的“物联网控制台” -> “开发设置”。

    • AppID:应用唯一标识。

    • AppSecret:应用密钥,用于计算签名(Sign)。

    • :在开发测试阶段,可以开启“调试模式”暂时忽略签名校验,以便快速验证功能;生产环境下必须关闭调试模式。

  3. 设备准备

    • 确保已购买芯步智能硬件(如 4路控制器、智能通断器、传感器等)。

    • 给设备通电,并通过“物联网控制台”或“芯步小程序”为设备配置 Wi-Fi(仅支持 2.4G)。

    • 记录下设备的 Device ID(设备唯一ID),可在控制台设备列表中查看。

3. 核心技术:HTTP 接口调用

无论控制哪种设备(插座、灯、电机、传感器),接口请求地址格式均统一。

3.1 请求地址

http(s)://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}
  • {AppID}:您的应用ID。

  • {sign}:签名,用于鉴权(见下文)。

  • {ts}:Unix 时间戳(秒),用于防止重放攻击。

3.2 签名算法 (Sign)

生产环境下,需要计算签名以确保安全性。公式sign = md5(AppID + AppSecret + ts)注意:参数排序需按照平台约定(通常是按照参数名升序),请严格参考官方文档。

3.3 请求方式与参数

  • Method:推荐使用 POST。

  • Content-Typeapplication/json

  • Body 参数| 参数名 | 类型 | 必填 | 描述 || :--- | :--- | :--- | :--- || device | string | 是 | 设备ID(可通过控制台或设备标签获得) || order | object | 是 | 指令内容(JSON对象),具体格式取决于设备类型 |

4. 场景实战命令详解

以下针对不同业务场景展示具体的 order 构造方法。注:以下代码示例展示的是 HTTP Body 中的 JSON 数据。

第一种场景:远程控制开关类设备

适用产品:4路控制器、智能墙壁开关、智能通断器、PDU。目标:打开客厅的灯光。

  • 多路控制:如果需要同时控制第2路关,第4路开:{"power2":"0", "power4":"1"}

  • 一键全开/全关(部分设备支持):{"batch":{"power":1}}

第二种场景:批量控制与定时通断

适用场景:共享棋牌室、自习室。客户下单后自动通电,时间到后自动断电。目标:控制第1路和第3路通电 5 秒后自动断开(类似“点动”模式)。

  • 先断电后通电(复位模式):用于重启路由器或工控机。{"reset":{"relay":[2],"interval":10000}}

第三种场景:传感器数据获取与联动

适用产品:人体存在传感器、温湿度传感器。说明:HTTP 接口通常用于下发指令(如设置传感器参数),而数据上传通常通过芯步云的消息推送(Webhook/MQTT)发送到您的服务器。目标:获取传感器实时状态(以下为设备主动上报的数据格式示例)。

联动逻辑:您的服务器接收“有人”事件后,自动调用控制接口打开灯光

5. 代码集成示例

以下简述通用开发逻辑:

  1. 构造 URL:拼接 AppID,获取当前时间戳 ts。

  2. 生成签名sign = MD5(AppID + AppSecret + ts)

  3. 发起请求

    • Header: Content-Type: application/json

    • URL 带上 sign 和 ts。

    • Body 带上 device 和 order。

  4. 处理响应

    • 收到 {"code":200} 代表指令已成功下发给设备云端。

    • 注意:若设备离线,云端仍返回 200(仅代表指令接收成功)。设备是否执行需通过“消息推送”功能获取

开发:由于不同设备的功能差异主要体现在 order 字段上,开发者可封装一个通用函数 sendCommand(deviceId, orderObject),通过调用此函数并传入不同的 order 对象来控制各类硬件

6. 总结

通过芯步的开放接口,开发者仅需掌握 “构造带签名的 URL”“组装符合产品物模型的 order JSON” 这两个核心步骤,就能在 10-30 分钟内完成从零到一的设备远程控制功能开发。这种基于 HTTP 的 Restful API 设计能轻松兼容任何主流编程语言和业务系统