一、咱们先聊聊这个传感器能干啥
嘿,创客小伙伴们!今天咱们来折腾一下芯步的这款吸顶式高精度红外传感器(型号:UNI-CGQ-RT-XD-H)。这玩意儿说白了就是个“人肉探测仪”——你把它往天花板上一装,它就能告诉你头顶上到底有没有人。
它用的是WiFi 2.4G直接联网,不需要额外的网关,这点挺省事的。最核心的功能就两个:一是检测“有人/无人”,二是给你开放了HTTP接口,让你写代码去调它。这就很舒服了,不管你后端用Python、Java还是Node.js,只要会发HTTP请求就行。
二、准备工作:把设备连上网
在写代码之前,你得先把传感器配上网。芯步这边有两种方式:
方法一:电脑控制台配网
登录芯步官网,进到你的工作台,找到“物联网控制台”
左侧菜单点“网络配置”,把你家WiFi名称和密码填进去(注意:只支持2.4G频段)
保存后,点击“为设备配置此网络”,然后按照页面提示,拿手机开个热点,让设备连上
方法二:小程序配网(推荐,手机就能搞定)
微信搜“芯步小程序”,登录你的账号
点右上角“加号”,添加你家的WiFi信息
同样的,跟着提示拿手机热点把设备“拽”进网络
设备配网成功后,指示灯就不闪了,稳稳当当亮着,这时候你就可以去控制台看到它了。
三、接核心接口:获取你的钥匙(AppId和AppSecret)
要调接口,你得有两把钥匙:
AppId:你的应用ID,相当于“用户名”
AppSecret:你的开发者密码,相当于“密码”,需要你自己设置
这两个东西在哪找?进到你的工作台,左侧导航栏找到“开发设置”,就能看到了。
如果你是刚开始测试,可以先把“调试模式”打开,这样就不用算签名了,省事。但要上正式环境,就得乖乖走签名流程。
四、硬核部分:接口怎么调
4.1 签名怎么算(生产环境必看)
芯步的接口安全机制用的是双重MD5签名,听着唬人,其实就两步:
把你拿到的AppSecret先MD5加密一次
把加密结果拼上当前时间戳(单位是秒),再把整个字符串MD5一次
公式长这样:sign = md5( md5(AppSecret) + ts )
举个例子:假设你的AppSecret是 abc123,当前时间戳是 1704067200
第一步:md5("abc123") = "e99a18c428cb38d5f260853678922e03"
第二步:md5("e99a18c428cb38d5f260853678922e031704067200") = 某个32位字符串,这就是sign
代码实现(Python版,简单直观):
4.2 给设备下命令
接口地址格式:https://api.thingboot.com/{你的AppId}/device/control/?sign={你的签名}&ts={时间戳}
请求方式:POST,Content-Type: application/json
下发命令的body长这样:
我们这个红外传感器支持哪些命令? 查了一下产品手册,红外模块可以开关:
{"infrared_enable": 1}表示打开红外探测功能{"infrared_enable": 0}表示关闭
一个完整的curl示例:
4.3 怎么接收传感器上报的数据(这才是重点)
注意,前面说的是“下发命令”,但传感器这种设备主要是“主动上报”——它检测到有人或没人了,会主动把数据推给你。
那你怎么收数据呢?芯步提供的是消息推送机制。你需要在你自己的服务器上开一个HTTP接口(URL自己定),然后在控制台配置这个URL。传感器检测到状态变化时,平台会POST数据到这个地址。
传感器上报的数据包含什么? 根据产品手册,红外模块有两个关键属性:
infrared_enable:红外模块开关状态(1开0关)infrared_target:红外感应结果,1表示有人,0表示无人
另外还有触发事件,当红外状态变化时,会触发infrared_detect事件,携带着当前的状态参数一起发过来。
一个简单的Node.js接收服务示例:
4.4 几个实用配置
芯步的红外传感器还挺贴心的,给你留了几个可调的配置项
红外有人触发持续时间 (
infrared_change_1):检测到有人后,多久上报一次。可以设成马上(0)、1秒、2秒...最长5秒。红外无人触发持续时间 (
infrared_change_0):检测到无人后,延迟多久上报。可选马上、30秒、1分钟、最长10分钟。红外开机状态 (
infrared):设备通电后红外模块默认是开还是关。
这些配置项在控制台里就能改,不用写代码,但要注意别频繁改,Flash有擦写次数限制。
五、完整接入流程总结(一张图走通)
物理安装:把传感器吸顶装好,接上电(工作电压AC 100-250V)
配网:用小程序或控制台,把设备连到你家的2.4G WiFi
拿钥匙:去控制台拿到AppId和AppSecret
开调试(可选):打开调试模式,省去签名步骤,先跑通流程
写接收接口:在你的服务器上开一个HTTP接口,等着收数据
配置回调:把接口URL配到芯步控制台
测试验证:在传感器前面走两步,看能不能收到
infrared_target: 1
六、踩坑提醒(过来人的经验)
WiFi频段:这玩意儿只支持2.4G,你家路由器要是开了双频合一,先分开,不然可能连不上
私有化部署:如果你项目要求纯内网环境,芯步也支持自建消息服务器,这点比较良心
调试模式记得关:测试阶段开调试模式没问题,上了生产环境一定要关掉,不然有安全风险
响应速度:从命令下达到设备响应大概80-120毫秒,做个灯光联动完全够用
好了,大概就这么些东西。说白了就是:设备上报数据 → 你的服务器接收 → 你爱咋处理咋处理。做创客项目嘛,拿到数据才是第一步,后面配上摄像头抓拍、配上音响报警、配上灯光联动,那才是真正好玩的地方。动手试试吧!