CATALOG

芯步的开放接口用的是标准HTTP协议,签权机制也比较直接。下面这个方案围绕“人来灯亮、人走门锁”的典型场景展开,核心逻辑是:传感器上报事件 → 你的服务器接收并判断 → 下发指令给执行设备。代码示例以Node.js和Python为主,方便你快速验证。

解决方案:利用芯步开放接口实现“人来灯亮、人走灯熄/关门”的场景联动

核心逻辑:这本质上是一个事件驱动的架构。我们需要把“人体传感器”当成触发器,把“门禁/照明”当成执行器,中间由你自己的服务器(或云函数)做“大脑”来接收消息并下发指令。

第一部分:准备工作与选型

要实现“一路门禁+一路照明”,我们需要以下硬件(假设你已购买):

  1. 传感器(感知层): 推荐使用 智能人体存在雷达传感器。普通的红外传感器对静止的人体不敏感,雷达传感器能检测微动,防止人还在厕所里灯突然灭了

  2. 控制器(执行层):

    • 照明控制:智能触摸墙壁开关(1路/2路)智能控制器。专门用来控制灯的开关

    • 门禁控制:智能出门开关4路控制器(直流版)。我们通常控制“电磁锁”的正负极通断来实现开门/锁门

接口特点:芯步的接口非常纯粹,就是标准的 HTTP API。你不需要关心复杂的MQTT协议,只需要会 POST 请求就行。响应速度在80-120ms,足够快

第二部分:二次开发设计

我们不使用芯步官方App的控制逻辑,而是通过调用它的开放接口,把控制权拿到自己的服务器上。

架构流程:

graph TD
    A[人体雷达传感器] -- 1. 检测到人 --> B{芯步云平台}
    B -- 2. HTTP推送(设备状态) --> C[你的业务服务器(核心大脑)]
    C -- 3. 逻辑判断(例如:是否有人?) --> C
    C -- 4. 下发控制指令(HTTP请求) --> D[芯步云平台]
    D -- 5. 执行命令(80ms) --> E[智能开关/门禁控制器]
    E -- 6. 灯亮/开门 --> F[完成联动]

第三部分:核心开发步骤(手把手教你调接口)

我们需要做三件事:接收数据计算签名下发命令

1. 让传感器“告诉”你的服务器:有人来了

你需要在自己的服务器上写一个 API 接口(例如 /sensor/callback)。在芯步控制台中,配置“消息推送”地址为你的公网地址。

当雷达传感器检测到人时,它会向你的服务器发送类似这样的数据:

你的任务: 写几行代码接收这个请求,解析出 status 字段。如果 status == true,则触发“有人逻辑”。

2. 计算签名(这是唯一头疼的地方,封装成函数即可)

官方接口为了安全,要求签名 sign。规则是:md5(md5(AppSecret) + ts)用 Node.js 示例,封装一个工具函数:

3. 核心动作:控制灯亮 + 开门

这是解决方案的核心,即 “场景联动” 的具体实现。当你的服务器判断有人来时,需要立即调用两个接口(或者一个双路控制器接口)。

场景A:人来了 -> 灯亮 + 门锁断电(开门)假设设备ID:灯是 820720,门锁继电器是 820721

你需要向 https://api.thingboot.com/{AppId}/device/control/ 发起POST请求。

JSON 参数详解:

  • 开灯(接通一路开关)order 里写 {"power": 1},意思是接通电源,灯就亮了

  • 开门(门禁控制):门禁通常接在常闭端。开门意味着断电(或者叫“先断后通”)。为了不让门一直开着,通常用 reset 命令:断电几秒后自动恢复供电锁门

代码示例(Node.js):

4. 场景B:人走了 -> 关灯 + 检查门锁

如果传感器检测到“无人”状态持续了一段时间(比如30秒),服务器应该发送关灯指令。

代码调整:

第四部分:高级技巧与避坑指南(口语化警告)

  1. 关于门禁的“reset”妙用

    • 千万不要直接发 {“power”: 0} 来开门,因为那样电磁锁会一直断电,门就一直没锁,不安全。

    • 正确姿势:用 {“reset”: 3000}。意思是:立刻断电(开门),3秒后自动恢复供电(锁门)。这就实现了“刷卡/感应开门,几秒后自动锁门”的完美效果

  2. 关于“一路”控制的注意点

    • 如果你买的是 1路智能开关 ,控制照明就用 power 字段

    • 如果你买的是 2路/4路/8路控制器 ,想控制第一个灯,命令是 power1;第二个灯是 power2。比如开第一路灯:{“power1”: 1}

  3. 如果不想买服务器(低成本方案)

    • 芯步平台本身支持“云端规则引擎”。你可以尝试在控制台直接设置联动规则:如果“传感器有人”则“执行打开开关”。

    • 二次开发的价值:直接设置规则虽然简单,但缺乏逻辑灵活性(例如:晚上10点后开灯才开门禁,白天只开门不开灯)。通过调用接口自己写代码,就是为了解决这种复杂的个性化需求。

  4. 调试技巧

    • 用 Postman 先测试接口。只要 Postman 能控制你的灯亮灭,代码就能。

    • 签名算法容易出错,先写个简单的脚本打印出 sign,对照官方文档验证一下。

总结

通过芯步的开放接口,二次开发其实就是在做“拼图”:

  1. 接收传感器的状态(HTTP回调)。

  2. 判断业务逻辑(if 有人)。

  3. 调用控制接口(HTTP请求发送 powerreset 命令)。

只要跑通上面那个 Node.js 脚本,你的“一路门禁一路照明”联动系统就搭建完成了。剩下的就是把它部署到你的服务器上,让它7x24小时运行。