一、写在前面
大家好,今天咱们来聊一个实际落地的问题:怎么把手上的系统(不管是APP、小程序还是后台管理系统)和芯步这款40A的智能大功率断路器对接起来,实现对开关状态的远程查询。
这款设备其实挺实用的,额定功率8000W,支持WiFi直连(不需要买网关),最关键的是接口完全开放,HTTP和MQTT都支持。说白了,只要你会发HTTP请求,就能把它集成到自己的项目里。
下面我按实际对接流程来讲,尽量把坑都指出来。
二、整体思路
先理一下思路。要实现“远程查询开关状态”,其实就是两步:
让设备上网——配网,让断路器连上现场WiFi
调接口查状态——通过芯步的开放平台获取设备当前状态
芯步这边的好处是接口是永久免费的,而且支持私有化部署,你要是不想走公有云,也可以搭在局域网里用。
三、准备工作
动手之前,先把这几样东西准备好:
| 项目 | 说明 |
|---|---|
| 芯步账号 | 去官网注册,免费的 |
| 工作台 | 登录后在控制台创建一个工作台 |
| AppID 和 AppSecret | 在“开发设置”里找到,相当于你的系统在芯步平台的“身份证” |
| 40A断路器 | 设备到手,确认是计量版 |
| 2.4G WiFi | 现场必须有2.4G频段的WiFi(5G不行,这设备不认识) |
小提示:AppSecret千万保存好,丢了没法找回,只能重置。
四、第一步:让设备连上网
设备用之前必须配网,让它连到你现场的2.4G WiFi。芯步提供了两种配网方式:
方式一:电脑上配网
登录官网,进到你的工作台
左侧菜单找到“物联网控制台” → “网络配置”
点击“登记网络”,输入现场WiFi的名称和密码,保存
选中刚添加的网络,点“为设备配置此网络”
这时候网页会给你一个临时热点的名称和密码
用手机打开个人热点,把热点名称和密码改成网页上显示的那个
给断路器通电,它会自动搜这个热点,连上后自动获取WiFi配置
注意:手机热点必须是2.4G频段,大部分手机默认是2.4G/5G混合模式,需要手动调一下
方式二:小程序配网(推荐,更省事)
微信搜“芯步小程序”,登录
选择你创建的工作台
点击右上角“+”添加现场WiFi信息
同样,用手机热点中转一下
配网成功后会有一个标志:设备指示灯停止闪烁。同时在控制台“配置到此网络的设备的列表”里能看到它。
如果一直配不上,检查三件事:WiFi是不是2.4G、密码对不对、设备通电了吗。实在不行联系芯步的工程师,他们免费技术支持。
五、第二步:搞懂接口调用格式
配好网之后,核心来了——怎么调接口。
芯步这边所有API走的都是这个格式
路径里有三个变量需要你自己填:
AppID:你的应用ID
sign:签名,用来证明你是你
ts:时间戳(10位秒级,不要用毫秒)
签名的计算方法(这个地方容易错,仔细看):
先对你自己的AppSecret做一次MD5(得到32位小写字符串),然后把这个结果跟ts拼在一起,再对整个字符串做一次MD5。
举个栗子(伪代码):
注意:ts必须是当前时间的秒级时间戳,太旧了会报错“bad ts”
六、第三步:查开关状态(核心功能)
方式一:查单个设备
设备连上网之后,在控制台的“设备列表”里能看到每个设备有个唯一的设备ID。查状态的接口是:
返回的数据里通常会有power或status字段,0表示断开,1表示闭合。计量版还会返回实时的电压、电流、功率数据。
方式二:用标签批量查
如果你有一堆断路器要管,可以先把设备打上标签,然后用标签接口批量查询
这样一次请求就能拿到整批设备的状态,省得一个个去问。
方式三:用MQTT订阅状态(推荐实时场景)
如果你的系统需要实时监控状态变化(比如做个大屏实时显示),HTTP轮询的效率太低了。芯步这边也支持MQTT协议,配置如下
| 参数 | 值 |
|---|---|
| 地址 | |
| 端口 | 1883 |
| 用户名 | 你的AppID |
| 密码 | 你的AppSecret |
| 客户端ID | 在控制台查看 |
连上之后,订阅对应的Topic,设备状态变化时会主动推送过来,比HTTP轮询实时得多。
七、完整代码示例(Python)
把上面说的串起来,一个完整的查询流程大概长这样:
注意:这只是示例代码,实际返回的字段名请以官方文档为准。不同批次的产品字段可能略有差异。
八、常见坑点汇总
搞对接的时候最容易踩这几个坑:
时间戳不对:必须用秒级时间戳(10位数字),别用毫秒的13位
签名算错了:先把AppSecret MD5一次,拼上ts,再MD5一次。顺序别反
设备没配网:调接口之前先确认设备在线。可以在控制台“设备列表”里看最后上线时间
WiFi是5G的:这设备只认2.4G频段
IP没加白名单:如果你在控制台开了IP检查,记得把服务器IP加进去,否则会报5008
请求太频繁:单个设备每秒最多1次,别用死循环刷
九、写在最后
总的来说,芯步这套断路器的对接难度不高,核心就是三步:配网、拿签名、调接口。大部分时间其实是花在配网和调试签名上。
如果生产环境用,我个人的是:
查询量不大:直接用HTTP,简单省事
要做实时监控大屏:上MQTT,省流量又实时
有隐私顾虑:芯步支持私有化部署,设备可以跑在纯局域网,数据完全不出内网
最后说一句,芯步这边有免费技术支持,对接过程中卡住了直接找他们工程师,比自己闷头试快得多。
有问题欢迎交流!