芯步的壁挂式高精度雷达传感器基于HTTP接口开放数据上行与指令下发能力,二次开发的核心是搭建一个中间服务器:接收传感器推送的人体存在/空状态数据,按业务逻辑判断后调用设备控制接口执行联动。以下方案涵盖环境搭建、签名计算、数据接收与指令下发等关键环节。
解决方案:基于芯步雷达传感器的自定义二次开发联动方案
一、 概述与设计
芯步的壁挂式高精度雷达传感器(如型号:UNI-CGQ-RT-L-BG2)不同于普通的红外传感器,它不仅能检测“移动”,还能检测“微动”和“静止存在”,即“人体存在”侦测。其核心优势在于开放了标准HTTP API接口。
要实现自定义联动操作(例如:人进灯亮、人离关空调、长时间无人报警),标准架构通常采用“云端/本地中转”模式,包含以下三个核心环节:
设备端:雷达传感器(数据源) + 执行器(如智能控制器、插座、喇叭)。
服务端(您的二次开发部分) :能够接收HTTP请求的服务器(公网云服务器或局域网本地服务器)。
通信协议:HTTP/HTTPS。
联动逻辑闭环传感器探测到状态变化 上报至您的服务器 您的服务器执行逻辑判断 调用API下发指令给执行器 执行器动作。
二、 准备工作与基础配置
在编写代码前,需要进行环境配置。根据芯步的开放接口规范
获取关键凭证
注册芯步账号并创建工作台。
在控制台的“开发设置”中获取 AppID 和 AppSecret(开发者密码)。
获取设备ID
在控制台查看雷达传感器以及待控制的设备(如控制器、插座)的 Device ID。
网络配置
芯步支持WiFi直连,无需网关。确保传感器和执行器均已连接至互联网(或局域网,如果做本地化部署)。
关键点:如果追求极低延迟且允许局域网内闭环,可将服务器部署在现场(如树莓派或本地PC),并在控制台配置“私有化”或局域网推送地址。
三、 核心技术:签名计算与接口调用
二次开发时,所有API调用都需要进行动态签名。芯步的签名算法为双重MD5加密。
签名公式sign = md5( md5(AppSecret) + ts )
开发步骤(伪代码逻辑) :
获取当前Unix时间戳(秒级),记为
ts。将
AppSecret进行一次MD5加密,得到secret_md5。将
secret_md5与ts拼接成字符串。再次对拼接后的字符串进行MD5加密,得到最终
sign。
下行控制示例(Python版)假设需求:当雷达检测到人离开(无人状态)时,关闭插座。
四、 二次开发核心逻辑:接收数据与解析
联动操作的关键在于接收传感器的状态变化,这通常有两种实现方式,选择方式一(被动接收):
方式一:自建消息服务器(推荐)传感器支持“自定义联动”,即可以主动向指定URL推送数据。
设置:在芯步控制台中,将设备的“消息推送地址”设置为你的服务器地址
http(s)://your-domain.com/api/radar_callback。接收数据:搭建一个Web服务(如Flask, Express, Spring Boot)来接收POST请求。
数据格式:传感器会将“有人/无人”、“距离”、“实时能量值”等以JSON格式推送到你的服务器。
服务端接收代码示例(Python Flask版)
方式二:主动轮询(不推荐)如果无法使用公网地址,可以定时调用API查询设备状态,但对于需要实时响应的联动场景,这会增加延迟且可能触发API频率限制。
五、 实战场景:实现复杂自定义联动
利用雷达传感器的“高精度”特性(区分微动与存在),可以实现比普通红外更智能的场景。
场景 A:智慧办公室/自习室(人来灯亮,人走灯灭)
需求:避免红外传感器在人静坐不动时误判无人导致关灯。
逻辑:雷达上报“存在” 服务器保持灯开启;雷达上报“无人”且持续一段时间(如60秒) 服务器才发送关灯命令。
代码实现:在接收回调处设置一个定时器(
time.sleep或延迟队列),若60秒内未收到“有人”信号,再下发关灯指令。
场景 B:安防联动(闯入报警 + 声光震慑)
设备:雷达传感器 + 智能语音喇叭/声光报警器。
逻辑
传感器检测到无人时段(如深夜)有人员移动。
服务器判定为非工作时间。
服务器调用语音喇叭接口,发送命令
{"play:gbk:16":"你好,您已进入监控区域,请速离开"}。同时调用控制器接口触发警铃。
场景 C:联动控制器实现复杂继电器动作若需要控制门锁或卷帘门,可以使用“4路控制器”。
命令格式
{"power1":1}(接通第一路)。高级联动:结合雷达的“距离”数据(如果设备支持)。例如:人员靠近1米内,执行开锁(通电1秒后立即断电,防止烧锁)。
实现
{"point":{"relay":[1],“interval”:1000}}实现“点动”控制。
六、 局域网私有化部署(高要求方案)
针对数据安全或高稳定性场景,芯步支持私有化部署。
原理:将设备的数据上报目标IP修改为本地服务器的IP。
优势:断外网依然可以联动,延迟极低(本地局域网延时通常 < 20ms)。
二次开发调整
上述代码中的
api.thingboot.com需要替换为本地服务器的地址。签名算法不变,但网络传输不再经过外网。
七、 总结和需要注意的点
接口调用机制:雷达可能在有人移动时高频上报数据。请在服务端做好防抖处理(例如:只在状态从“无”变“有”时触发一次,而不是每次检测都触发写数据库或发指令),避免频繁调用API或错误重复发送指令。
日志记录:请一定要在回调接口中记录详细的日志(Request/Response),方便排查“为什么灯没亮”这类问题。
命令确认:不同批次的模块支持的
order命令可能略有不同。请请一定要查阅具体设备的产品手册,确认radar_enable或presence的具体字段名。时间同步:签名使用了时间戳(
ts),请确保服务器系统时间准确,否则会鉴权失败。
通过上述步骤,您可以快速利用壁挂式高精度雷达传感器的数据,结合任何支持HTTP的编程语言,构建出符合特定业务需求的自动化控制系统。