芯步的35A智能断路器支持HTTP接口调用,查询开关状态的核心是调用/device/info/接口。下面从接口准备、签名计算、实际调用到结果解析,一步步说明怎么接入。
一、准备工作:先拿钥匙
在开始敲代码之前,你需要在芯步的后台拿到两样东西,这两个就相当于你操作设备的“账号”和“密码”:
AppID:你的“用户名”
AppSecret:你的“密码”
这两个在你注册芯步账号,创建应用后就能在开发者后台找到。拿到后请收好,等下签名要用。
二、核心接口:就是它了
我们要用的是 “获取设备详情” 接口。
请求地址
http(s)://api.thingboot.com/{你的AppID}/device/info/?sign={签名}&ts={时间戳}请求方式:GET 或 POST 都行,为了方便,我们直接用浏览器能打开的 GET 方式。
三、难点解析:签名到底怎么算?
很多同学在这一步会卡住,别怕,这个签名其实就是把参数揉在一起做个加密,防止别人随便调用你的设备。
芯步的签名规则是:把 AppSecret 进行 MD5 加密后,再拼接上当前时间戳,整体再做一次 MD5 加密。
给你一个大白话的步骤:
把你的
AppSecret做一次 MD5,变成一串32位的字符。把上面的结果,拼接上当前的 Unix 时间戳(单位是秒)。
把拼接后的字符串,再做一次 MD5。最后出来的结果就是
sign。
举个例子:
假设你的 AppSecret 是
123456第一步,MD5(
123456) =e10adc3949ba59abbe56e057f20f883e第二步,假设当前时间戳是
1715678900,拼接后就是e10adc3949ba59abbe56e057f20f883e1715678900第三步,把上面那一长串再次 MD5,得到
sign的值。
最后我们把 sign 和 ts(时间戳)都作为参数带上。
四、动手操作:开始查开关状态
1. 组装你的 URL
假设你的参数如下:
AppID
MyApp123设备ID
10086(这个ID在你的设备列表里看得到)时间戳 ts
1715678900签名 sign:上面算出来的一串字符
那么,你请求的 URL 就是:
2. 拿结果
这时候,如果你把网址输入浏览器或者用代码请求,返回的JSON结果类似这样
3. 怎么解读?
"code": 200:这代表接口调用成功了,你拿到了最新数据。data.online.status:值为1表示断路器在线,0表示离线。如果离线,查询的状态就是上次断网前的旧数据。data.state.power1这里就是你要找的开关状态!"1":代表 合闸/通电 状态。"0":代表 分闸/断电 状态。
五、实战小贴士
注意时间差:时间戳
ts一定要用秒为单位,别用成毫秒了。另外,时间戳和服务器时间不能差太远,一般超过5-10分钟就会报错,保证实时性。多条线路:如果你是那种