CATALOG

芯步的人体存在传感器开放了完整的HTTP API,配置参数的关键在于理解“下行命令+配置项”这套机制。以下方案会先讲清整体流程,再给出具体的签名计算、命令下发和配置读取方法。

解决方案:基于芯步HTTP接口二次开发人体存在传感器远程配置系统

1. 背景与挑战

在许多智能办公、养老监护或安防场景中,人体存在传感器需要根据现场环境调整探测灵敏度、无人判断延时或LED指示灯逻辑。默认的配置通常需要通过设备配套的App或按键操作,效率低下且不适合大批量部署。

芯步的智能人体存在传感器(如雷达/红外系列)开放了标准的HTTP接口,允许开发者通过二次开发,将设备无缝集成到自有系统中,实现远程批量配置。

2. 核心技术原理

芯步的设备遵循 “物模型” 标准。二次开发的核心逻辑如下:

  • 下行指令(配置):你的服务器通过HTTP POST请求,携带签名和JSON格式的命令,经由芯步云平台下发至设备。

  • 上行消息(反馈):设备接收到配置后,会在Flash中保存参数并立即生效,同时回传当前状态。

  • 关键机制:配置项主要基于“设备指令”“属性设置”。根据官方手册,如红外传感器的触发持续时间、LED灯模式、雷达开关等,均可通过特定字段下发

3. 二次开发流程(详细步骤)

3.1 前置准备与鉴权体系

在开始编码前,需要从芯步控制台获取以下凭证:

  • AppID:应用唯一标识。

  • AppSecret:开发者密码(用于加密)。

  • Device ID:目标设备的ID(如 820720)。

签名算法(关键安全步骤)所有HTTP接口都需要携带签名 sign 和时间戳 ts,防止接口被恶意篡改。签名生成公式为:Sign = md5( md5(AppSecret) + ts )注意:这里的 + 代表字符串拼接。

代码示例(Python 计算 Sign)

3.2 核心接口:远程配置参数(下发命令)

接口地址:POST http(s)://api.thingboot.com/{AppId}/device/control/

关键配置参数解析根据设备型号不同,支持的配置项有所区别。以下以常见的“智能人体存在雷达/红外传感器”为例

配置意图命令字段 (Order Key)可选值 (Value)说明
雷达模块开关radar_enable1 (开) / 0 (关)远程启用/禁用雷达探测
红外模块开关infrared_enable1 / 0针对红外版本的控制
无人延时上报infrared_change_00 (马上) / 30 / 60 / 120 (秒/分)配置“无人”状态触发上报的等待时间,避免频繁上报
有人延时上报infrared_change_10 / 1 / 2 / 3 / 5配置“有人”状态的防抖时间
LED指示灯led1(长亮) / 0(长灭) / blink(闪烁)关闭指示灯可以降低存在感,适用于卧室或暗环境
线路控制power1 / 0控制传感器下游的继电器通断

请求体示例(JSON)假设我们需要将设备 ID 820720 配置为:关闭LED灯设置“无人”判断延时为1分钟(60秒)开启雷达

实际开发中,请严格参考对应产品手册的“支持命令”列表

3.3 实现参数动态化与批量配置

在二次开发时,不应硬编码上述参数。设计以下逻辑:

  1. 可视化配置面板:在前端(Vue/React)创建针对传感器的设置页,包含滑块(延时)、开关(LED)等控件。

  2. 后台服务适配:后端接收到前端请求后,动态构建 order JSON 对象。

  3. 批量下发机制:若需配置100个传感器,可循环调用接口或使用设备分组管理功能。官方接口支持 device 参数传入多个ID(用逗号间隔),如 "device":"820720,820721"

3.4 状态同步与确认

配置下发后,你需要知道设备是否“听话”:

  • 实时回调:芯步支持将设备的状态变化实时推送到你自己的服务器。你需要在控制台设置“API推送”地址。

  • 主动查询:设备状态变化(如参数修改成功、有人/无人切换)会上报消息。你的服务器需接收这些上行消息,比对 infrared_target 或当前配置状态,确认配置已生效

4. 实战逻辑:防误报配置案例

场景:办公室空调联动,要求“人员离开5分钟后自动关闭空调”,但默认参数可能1分钟就上报无人导致误关。

二次开发解决方案

  1. 在你的系统后台,找到该传感器设备详情。

  2. 调用下发接口,设置参数:

    • infrared_change_0300 (5分钟 = 300秒)

    • infrared_change_110 (10秒防抖,防止人稍微动一下就触发多次上报)

  3. 代码逻辑

5. 最佳实践和需要注意的点

  1. 私有化部署:如果你的系统对数据安全要求比较高,芯步支持私有化部署。你可以将消息推送至局域网内的服务器,完全脱离外网运行

  2. 频率限制:接口访问限制为 1次/秒。批量配置时,代码中应加入适当的延时(如 Thread.sleep(1000)),避免触发 5009 限流错误

  3. 配置的持久化:传感器配置保存在Flash中。虽然掉电不丢失,但Flash有擦写次数限制。避免频繁无意义地重复下发相同配置。

  4. 多协议支持:HTTP主要用于主动下发指令(控制);如果要大量接收设备上报的数据,采用MQTT方式接入,性能更优

通过以上步骤,你可以完全摆脱原厂App,将芯步的人体存在传感器深度集成到你的智慧办公、智能家居中控或能耗管理系统中。