芯步的壁挂式人体存在雷达传感器开放了标准的HTTP API接口,二次开发的核心流程就是:获取凭证→计算签名→下发控制命令→接收设备上报数据。下面我按步骤拆解清楚。
1. 搞清楚你的硬件有啥“料”
首先,我们得知道手里这个壁挂雷达能干啥,才能知道下什么命令。
根据芯步的产品手册,这款壁挂式人体存在传感器通常配备:
雷达模块:探测是否有人(微微动也能感知)。
红外模块(部分型号):辅助探测,减少误报。
蜂鸣器:可以控制它发声。
继电器/线路输出:有的型号带一路电源输出,可以控制灯或其他电器开关 。
支持的核心命令(也就是我们要用HTTP去调用的功能):
| 命令字段 | 作用 | 参数示例 |
|---|---|---|
radar_enable | 开启/关闭雷达模块 | 1 (开) / 0 (关) |
buzzer | 控制蜂鸣器 | 1 (响) / 0 (停) |
power (或power1) | 控制自带继电器的通断 | 1 (接通) / 0 (断开) |
infrared_enable | 开启/关闭红外模块 (若有) | 1 / 0 |
一句话总结: 如果你是想让传感器发出声音或控制灯,你就去控制buzzer和power;如果你只是想开关探测功能,就用radar_enable。
2. 准备好你的“钥匙” (AppID & AppSecret)
要对设备进行二次开发,就像进自己家大门需要钥匙,你需要去芯步的后台拿两样东西:
注册/登录:先去芯步官网注册账号,进入工作台。
获取凭证:在“物联网控制台” -> “开发设置”里,找到你的
AppID和AppSecret。AppID是你的用户名,AppSecret是你的密码,千万别把AppSecret写在网页前端代码里,会被别人偷看。
3. 核心代码:怎么用HTTP远程控制它?
芯步的接口设计挺友好的,其实就是发一个POST请求。难点在于签名计算,这是为了防止别人乱发指令搞破坏。
第一步:搞懂接口地址和参数
请求地址:
https://api.thingboot.com/{你的AppID}/device/control/?sign={签名}&ts={时间戳}请求方法:
POST请求头:
Content-Type: application/json请求体(Body): 一个JSON字符串,包含
device(设备ID)和order(命令) 。
第二步:攻克签名算法 (Sign)
这个稍微绕一点,但看明白就不难。官方规则是:
Sign = md5( md5(AppSecret) + ts )
通俗拆解:
把
AppSecret(你的密码)做一次MD5加密,得到一串字符。把当前的时间戳(
ts,秒为单位)拼在这串字符后面。把拼接好的新字符串再做一次MD5加密,最后得到的才是
Sign。
第三步:直接上代码 (Python示例)
抛开复杂的文档,我们直接看代码怎么写。假设你的AppID是abc123,AppSecret是xyz789,想控制设备123456让蜂鸣器响一下。
运行上面这段代码,如果一切正常,你的壁挂雷达传感器就会“滴”一声。
常见控制命令示例:
如果你需要做不同的事情,就替换上面代码里的order部分:
开灯(控制继电器输出) :
{"power": 1}关灯
{"power": 0}关闭雷达探测(节能) :
{"radar_enable": 0}
4. 进阶玩法:怎么接收传感器的“汇报”?
光控制还不够,你得知道传感器什么时候检测到人了。这是通过“消息推送”实现的。
当传感器检测到“有人”变成“无人”时,它会主动往你的服务器发请求 。
怎么配置?
在芯步控制台 -> 找到“消息推送”设置 -> 填入你的服务器接口URL(例如:https://你的域名.com/api/device_report)。
你的服务器需要做什么?
写一个接口来接收数据。当传感器检测到有人时,大概会收到这样的数据:
应用场景举例:你收到radar_target为1(有人)时,可以让你的后台程序自动去调用控制另一台设备开灯。这就是联动。
5. 偷懒技巧:局域网控制 (私有化)
如果你担心云端网络延迟,或者不想把数据经过芯步的云服务器,这款设备支持局域网控制。
原理:传感器连上你家WiFi后,会获得一个局域网IP(比如
192.168.1.100)。操作:直接向
http://192.168.1.100/control发送POST请求就行 。优点:极快,大概几十毫秒响应。断网了也能用。
缺点:你必须和它在同一个WiFi下(同一个网段),手机在外网(用5G)就控制不了了。
总结一下,你要走的流程:
看手册:确认你买的型号支持哪些
order命令(是power还是power1)。拿钥匙:去后台拿
AppID和AppSecret,记下DeviceID。写代码:复制上面的Python代码,把签名算法封装成一个函数(所有设备都能复用)。
做联动:设置消息推送URL,写接口接收数据,实现自动化逻辑。
其实这个二次开发没什么高深的技术壁垒,就是标准的HTTP请求,把官方文档的示例代码跑通了,你就已经成功了90%。