阅读 359

【黑科技系列】智能控电系统

此文章来源于项目官方公众号:“AirtestProject”
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

前言

近年来,各大公司都青睐于在企业内部搭建大规模的设备集群,方便它们开展各种自动化测试实践。并且,这些设备集群的形态不一,有的仅仅是搭建在普通的机架上面,有的是搭建在专业的设备机柜上面。

1.png (图1:各种形态的设备集群)

但我们在长期使用过程中发现,大规模的设备集群长期在线,使我们不得不面临频发的电池鼓涨或者电池老化等问题。

2.png (图2:电池鼓涨的手机)

这无疑会给我们的集群运营增加很大的维修成本。

电池鼓包/电池老化的原因

那么究其根本,是什么导致了频发的设备电池涨壳问题呢?原因主要有2点:

  • ① 电池环境温度过高
  • ② 电池过充(长时间充电)

1)电池环境温度过高

那电池环境温度过高的话,我们可以通过降低设备集群所处空间(一般是设备机房)的温度来减少环境温度过高的情况。

比如可以通过空调、风扇、散热板等物理形式,来降低设备电池所处环境的温度;甚至我们还可以配上远程的温湿度监控系统,来监控环境温度,温度出现警报时及时进行处理。

3.png (图3:DeviceKeeper的温度监控功能)

2)电池过充

而在机柜集群上解决电池过充的问题就比较复杂了。机柜上面的的设备都是长时间插着USB线的,除非我们人为给机柜断电,或者拔掉设备的USB线,否则的话,设备都是处于通电状态的。

白天的话,设备集群一般都处于工作状态,这时候给它断电的话,很容易导致设备电量不足,运行任务失败的情况。

那深夜无测试任务时断电的话,设备管理员大半夜还要爬起来到公司机房给设备断电,就非常折磨。

智能控电系统介绍

因此,我们就需要一套智能控电系统,能实现 “远程” 对机柜集群进行充放电控制,甚至能做到 “定时” 对设备进行充放电管理,减少设备过充的情况,延长设备电池的寿命。

为了实现这样一个智能控电系统,我们进行了大量的实验,最终成功定制出了 “程控版” 的USB-hub。

设备通过USB线连接到这个hub上面,然后我们就可以通过程序远程控制该hub上面的设备充放电情况。

4.png (图4:定制的程控版hub)

不仅如此,在实验过程中,我们还额外实现了控制hub上面设备的数据传输,也就是通过程序实现模拟USB的拔插操作。模拟USB拔插操作这个功能的意义非常大:

  • ① 首先是方便设备管理员远程维护集群上面不稳定的设备。有些设备因数据传输不稳定掉线,就需要管理员到现场拔插下设备才能让其上线。这里直接程序控制,就非常方便了。
  • ② 其次是方便一些硬件测试,比如U盘热拔插的数据稳定性测试,就可以通过这个模拟USB拔插操作来进行。

最终,我们把这些功能集成到了我们的设备管理系统DeviceKeeper上,至此,对设备进行远程批量的充放电管理和模拟USB拔插操作就非常容易了:

5.png (图5:DeviceKeeper的智能控电功能)

智能控电系统演示

这里我们通过一个简单的视频来看一下,程序控制hub工作的效果:

控电.gif

小结

传统的机柜,散热不足加上设备长时间在线,对设备电池的伤害非常大,维修成本相对较高,整个设备集群的运营成本就上来了。

加上智能控电系统的机柜,配合良好的物理散热措施,将大大减少设备电池鼓涨/老化情况,延长集群设备的使用寿命,降低整个运营成本。


AirtestIDE下载:airtest.netease.com/
Airtest 教程官网:airtest.doc.io.netease.com/
搭建企业私有云服务:airlab.163.com/b2b

官方答疑 Q 群:654700783

呀,这么认真都看到这里啦,帮忙在文章左侧点一下点赞和收藏,给我一个支持把,灰常感谢~

文章分类
后端