芯步的壁挂式人体微动传感器基于毫米波雷达技术,通过开放HTTP接口实现数据上报与指令下发。二次开发的核心是对接设备的消息推送接口(接收有人/无人事件)和调用设备控制接口(调整探测灵敏度等参数)。以下从接口机制、签名算法、事件处理、参数调优四个层面展开。
一、 开放接口机制与二次开发基础
芯步的壁挂式人体微动传感器(如智能人体存在雷达传感器2)摒弃了私有SDK的束缚,采用标准的 HTTP/HTTPS协议 进行通信。这意味着无论你使用的是 Python、Java、PHP、Node.js 还是 C#,只要能够发起HTTP请求,就可以完成二次开发。
在二次开发中,主要涉及两个核心接口方向:
设备状态上报(接收数据): 传感器在探测到“有人移动”、“有人微动”或“无人”时,会主动向指定的服务器URL推送数据。
设备控制(下发指令): 开发者通过API主动查询设备状态或修改传感器参数(如灵敏度、检测距离)。
二、 二次开发环境与签名配置
在编写代码前,需要在芯步开发者后台获取关键凭证,这是通信的安全基础。
1. 准备凭证
在芯步控制台获取以下三个关键字符串:
AppID:应用的唯一标识。
AppSecret:用来生成签名,保障数据安全。
Device ID:设备的唯一ID(从控制台或设备列表获取)。
2. 签名算法
所有HTTP接口请求都需要携带 sign 和 ts 参数,以防止接口被恶意篡改。芯步的签名算法逻辑如下,你需要在代码中实现这个函数
步骤1:将 AppSecret 进行 MD5 加密,得到
Secret_MD5。步骤2:将
Secret_MD5与当前的时间戳ts(精确到秒)拼接成字符串。步骤3:将拼接后的字符串再次进行 MD5 加密,得到最终的
Sign。
公式:Sign = MD5( MD5(AppSecret) + ts )
代码示意(Python):
三、 核心开发:实现“人体移动探测”的数据接收
要实现人体移动探测,核心是搭建一个公网可访问的数据接收服务器。当传感器感知到环境变化时,会向该服务器发送POST请求。
1. 配置数据上报URL
在芯步设备详情页或API调用中,设置设备的数据上报URL(也称为Callback URL或Webhook)。该URL指向你的服务器地址,例如:http://yourdomain.com/api/sensor/callback。
2. 解析设备上报的数据结构
当人体状态发生变化(如从“无人”变为“有人”,或“静止”变为“移动”),设备会发送如下格式的JSON数据到你的服务器。你需要解析 state 或对应的雷达数据字段。
典型数据字段解析(依据产品手册推测):
device_id:触发报警的设备编号。radar_state:雷达探测状态。1或exist:有人存在(包含微动,如呼吸、心跳)。0或none:无人。
moving_state:运动状态(可选,视具体型号而定)。
3. 后端接收代码实例(Python Flask)
你需要编写一个API接口来处理上报的数据,从而触发你的业务逻辑(如开灯、记录日志)。
四、 进阶开发:参数调优与远程控制
在基础探测功能实现后,你可能需要二次开发来调整传感器的灵敏度或探测范围,以适应复杂的办公或居住环境。
1. 下发控制指令
你可以通过调用芯步的统一API来修改设备配置。例如,调整雷达的探测距离或关闭蜂鸣器。
API请求示例:
URL
https://api.thingboot.com/{AppID}/device/control/?sign={Sign}&ts={ts}Method:POST
Body
注:具体的 order 命令字典(如 radar_enable 或 set_distance)需参考对应的产品手册。
2. 局域网内网二次开发(私有化部署)
对于对数据隐私要求高的用户,芯步的设备支持局域网通信。在二次开发时,你可以不经过云平台,直接通过设备的局域网IP进行控制。
适用场景:智能家居中控屏、本地自动化系统。
优势:无延迟、断网不断联。
五、 联调和需要注意的点
探测盲区与安装:壁挂式传感器非吸顶式,探测角度约120°,安装高度在1.5m-2m左右,避免对着空调出风口或大幅摆动的窗帘,以免产生误报。
微动与移动的区别:该雷达传感器能探测“微动”(如人坐着打字、睡觉翻身),区别于普通的红外移动传感器。在二次开发逻辑中,通常将“存在”视为一直有人,而不必纠结是“动”还是“静”。
网络稳定性:该设备使用WiFi 2.4G连接,开发时确保信号强度,在代码中增加设备心跳监测功能,以便及时发现设备掉线。
通过以上步骤,你就能基于芯步的开放接口,快速构建一套稳定的人体移动探测系统,并将其无缝集成到现有的智慧办公、安防或智能家居系统中。