CATALOG

通过芯步开放接口,可以将“永久密码”的验证事件作为触发条件,联动语音播报、灯光控制等设备。以下方案涵盖接口机制、签名算法、联动及典型场景代码实现。

1. 技术背景与概述

芯步的智能密码门禁设备(如智能密码门禁按键版)核心优势在于其全开放的HTTP接口。这意味着设备不仅仅是独立运行的门禁,更是整个物联网系统中的传感器和执行器

通过接入开放接口,开发者可以实现以下目标:

  • 状态感知:实时获取门锁状态及开门事件。

  • 权限管理:通过API远程增删“永久密码”。

  • 联动操作:当特定密码验证通过时,触发其他设备(如灯光、音响、摄像头)动作。

适用场景:

  • 短租民宿:保洁人员持“保洁密码”开门后,自动关闭新风系统或触发保洁播报。

  • 无人值守办公室:VIP客户开门瞬间,前台音响播报欢迎词,工位灯自动亮起。

  • 智慧仓库/机房:管理员开门时自动解除安防警戒。

2. 接入机制:签名与HTTP请求

所有联动操作基于HTTP协议。你需要通过芯步的开放平台API向设备下发命令或接收事件。

2.1 接口基础信息

  • 请求地址https://api.thingboot.com/{AppID}/device/control/

  • 请求方法:POST

  • Content-Typeapplication/json

  • 核心参数

    • device:目标设备ID(可在控制台获取)。

    • order:具体的执行命令(JSON字符串)。

2.2 安全签名算法

为了防止接口被恶意调用,每次请求需携带动态签名。芯步采用双重MD5加密机制

签名计算公式:

Sign = MD5( MD5(AppSecret) + ts )

步骤解析:

  1. 获取凭证:登录芯步工作台,获取 AppIDAppSecret

  2. 获取时间戳:获取当前的Unix时间戳(秒),例如 1715158400,赋值给参数 ts

  3. 计算MD5

    • 先将 AppSecret 进行一次MD5加密,得到 S1

    • S1ts 拼接成字符串 S1 + ts

    • 对拼接后的字符串再次进行MD5加密,得到最终的 Sign

2.3 请求示例(命令行)

3. 管理与下发“永久密码”的核心逻辑

要实现“自定义联动操作”,核心在于管理门禁的密码列表。芯步开放接口支持以下关于密码的操作

功能命令JSON参数示例说明
设置永久密码{"pwd":"123456"}新增一个永久有效的密码,设备会存储该密码。
删除指定密码{"delete":"123456"}删除特定的密码。
清空所有密码{"clear":"all"}恢复出厂密码状态(通常需保留一个管理密码)。
查询密码列表{"list": 1}获取当前设备存储的所有密码。

联动设计的“触发器”设定:虽然门禁本身不主动通过HTTP上报密码“值”,但联动逻辑通常由中间件(你自己的服务器)来完成:

  1. 在你自己的业务后台中,将“开锁密码”与“动作指令”绑定。

  2. 当用户输入密码时,门禁验证密码是否正确。

  3. (关键步骤) 一旦验证通过,门禁设备本身可以配置为向你的服务器推送消息(Webhook),或者你的服务器轮询门锁状态。

  4. 当服务器识别到“被密码xxx打开”的事件时,即刻下发“联动指令”给其他设备。

4. 实现自定义联动的设计

为了利用“永久密码”触发自定义操作,推荐以下架构模式:

架构流程:

  1. 预设联动规则:在你的SaaS平台配置“密码 888888”关联“播放语音欢迎词”。

  2. 用户操作:访客输入密码 888888

  3. 门禁处理:智能门禁验证密码有效,执行开锁。

  4. 事件上报:门禁设备通过接口回调通知你的服务器:“设备ID xxx 于 xx:xx 被密码验证开启”。

  5. 逻辑判断:你的服务器接收到事件,匹配关联规则。

  6. 执行联动:你的服务器调用芯步API,向智能语音音柱下发命令:{"play:gbk:16":"欢迎张先生莅临"}

5. 实战:Python实现“不同密码触发不同场景”

假设我们需要实现:当保洁输入“永久密码”时,开门后触发欢迎语音,只记录考勤;当管理员输入“VIP密码”时,开门后自动打开仓库灯光(控制智能通断器)

5.1 步骤1:初始化与签名函数

5.2 步骤2:监听门禁事件(模拟Webhook接收)

在实际生产中,需要使用Flask等框架搭建一个公网可访问的Webhook接收端。这里以伪代码展示逻辑处理部分。

5.3 步骤3:通过API远程下发/删除永久密码

有时候联动操作依赖于修改密码本身,例如某位员工离职,你需要远程删除他的永久密码。

6. 高级联动技巧和需要注意的点

6.1 保持状态与防抖

如果你配置了“开门亮灯、关门关灯”,需要考虑门磁状态。如果门长时间开启,频繁上报状态可能导致频繁调用API。

  • 解决方案:在你的服务器端设置状态锁。例如:开门事件触发后,5分钟内不再重复执行亮灯指令。

6.2 私有化部署与局域网控制

对于机房或高安全性项目,如果不想经过外网,芯步设备支持局域网(LAN)控制模式。你可以将上述API请求的域名替换为设备在局域网内的IP地址,实现纯内网联动,无需互联网

6.3 错误处理

在进行联动操作时,若API返回错误,常见原因如下

  • sign error:检查时间戳 ts 是否与服务器时间相差过大(通常需在5分钟内),或签名逻辑错误。

  • device offline:联动时目标设备(如语音音柱)未连接WiFi,导致指令无法送达。这在联动失败时,重试或记录日志。

7. 总结

通过芯步的开放接口,永久密码门禁不再是一个孤立的设备,而是整个智能控制流的“钥匙”。你可以利用永久密码的唯一性和稳定性,将门禁开锁事件作为触发源,结合智能通断器(控制灯光/电源)和智能语音设备(播报提示),构建完整的无人化、自定义安防接待系统。