CATALOG

这是一个比较具体的工程对接问题。我结合芯步的公开接口文档,以“1路墙壁门禁照明一体开关”为例,梳理了从硬件配网到代码接入的完整方案。

一、 咱们先聊聊这个场景

哥们儿/姐们儿,如果你现在手头有个项目,需要把楼道、地下室或者某个办公室门口的墙上面板给“收编”进你的系统里,那咱们遇到的问题是一样的。

这东西挺有意思,它是个 “二合一” 的设备。说白了,它表面上是个灯开关,按下去灯亮;但它里面其实藏着门禁继电器的功能(就是控制门锁磁力线的通断)。现在我们要做的,就是把它换成芯步的智能版本,然后用代码去控制它。

别看它既要管灯又要管门,在芯步的体系里,逻辑其实很简单:控制它就是发几条HTTP请求的事儿。

二、 准备工作:硬件先“上网”

在写代码之前,咱们得先让这个开关连上网(配网)。芯步的设备有个好处,不需要买额外的网关,直接连你现场的2.4G WiFi就行。

  1. 下载“芯步”App或者小程序(这个你直接去他们官网扫就行)。

  2. 长按面板上的某个功能键(具体看说明书,一般是长按待机键或某组合键),直到指示灯快闪,这时候它在发射WiFi信号了。

  3. 在App里添加设备 -> 选择“智能墙壁开关/门禁类” -> 输入WiFi密码。听到“滴”一声或者指示灯常亮,就说明这硬件已经“活了”,有了自己的IP地址。

一个小贴士:为了开发调试方便,先登录芯步的开放平台后台(工作台)。你可以在后台的设备列表里看到这个设备的唯一ID(通常是纯数字的一串),这个ID就是我们接下来要用的“身份证”。

三、 核心对接:软件怎么“摸”到它?

这是最激动人心的部分。芯步的接口可能是他们最大的亮点——全是HTTP API,没那么多MQTT的破事(虽然它也支持)。

你不用去搭什么复杂的MQTT Broker,也不用搞长连接心跳,只要你的软件能发HTTP请求(现在什么Python、Java、PHP、Go甚至Excel VBA都能发),就能控制它。

1. 准备钥匙(AppKey 和 Secret)

去芯步开放平台的“开发设置”里:

  • 记下你的 AppID

  • 设置/记下 AppSecret

懒人/调试模式如果是第一次搞,别急着算签名(Sign)。先把后台的 “调试模式” 开关打开。

打开后,你调用接口时可以不传 sign 和 ts(时间戳),系统不校验签名,先把流程跑通再说。等上线前再关掉,把签名算法加上就行。

2. 找到你要控制的东西(Device ID)

在后台的“设备管理”列表里,找到你刚才配网那个开关。你会看到一列叫 “设备ID” (Device ID)的数字,比如 12345678。这就是你的目标。

3. 动手发命令(实战接口调用)

根据芯步的接口定义,控制设备的标准地址是:http(s)://api.thingboot.com/{你的AppID}/device/control/

假设我们要做两个动作:开灯开门

通常,这种一体开关会有两个继电器(Relay)。

  • 继电器1(Relay 1):接照明灯。

  • 继电器2(Relay 2):接门锁(磁力锁/电插锁)。

针对这个产品的控制指令,我们来看怎么写代码(这里用伪代码/Curl示例,你看懂逻辑就能移植到你的项目里):

第一种场景:照明控制(开/关灯)这是一个最简单的开关控制,我们下发 power1 参数(假设1路是灯)。

如果这时候灯亮了,恭喜你,对接完成了一半

第二种场景:门禁控制(开门动作)控制门锁稍微特别一点。门锁通常不能长时间通电,它是“通电开锁”或者“断电开锁”,但无论如何,你发给它的指令一般是一个脉冲(Point),就像按一下门铃一样,触发一下就行,不用一直开着。所以我们用 point1 命令(触发1路脉冲)。

对于门禁,你甚至可以用更高级的密码控制功能。如果你的项目是办公楼访客系统,你可以直接调用API下发密码,而不需要物理接触设备:

这就很爽了,完全不用布线到前台,软件直接改密码

四、 更高级一点:带“状态”反馈的闭环

刚才我们只是单向发指令。在实际项目中,UI界面是需要知道“这灯到底是开着还是关着?”的。

芯步有两种方式拿到状态:

  1. 主动查询(简单轮询)就是你后端写个定时任务,每5秒调一下获取设备状态的接口,把数据存数据库,前端来读。适合设备数量不多的情况。

  2. 异步推送(专业Webhook)在你的项目里写一个接收数据的接口(Callback URL),在芯步后台配置好。每当有人按了墙壁上的物理按键,或者门被打开了,硬件会主动上报数据到你的服务器。

例如:保安按了墙上的出门按钮,你的服务器立马收到一条“某某门禁被打开”的日志。

五、 总结一下这个方案

用芯步的接口搞这个“照明+门禁”一体开关,技术路径就三步:

  1. 硬件配网:插电、连WiFi。

  2. 获取ID:在后台抄设备编号。

  3. HTTP请求:在代码里拼一个JSON,写一句 requests.post(...)

为什么推荐这么搞?

  • 对于门禁:你不需要买昂贵的门禁控制器,不用接RS485总线,一个开关 + 一把锁,走WiFi就能远程开门,成本极低。

  • 对于照明:顺手把照明也做了自动化和远程控制,晚上加班的人不用摸黑找开关,直接在你们的管理软件上点一下灯就亮。

这套方案同样适用于控制智能通断器、智能插座等几乎所有芯步的硬件,因为它们共用同一套API规范。只要你会控制这一个开关,等于你掌握了这个平台所有设备的接入方法。