这是一份关于“商场店铺人体感应照明:如何将芯步吸顶式雷达传感器接入到自己的项目中”的解决方案。
我将从硬件选型、接口协议、业务逻辑到代码实战,为你梳理一遍,尽量写得详细但不枯燥。
一、 为什么选雷达,而不是红外?
很多做商场改造的兄弟一开始都会问:“我买个几十块的PIR(红外)人体感应开关不香吗?为什么非要用什么‘毫米波雷达’?”
这里得说点大实话:在商业场景里,用红外感应做照明,简直就是给自己挖坑。
你想想,商场店铺(比如一个高端服装店或共享自习室)是什么场景?
人不可能是一直动的: 顾客试衣服要静止、在自习室看书要静止。红外只能感应“运动”,一旦人停下来,灯就灭了,顾客得跟跳广场舞似的挥手,体验极差。
环境温度高: 夏天商场很热,红外在这种环境下容易“失明”。
安装高度: 商场层高动辄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缓存):
设备表:存这些传感器的ID和状态。
配置表:存这个店里的“延时关灯”时间,比如 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":"您好,欢迎光临"}。瞬间感觉就高大上了。
总结
把芯步的吸顶雷达接入商场照明项目,其实就是三步走:
装硬件:吸顶装好,通上电,连上WiFi。
写接口:搞定签名,写好接收Webhook的代码。
定逻辑有人=立刻开灯+重置计时器;无人=延迟关灯。
这一套方案跑通了之后,相比传统红外,顾客在试衣间发呆灯也不会灭,体验好了,电费也省了。而且芯步这套HTTP API对程序员相当友好,基本不需要看太久文档,直接Postman调通就可以开始写了。