芯步的开放接口用的是标准HTTP协议,签权机制也比较直接。下面这个方案围绕“人来灯亮、人走门锁”的典型场景展开,核心逻辑是:传感器上报事件 → 你的服务器接收并判断 → 下发指令给执行设备。代码示例以Node.js和Python为主,方便你快速验证。
解决方案:利用芯步开放接口实现“人来灯亮、人走灯熄/关门”的场景联动
核心逻辑:这本质上是一个事件驱动的架构。我们需要把“人体传感器”当成触发器,把“门禁/照明”当成执行器,中间由你自己的服务器(或云函数)做“大脑”来接收消息并下发指令。
第一部分:准备工作与选型
要实现“一路门禁+一路照明”,我们需要以下硬件(假设你已购买):
传感器(感知层): 推荐使用 智能人体存在雷达传感器。普通的红外传感器对静止的人体不敏感,雷达传感器能检测微动,防止人还在厕所里灯突然灭了。
控制器(执行层):
照明控制:智能触摸墙壁开关(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秒),服务器应该发送关灯指令。
代码调整:
第四部分:高级技巧与避坑指南(口语化警告)
关于门禁的“reset”妙用
千万不要直接发
{“power”: 0}来开门,因为那样电磁锁会一直断电,门就一直没锁,不安全。正确姿势:用
{“reset”: 3000}。意思是:立刻断电(开门),3秒后自动恢复供电(锁门)。这就实现了“刷卡/感应开门,几秒后自动锁门”的完美效果。
关于“一路”控制的注意点
如果你买的是 1路智能开关 ,控制照明就用
power字段。如果你买的是 2路/4路/8路控制器 ,想控制第一个灯,命令是
power1;第二个灯是power2。比如开第一路灯:{“power1”: 1}。
如果不想买服务器(低成本方案)
芯步平台本身支持“云端规则引擎”。你可以尝试在控制台直接设置联动规则:如果“传感器有人”则“执行打开开关”。
二次开发的价值:直接设置规则虽然简单,但缺乏逻辑灵活性(例如:晚上10点后开灯才开门禁,白天只开门不开灯)。通过调用接口自己写代码,就是为了解决这种复杂的个性化需求。
调试技巧
用 Postman 先测试接口。只要 Postman 能控制你的灯亮灭,代码就能。
签名算法容易出错,先写个简单的脚本打印出
sign,对照官方文档验证一下。
总结
通过芯步的开放接口,二次开发其实就是在做“拼图”:
接收传感器的状态(HTTP回调)。
判断业务逻辑(if 有人)。
调用控制接口(HTTP请求发送
power或reset命令)。
只要跑通上面那个 Node.js 脚本,你的“一路门禁一路照明”联动系统就搭建完成了。剩下的就是把它部署到你的服务器上,让它7x24小时运行。