CATALOG

一、先聊聊“痛点”:为什么弱电间需要这个?

做过运维的兄弟都知道,弱电间(或者叫弱电井/配线间)是个让人又爱又恨的地方。平时没人去,但一去就是紧急情况——交换机重启、跳线排查、或者某个设备“死”在那里了。

这时候你冲到弱电间,乌漆嘛黑,第一个动作肯定是摸手机开手电筒,或者摸索着找开关。

我们的目标是:人来灯亮,人走灯灭,顺便还能上报“有人进入”给监控系统。要是能联动排风扇或者做个安防联动,那就更完美了。

今天我就结合芯步的吸顶式智能存在传感器(带AC直出那种),聊聊怎么用几百行代码把它集成到自己项目中。

二、选型说明:为什么是这款传感器?

市面上人体传感器很多,但弱电间场景有几个特殊要求:

  1. 不需要网关——弱电间本来设备就多,再塞个网关?麻烦。这款是WiFi直连的,2.4G就行

  2. 能直接控制强电——它自带一路AC输出,可以接灯或者排风扇,不用再外挂继电器

  3. 上报方式开放——HTTP数据上报,你可以配置自己的服务器地址,数据直接往你后台推

当然它有红外版和雷达版两种。弱电间如果机柜遮挡多,雷达版可能更合适(穿透性好一些),但红外版性价比高,5米探测距离对于普通弱电间够用了

三、集成思路:整体架构

说白了就三步:

但这里有个细节:传感器本身就可以直接控制灯(它自带继电器输出),所以即使你的服务器挂了,人来灯亮这个基础功能不受影响。你只需要把“上报”这个能力利用起来,做扩展联动。

整体架构图(脑补一下):

flowchart LR
    A[吸顶存在传感器] -->|HTTP上报| B[你的后端服务]
    B -->|联动指令| C[其他设备/系统]
    
    A -->|直接控制| D[弱电间照明]
    A -->|直接控制| E[排风扇]
    
    B -->|写入| F[数据库/日志]
    B -->|推送| G[钉钉/企微/短信]
    
    style A fill:#4A90D9,stroke:#333,stroke-width:2px,color:#fff
    style B fill:#50C878,stroke:#333,stroke-width:2px,color:#fff
    style F fill:#FFB347,stroke:#333,stroke-width:1px,color:#fff
    style G fill:#FF6B6B,stroke:#333,stroke-width:1px,color:#fff

四、动手实操:从拿到硬件到跑通代码

4.1 硬件安装要点

这玩意儿是吸顶安装的,直接接AC 100-250V市电。弱电间一般都有吊顶或者天花板,找个合适位置拧上去就行。

关键点:它的负载输出是继电器触点,阻性负载(白炽灯)能到2200W,但如果是LED灯(感性负载)就只能350W了。弱电间的灯通常是LED筒灯,别接太多。

接线示意图(文字版):

  • 火线进 → L端

  • 零线进 → N端

  • 灯的线接到“输出”端

接好之后,传感器自己就是个智能开关。

4.2 配网:让设备连上WiFi

用芯步的App先配网,这步没啥好说的,扫一下机身二维码跟着走就行。配网成功后会分配一个设备ID,记下来,后面接口调用要用。

4.3 核心:配置上报地址(这一步最重要)

芯步的传感器支持“私有化部署”,你可以配置自己的接收服务器地址

配置方式:通过芯步的开放平台API,或者直接在控制台里设置消息推送URL。这个URL就是你后端服务的接口地址,传感器检测到状态变化时,会主动往这个地址发POST请求。

4.4 服务端接收:一个简单的Flask示例

不管用什么语言,核心就是接收HTTP POST。这里用Python写个最简版本,你看完就能改到自己项目里:

4.5 下行控制:反过来控制传感器

有时候你需要远程操作,比如强制关灯或者重启设备。芯步提供了HTTP控制接口

接口地址

请求体

签名计算(最容易出错的地方):芯步的签名规则是双层MD5:sign = md5(md5(AppSecret) + ts)

注意看这个顺序:先把AppSecret做一次MD5,得到的字符串再拼接上时间戳(字符串拼接),然后整体再做一次MD5。

C语言示例官网有,我这里给个Python版:

4.6 支持的命令速查表

根据产品手册,这款传感器支持以下命令

命令说明
infrared_enable0/1红外模块开关
power0/1线路通断(控制灯的)
relay_change_00/1/no无人时线路动作
relay_change_10/1/no有人时线路动作

配置项可以通过控制台修改,比如“无人触发持续时间”可以设置成30秒到10分钟不等。弱电间场景设成30秒或者1分钟,别太短——万一你在里面理线理到一半灯灭了,挺烦人的。

五、两个典型场景

第一种场景:弱电间门禁联动

你希望有人打开弱电间的时候,系统记录下来,并且自动打开排风扇。

实现逻辑:传感器装在弱电间天花板上,检测到有人→上报到你的服务→服务判断机柜温度是否过高→决定是否开风扇。

当然风扇也可以直接接传感器的AC输出,这样来人就转,人走停,更简单粗暴。

第二种场景:安防联动(下班后闯入告警)

如果你有上下班时间的概念(比如18:00-9:00是非工作时间),这个时间段内传感器上报“有人”,你的服务直接推送到钉钉/企微群,甚至触发声光报警。

代码逻辑就是在接收接口里加一个时间判断:

六、几个避坑

  1. WiFi信号问题:弱电间可能在角落,2.4G信号穿墙能力还可以,但还是提前测一下信号强度

  2. 签名算法:芯步的签名是md5(md5(secret)+ts),不是常规的md5(secret+ts),注意嵌套顺序

  3. 红外 vs 雷达:红外对静止的人检测不灵敏(人坐着不动可能会误判为无人),弱电间里人在走动的话问题不大。如果预算够,直接上雷达版,能检测呼吸

  4. 负载功率:记得算一下灯的功率,LED灯是感性负载,最大只能350W,接多了会烧继电器

  5. 设备ID唯一性:每个设备的ID是固定的,保存在控制台,别搞混了

七、写在最后

芯步这套东西最大的好处是开放——没有平台锁定,你配好自己的服务器地址,数据直接往你那儿推。集成起来也不复杂,核心就是HTTP协议,任何语言都能接。

弱电间这个场景其实挺典型的:人少、偶发、但对灯光和监控有刚需。用存在传感器配合简单的服务端逻辑,花几百块钱就能把“人来灯亮、人走灯灭+告警联动”整套搞起来。

如果你手头有其他第三方设备(比如海康的摄像头、树莓派的显示屏),也可以在这个服务端里做转发联动——反正都是HTTP,串起来就行。

有问题欢迎交流,祝你的弱电间早日“通电”!