共享茶室的电路管理其实核心就两件事:一是远程控制开关(用户下单自动通电、时间到自动断电),二是计量用电(核算成本或向租户收取电费)。下面结合芯步的开放接口,聊聊怎么把这类设备接入项目。
一、 为什么要用“带计量远程开关”?
在共享茶室场景里,通常一个包厢内会有:茶桌电源、照明、烧水壶、空调等大功率设备(总功率可能接近40A)。传统的做法是装一个空气开关,但那样没法远程关,也没法知道用了多少度电。
接入这种控制器能解决几个痛点:
自动通断:用户下单后自动合闸通电,结束自动断电,不用人工跑过去拉闸。
功率限定:如果用户在茶室里用电磁炉吃火锅导致功率过大,可以设置自动跳闸保护。
计量收费:有些茶室会把电费包含在场地费里,有些则是按实际用电量收钱(比如几毛钱一度电),没计量就没法算这笔账。
注意:市面上常见的“4路控制器”通常是每路16A,总负载40A(比如Shelly Pro 4PM或芯步相关的4路控制器)。如果是单路总控40A的,原理一样,只是命令参数略有不同。
二、 需要做什么准备?
在动手写代码之前,需要搞定这三样东西:
硬件安装:把40A的控制器串接在茶室的总进线或分路上。如果是改造项目,记得断电操作,这东西个头不小,配电箱里要留好位置。
设备上线:在“芯步”后台或App里,通过Wi-Fi或4G把设备配网连上云。确保后台看到设备状态是“在线”。
拿到钥匙:在芯步开放平台获取你的
AppID和AppSecret(密钥),同时记下设备的唯一ID(device)。
三、 怎么用代码控制它?
芯步的接口挺标准的,不管是控制40A的大闸,还是控制一个小插座,逻辑都一样,核心就是下发 order 指令。
1. 核心流程
URL:
https://api.thingboot.com/{AppID}/device/control/参数:需要带上
device(设备ID)和order(命令)。签名:为了安全,所有请求都需要加签。规则是
md5(md5(AppSecret) + ts)。听起来有点绕,其实就是把你密码MD5加密一次,然后加上时间戳,再整体MD5一次。
2. 控制“合闸/分闸”
场景:用户在小程序点了“开始使用”,系统要立刻给茶室通电。
对于大部分支持功率上报的控制器,通电 的命令通常是这样发的:
断电 就把 power 设为 0。
3. 读取计量数据
场景:用户结束订单时,需要结算电费,或者实时监控功率防止过载。
芯步平台支持异步推送。也就是说,你不用一直去问“现在用了多少电?”。你需要在你的服务器设置一个“接收地址”(Webhook)。当功率发生变化、或者电流电压有波动时,平台会自动把数据推给你。推送的数据大概会包含这些字段:power(功率W)、voltage(电压V)、current(电流A)、elec(累计电能kWh)。拿到 elec(累计用电度数),你就能算出电费了。
四、 项目的核心逻辑怎么设计?
如果要把这个设备跑起来,不光是要能开关,还要和业务逻辑绑定。这里有一份简易的伪代码逻辑,参考了预付费电表和共享电源的管理思路
五、 几个可能会踩的坑
在实际项目中落地,除了跑通接口,这几个细节也得留意:
离线状态的处理:下发命令时,如果设备返回
code 200,只代表“指令收到了”,不代表“继电器真的吸合了”。如果设备刚好断网,命令是下不去的。增加一个“重试机制”,或者像上面代码一样,搞个定时提醒——如果设备离线,要及时通知保洁或运维去重启路由器。计量归零问题:如果设备是装在总闸后面,换了新电表或者重启,用电量是不会归零的(除非复位)。所以计算费用时,一定要“差值法”(订单结束度数减去订单开始度数),不要直接把电表底数当费用。
40A是总负载上限:你选的是40A控制器(比如总功率8800W)。茶室里空调(2000W)+ 烧水壶(1500W)+ 茶桌(1000W)同时开,问题不大。但如果用户加了个大功率取暖器,超过了40A,设备虽然有保护功能,但最好在软件层也做一层限制,检测到功率过大自动发短信给商家。
总结
把40A控制器接到共享茶室项目里,其实就是三步:设备配网上云 → 调用芯步的HTTP接口控制通断电 → 监听云端的回调消息计算电费。把这段逻辑封装好,再接到你的小程序或管理后台里,茶室的无人值守电路管理就搞定了。