CATALOG

这是一份关于“商场店铺人体感应照明:如何将芯步吸顶式雷达传感器接入到自己的项目中”的解决方案。

我将从硬件选型、接口协议、业务逻辑到代码实战,为你梳理一遍,尽量写得详细但不枯燥。

一、 为什么选雷达,而不是红外?

很多做商场改造的兄弟一开始都会问:“我买个几十块的PIR(红外)人体感应开关不香吗?为什么非要用什么‘毫米波雷达’?”

这里得说点大实话:在商业场景里,用红外感应做照明,简直就是给自己挖坑。

你想想,商场店铺(比如一个高端服装店或共享自习室)是什么场景?

  1. 人不可能是一直动的: 顾客试衣服要静止、在自习室看书要静止。红外只能感应“运动”,一旦人停下来,灯就灭了,顾客得跟跳广场舞似的挥手,体验极差。

  2. 环境温度高: 夏天商场很热,红外在这种环境下容易“失明”。

  3. 安装高度: 商场层高动辄4-6米,普通红外感应距离不够。

所以,我们选芯步的吸顶式高精度雷达传感器。它的核心优势是:检测“人体存在”,哪怕人坐在那里一动不动(比如静止看书、玩手机),雷达也能通过呼吸带来的胸腔起伏微动,判断“有人”,保持灯常亮

二、 硬件选型与准备

在芯步的产品线里,针对照明控制,我推荐这个组合套餐,这也是商场里最成熟的玩法:

1. 核心传感器:智能人体存在雷达传感器[吸顶]

  • 型号参考: UNI-CGQ-RT-XD-L (或者类似的支持radar_enable命令的型号)。

  • 为什么选它: 这款传感器直接接 100V-250V 强电,不需要额外买电源适配器,直接从天花板的灯线上取电就行。它自带 1路AC(交流电)输出,这意味着它可以像继电器一样直接切断或接通灯具的电源

  • 探测范围: 一般是5-6米半径,吸顶安装能覆盖店铺中央区域。如果是超高的大堂(6米),可以看看更高规格的型号(如某些支持6米挂高的雷达)

2. 执行器:智能照明控制器(可选,视情况而定)

  • 场景A(小店铺,1-2路灯): 传感器自带的AC输出就够用了。直接把灯接在传感器的负载线上,一个设备搞定感知+控制。

  • 场景B(大店铺,多路分区): 比如一个店分了好几个区域,需要根据人来开不同的灯。这时候需要搭配 智能照明控制器(4路/8路)。传感器只管“看”人,看到人了就通过HTTP接口告诉控制器,控制器再去开灯

3. 网络环境

  • 传感器和控制器都走 WiFi 2.4G。商场里的2.4G信号干扰比较大,部署时确保WiFi信号覆盖良好,或者使用企业级AP

三、 接入核心:HTTP API 对接流程

芯步这点做得比较友好,完全不用改现有的软件架构,只要你后端能发HTTP请求,就能搞定。

整个对接分为两步:设备拿到指令传感器上报数据

1. 准备工作:获取密钥

在芯步控制台完成注册和设备配网后,你会拿到两个关键字符串:

  • AppId:你的应用ID。

  • AppSecret:你的开发者密码(用于加密,别写死在代码前端)。

2. 核心接口:下发命令(控制灯/开雷达)

这是最常用的接口。比如你要开启雷达感应模式,或者远程关灯。

  • 请求地址:https://api.thingboot.com/{你的AppId}/device/control/?sign={签名}&ts={时间戳}

  • 签名算法(稍微口语化解释):AppSecret 做一次MD5加密,得到的结果加上当前的时间戳,再整体做一次MD5。说白了就是为了防止别人随便调你家接口,增加了一道动态密码锁

  • 举个例子(PHP风格伪代码):

3. 业务逻辑:事件上报(Webhook)

你的雷达传感器一旦探测到“有人”或“无人”,它需要通知你的服务器。

  • 设置回调地址: 在芯步后台设置你的服务器接收地址(例如 http(s)://你的域名/api/sensor/callback)。

  • 上报格式: 当环境状态变化(如从无人变有人),传感器会主动POST一个JSON包到你的服务器

  • 数据格式大致如下:

    你的服务器收到这个包,就知道:哦!店里来人了,赶紧保持灯亮。

四、 完整的业务逻辑搭建(手把手)

为了让你更清楚,我们模拟一下从“无人”到“有人”再到“无人” 的循环是怎么在代码里跑通的。

初始设置

你需要在自己项目的数据库里建两张表(或者Redis缓存):

  1. 设备表:存这些传感器的ID和状态。

  2. 配置表:存这个店里的“延时关灯”时间,比如 60秒

流程图解

第一步:顾客进店

  • 物理层: 雷达传感器检测到人体微动。

  • 网络层: 传感器向你的服务器发Webhook:{"status":"occupancy"}

第二步:你的后端处理(重点)

第三步:顾客离店(关键!)

  • 物理层: 雷达检测到无人(此时并不一定真的没人,为了防止误判,雷达内部通常有5-30秒的“无人确认”防抖逻辑)。

  • 网络层: 传感器发Webhook:{"status":"vacant"}

第四步:你的后端启动倒计时

第五步:灯灭

  • 60秒倒计时结束,且没有再探测到人,你的后端发出HTTP指令给设备:{"power":0}。灯关闭,省电。

五、 避坑指南与高级玩法

作为一个踩过不少坑的人,给你几点小:

1. 关于“吸顶”的安装位置

  • 不要装在空调出风口旁边。虽然毫米波雷达比红外抗干扰强,但风吹树叶动,或者布帘晃动,也会引起误报。最好装在人流主要通道的正上方

  • 高度: 芯步这款3-5米。如果商场是那种挑高6米的展厅,记得买专用高挂版或者调整灵敏度。

2. 接口调用的“签名”坑

很多新手会在这里卡住。签名是 md5(md5(密码) + 时间戳)

  • 注意:+ 在这里是字符串拼接,不是数学加法。

  • 时间戳同步: 服务器的系统时间要准,如果服务器时间跟真实时间差太多,签名会验证失败

3. 商业场景的“二次过滤”

雷达虽然能感知微动,但如果店里养了猫狗或者有扫地机器人,雷达也是会感应的。

  • 解决方案: 在芯步的雷达配置里,调低灵敏度(设定一个最小目标大小),或者直接在代码逻辑里做特殊处理(比如深夜模式才开启节能,白天不管有没有动物都保持背景照明)。

4. 联动语音(提升体验)

既然接入了HTTP接口,别只用来开灯。

  • 当传感器从 vacant 变成 occupancy 时,除了开灯,顺便调用一下店里的小喇叭(如果有语音控制器):{"play:gbk:16":"您好,欢迎光临"}。瞬间感觉就高大上了。

总结

把芯步的吸顶雷达接入商场照明项目,其实就是三步走:

  1. 装硬件:吸顶装好,通上电,连上WiFi。

  2. 写接口:搞定签名,写好接收Webhook的代码。

  3. 定逻辑有人=立刻开灯+重置计时器;无人=延迟关灯。

这一套方案跑通了之后,相比传统红外,顾客在试衣间发呆灯也不会灭,体验好了,电费也省了。而且芯步这套HTTP API对程序员相当友好,基本不需要看太久文档,直接Postman调通就可以开始写了。