CATALOG

芯步的智能包间控制器Mini提供了开放HTTP接口,可以按这个思路来搭建一个运行时长统计系统——核心原理就是:监听控制器的状态变化事件,自己搭个服务端来记录每路设备的开关时间,然后算出运行时长。

解决方案:基于芯步MINI控制器的设备运行时长统计

一、 我们要解决什么问题?

在棋牌室、茶室或共享包间里,老板往往想知道:“我这个包间的空调今天开了多久?”“麻将机被使用了多少小时?”

普通的智能插座只能控制通断,不具备“按包间、按设备”汇总使用时长的功能。我们需要利用 芯步 4路智能包间控制器MINI 的开放接口,自己搭一个小系统来做统计。

二、 核心思路

  1. 监听听劝:设备(MINI控制器)每控制一次开关(比如服务员在系统里点了“开灯”),它就会给后台发一条消息。

  2. 记录时间:我们自己写一个服务端程序(比如Java、Python或Go),专门收这条消息。当收到“开”的时候,记下当前时间;收到“关”的时候,再记下时间。

  3. 算总账:用“关的时间”减去“开的时间”,就是这个设备的本次运行时长。存到数据库里,月底一查SUM就知道总时长。

三、 准备工作

  • 硬件:芯步“智能包间控制器MINI”(UNI-KZQ-BJ-MINI)

  • 接口文档:芯步提供的开放HTTP API。这个设备是支持HTTP直接控制的,也支持私有化部署,意味着你可以把服务器搭在局域网里,也可以放在公网

  • 开发环境:一台能联网的服务器(或者只要能连上公网的电脑即可)。

四、 详细实施步骤

为了把这个事情讲清楚,假设我们现在要统计 包间里的第1路(灯光)第4路(空调) 的每天运行时长。

第1步:先搞定设备上线和消息接收(最难但核心的一步)

MINI控制器的4路电路分别接好了设备。在芯步的后台,你可以设置“设备消息推送”的地址。

这就像是你给设备设置了一个“收件地址”。你需要搭建一个HTTP服务器,提供一个URL(比如 http://你的域名/api/report)。

操作流程:

  1. 在芯步开发者后台,找到“设备管理” -> “HTTP推送”。

  2. 把上面的URL填进去。

  3. 这时候,只要MINI控制器的状态变了(比如第4路空调从0变成1),芯步的服务器就会往你这个URL发一条POST请求。

数据长啥样?(根据设备文档,大概格式是这样)

只要收到了这个,你就知道:哦,在某一秒,某一路设备被打开或关闭了

第2步:编写“记录员”程序(核心逻辑)

你可以用Python写个简单的服务(如果是纯局域网,可以不用框架,直接Flask就行)。这个程序要做三件事:

  1. 接收数据:收到上面的JSON。

  2. 状态比对

    • 比如收到了 power1: 1(空调开机)。

    • 程序去数据库里查一下,看看这台设备“正在运行”的记录里有没有空调。

    • 如果没有,就插入一条新记录,记录开始时间。

    • 如果收到了 power1: 0(空调关机),就去数据库里找到那条“还没结束”的记录,把结束时间更新为当前时间。

  3. 存储数据:把开始时间、结束时间、设备号、路数存到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接口,监听它的power1power4状态变化,在你的服务器上写几十行代码做“差值计算”和“数据库存储”,这个统计功能就完成了。如果老板要求“按分钟计费”或者“统计设备利用率”,这套数据就是最准确的依据。

控制器产品方案:
如何在灯光控制中集成智能硬件以实现联动继电器模块扩展控制
查看 >>
无人值守包间设备控制:怎么将8路包间设备集中控制器集成到软件项目中
查看 >>
如何接入共享空间智能控制器以实现自定义联动操作
查看 >>
户外亮化工程控制中:如何把智能 24 路远程信号控制器接入到软件项目中
查看 >>
如何接入8路包间综合管理控制器以实现包间消费时长电源联动
查看 >>
4路场景方案:
怎样在酒店客房照明控制中集成智能硬件来实现4路独立线路控制
查看 >>
怎样在4路包间场景联动控制器MINI中对接智能硬件以实现包间设备故障自动告警
查看 >>
怎么在4路HTTP接口包间控制器MINI中集成智能硬件以实现包间门禁系统联动管理
查看 >>
怎样在店铺照明设备控制中集成智能设备以实现4路独立线路控制
查看 >>
4路共享空间智能控制器MINI:怎么把4路包间电源智能控制器MINI对接到自己的项目中
查看 >>
时长用途方案:
怎样在足浴按摩店包间控制中集成智能设备来实现包间消费时长电源联动
查看 >>
如何接入服务门店包间专用控制器来实现包间设备运行时长统计
查看 >>
怎样接入智能8路包间控制器以实现包间消费时长电源联动
查看 >>
如何二次开发8路包间设备集中控制器以实现包间消费时长电源联动
查看 >>
如何在4路包间设备控制器MINI中接入智能硬件来实现包间设备运行时长统计
查看 >>