芯步的智能包间控制器Mini提供了开放HTTP接口,可以按这个思路来搭建一个运行时长统计系统——核心原理就是:监听控制器的状态变化事件,自己搭个服务端来记录每路设备的开关时间,然后算出运行时长。
解决方案:基于芯步MINI控制器的设备运行时长统计
一、 我们要解决什么问题?
在棋牌室、茶室或共享包间里,老板往往想知道:“我这个包间的空调今天开了多久?”“麻将机被使用了多少小时?”
普通的智能插座只能控制通断,不具备“按包间、按设备”汇总使用时长的功能。我们需要利用 芯步 4路智能包间控制器MINI 的开放接口,自己搭一个小系统来做统计。
二、 核心思路
监听听劝:设备(MINI控制器)每控制一次开关(比如服务员在系统里点了“开灯”),它就会给后台发一条消息。
记录时间:我们自己写一个服务端程序(比如Java、Python或Go),专门收这条消息。当收到“开”的时候,记下当前时间;收到“关”的时候,再记下时间。
算总账:用“关的时间”减去“开的时间”,就是这个设备的本次运行时长。存到数据库里,月底一查SUM就知道总时长。
三、 准备工作
硬件:芯步“智能包间控制器MINI”(UNI-KZQ-BJ-MINI)。
接口文档:芯步提供的开放HTTP API。这个设备是支持HTTP直接控制的,也支持私有化部署,意味着你可以把服务器搭在局域网里,也可以放在公网。
开发环境:一台能联网的服务器(或者只要能连上公网的电脑即可)。
四、 详细实施步骤
为了把这个事情讲清楚,假设我们现在要统计 包间里的第1路(灯光) 和 第4路(空调) 的每天运行时长。
第1步:先搞定设备上线和消息接收(最难但核心的一步)
MINI控制器的4路电路分别接好了设备。在芯步的后台,你可以设置“设备消息推送”的地址。
这就像是你给设备设置了一个“收件地址”。你需要搭建一个HTTP服务器,提供一个URL(比如 http://你的域名/api/report)。
操作流程:
在芯步开发者后台,找到“设备管理” -> “HTTP推送”。
把上面的URL填进去。
这时候,只要MINI控制器的状态变了(比如第4路空调从0变成1),芯步的服务器就会往你这个URL发一条POST请求。
数据长啥样?(根据设备文档,大概格式是这样)
只要收到了这个,你就知道:哦,在某一秒,某一路设备被打开或关闭了。
第2步:编写“记录员”程序(核心逻辑)
你可以用Python写个简单的服务(如果是纯局域网,可以不用框架,直接Flask就行)。这个程序要做三件事:
接收数据:收到上面的JSON。
状态比对
比如收到了
power1: 1(空调开机)。程序去数据库里查一下,看看这台设备“正在运行”的记录里有没有空调。
如果没有,就插入一条新记录,记录开始时间。
如果收到了
power1: 0(空调关机),就去数据库里找到那条“还没结束”的记录,把结束时间更新为当前时间。
存储数据:把开始时间、结束时间、设备号、路数存到MySQL或者SQLite里。
这里稍微口语化解释一下:其实就是做了一个“打卡机”。设备开了就是上班打卡,设备关了就是下班打卡,程序负责把打卡时间记下来。
第3步:如果想更精准(主动查询与心跳)
如果网络不稳定,偶尔丢了消息怎么办?为了避免漏记,我们还需要一个“兜底机制”。
利用芯步的控制接口,你的程序可以主动查询设备状态。
接口地址
http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}操作:比如你写一个定时任务(Cron Job),每小时执行一次,去查一下MINI控制器的当前状态。
逻辑:如果查询后发现第4路是“1”,但数据库里这条记录的“结束时间”是空的(说明软件以为它在运行),那就什么都不做,保持开始时间。如果查询发现是“0”,但数据库里没记录结束时间,就补一个结束时间。
第4步:计算和展示
有了干净的数据表(包含:设备ID、线路号、开始时间、结束时间),统计就简单了:
单次时长
TIMESTAMPDIFF(MINUTE, start_time, end_time)。总时长
SELECT SUM(duration) WHERE device='包间A' AND line='4' AND date='今天'。
五、 针对“4路控制器”的特殊提示
根据产品手册,MINI的4路负载能力不一样,这一点在统计时长时其实可以用来做异常预警
第4路是30A,一般接大功率空调。如果你的系统发现空调连续开了24小时没关,可以自动通过API发送指令
{"power4":0}强制断电,帮老板省电,也防止火灾隐患。第3路是门禁,如果你接的是门锁,它的“运行时长”可能指的是“开锁时长”,如果门锁长时间未关,系统也可以报警。
六、 总结一下方案架构图(脑补版)
说人话的总结:你们不需要去研发硬件,也不用关心MINI控制器内部怎么工作的。只要利用它开放的HTTP接口,监听它的power1到power4状态变化,在你的服务器上写几十行代码做“差值计算”和“数据库存储”,这个统计功能就完成了。如果老板要求“按分钟计费”或者“统计设备利用率”,这套数据就是最准确的依据。