——基于芯步开放接口的智能化改造
一、为啥要搞这个?
共享茶室这玩意儿现在挺火的,但你有没有遇到过这种情况:客人扫码进去泡茶,走的时候灯没关、插座上的热水壶还通着电?下一个客人进来一看,灯亮着,壶里的水都凉了,关键是电费全算老板的……
小本生意经不起这么折腾。
所以我们需要一套延时通断控制方案——客人离开后,照明和插座能自动延时关闭,既省电又安全,还显得高大上。
二、我们需要什么设备?
要实现这个目标,得准备几样东西:
| 设备 | 用途 | 推荐芯步产品 |
|---|---|---|
| 智能插座/插排 | 控制茶桌插座、烧水壶等 | 智能PDU(分控款),5路独立控制,可单独通断电 |
| 智能开关模块 | 控制照明灯 | 根据现场灯具类型选配继电器模块 |
| 网关(可选) | 设备联网桥梁 | 如果设备不支持WiFi直连,需要配网关 |
小贴士:芯步的智能PDU支持WiFi 2.4G直连,不需要额外买网关,省了一笔钱。
三、核心思路:怎么实现“延时”?
传统方案是用555定时器搭延时电路,但那玩意儿延时时间改起来麻烦,误差也大。我们既然用了物联网设备,那肯定走云端控制+软件延时的路子。
核心逻辑很简单:
监测到“客人离开现场时”事件(比如通过门磁传感器、或者扫码系统的订单结束)
触发延时计时(比如5分钟)
计时结束后,向设备下发“断电”指令
那问题来了——怎么下发指令?芯步给了一个叫 /device/control/ 的接口,专门干这个。
四、动手!调用接口控制设备
4.1 准备工作(注册、拿钥匙)
要调用芯步的开放接口,你得先注册一个开发者账号。他们家平台是永久免费的,这点挺良心。
注册登录后,找到你的:
AppID:应用的身份证号
AppSecret:开发者密码,别告诉别人
这两个东西在“工作台 → 物联网控制台 → 开发设置”里能看到。
4.2 怎么叫设备干活?——HTTP方式
控制设备用的是 /device/control/ 接口。
请求地址长这样:
参数解读(别怕,我给你翻译成人话):
| 参数 | 是啥意思 | 举个例子 |
|---|---|---|
| device | 你要控制哪个设备(设备ID,在控制台能看到) | "12345678" |
| order | 下什么命令 | 比如 {"power":0} 表示断电 |
| gateway | 如果设备通过网关连接,填网关ID | 没有就不填 |
| sign | 安全签名,防别人乱调接口 | 需要计算 |
| ts | 当前时间戳(10位数字) | 1700000000 |
举个真实的例子:
假设你的智能PDU设备ID是 36874291,你想把它的第1路插座关掉({"power1":0}):
调用成功的话,接口会返回 {"code":200},表示平台已经把命令发出去了。
⚠️ 注意:返回200只代表平台接收成功。如果设备离线,那命令还是到不了设备。要确认设备确实执行了,得看异步消息推送。
4.3 一种更优雅的方式——MQTT
HTTP是“问一下答一下”,MQTT是“订阅主题,实时推送”。如果你想实时接收设备的响应,用MQTT更舒服。
MQTT连接参数:
地址:
mapi.thingboot.com端口:1883
用户名:你的AppID
密码:你的AppSecret
连接后,发布命令到主题 api/{AppID}/device/control,设备执行结果会在同一主题返回。
这种方式适合做实时状态反馈——比如你想知道插座到底断没断电,用MQTT能秒收消息。
4.4 如何计算sign签名?
签名是为了防止别人伪造你的请求。计算规则如下
具体步骤:
把AppSecret做一次MD5加密
把加密结果拼上时间戳(ts)
对拼接后的字符串再做一次MD5
每个请求的ts不同,sign也会