STF 手机自动化测试集群的手机如何防止过充,有什么比较好的方案进行手机电池保护

TD · 2019年08月04日 · 最后由 南山老人i 回复于 2022年02月22日 · 5473 次阅读

目前我们的手机自动化都是永不熄屏,然后一直连在 hub 上面的,会导致手机再不断的充电,电池容易鼓包,有什么好的办法可以解决?如果使用智能插座的话,就得控制整个 hub 的电源,断电了所有手机都无法使用了,而且重新上电 usb 弹窗也需要处理。有没有单独控制某台手机的方案?另外 Android 手机如果熄屏了怎么解锁?求大神们指教一下,谢谢。

共收到 38 条回复 时间 点赞

扣掉电池,充电线剪开,连上继电器,统一控制,不单单是过充可以断电,死机了也可以断电重启(有电池就做不到)

槽神 回复

现在的手机不支持直连电源的吧,必须要安装电池才能开机

TD #3 · 2019年08月05日 Author
arrow 回复

对啊,现在的手机电池都不好拆下来

arrow 回复

大不了从电池接口接入电源咯😂
核心的关键,要买把锤子,先砸开手机再整……反正我不搞这个,我喜欢看着你们砸😏

TD 回复

https://github.com/openstf/stf/issues/426 这里之前已经有人问了,答案是要么自己魔改手机电源管理模块(难度太大),要么直接不管,用两年直接换电池,其实成本也还算能接受。

TD #33 · 2019年08月05日 Author
槽神 回复

哈哈,你真是幽默,不过你说的继电器让我想起来之前的公司也是通过继电器控制 usb 开关的,但是记不太清楚了,继电器是需要买怎样的呢?这个只能控制 usb 的开关,就是不用的时候可以让某个手机休息一下可以的吗

TD #7 · 2019年08月05日 Author
arrow 回复

之前看到有个文章说连续充两三个星期电池就会鼓包,吓到我了,新到了一批手机可不能这么短就坏了,我看他们是说用智能插座,但是不能控制单独某台手机吧

同问,最近手机鼓包的比较多,貌似没听说比较好的方案

我们之前的方案是:继电器 + 智能插座(小米),每天定时断开充电,可以自己捣鼓一下;继电器是控制 hub 那端的 usb,然后智能插座是控制 hub 电源

TD 回复

现在的智能插座都是整体控制的,如果要单独控制某个 usb 孔,估计可以用树莓派来做,成本也就一两百

TD #11 · 2019年08月05日 Author
少女 回复

那你们继电器是买个哪种的,去淘宝看种类太多了,之前没注意,能甩一个链接过来么😁

https://testerhome.com/topics/19998, 这篇文章提到蚂蚁的自研 hub

TD #13 · 2019年08月05日 Author
国文 回复

这个淘宝上看了一下没有搜到有卖呢?

USB Hub 芯片最好的属 NEC,USB hub 2.0 的某宝有一款,芯片是 NEC μPD720114(已改名为瑞萨电子),配了 3A 的电源。

某宝链接: https://item.taobao.com/item.htm?spm=a1z0d.6639537.1997196601.37.7e1674841AY5vA&id=548501983168

3.0 的没找到,我之前买了一批 orico 3.0 的 hub(VIA 威盛电子),供电不足,7*24 压测 adb 老掉线,蛋疼死我了。

我是使用的这款奥睿科的 USB-Hub https://item.jd.com/4576040.html 带独立电源,各个 usb 口自动控制电流,再也不用担心过充或者设备电量不足的问题了。 另外 Android 手机如果熄屏了怎么解锁,这个其实很简单,你使用最基础的 adb 命令就可以点亮屏幕,然后滑动解锁,可以参考我博客上面的写过的一个方案:https://sutune.me/2019/05/19/at-devices/

TD #23 · 2019年08月06日 Author
Sutune 回复

谢谢,adb 解锁的我已经实现了,也是类似这个方案。另外这个这款奥睿科的 USB-Hub 是不是内部进行电流保护,不能单独的控制某个开断电,这样手机一直连着电池不会有问题吗?

TD 回复

这个 USB-Hub 端口具备过流,过压,过载保护功能,反正我手机 7*24h 连着没有啥问题。

TD #18 · 2019年08月07日 Author
Sutune 回复

好的,谢谢

8266 加继电器可以搞定, 固件用 esphome 写一个就好了,一块 8266 控制 10 个 usb 应该问题不大。 例外使用 mqtt 和手机电量做一个自动化,电量少于多少自动开始充电

Sutune 回复

你这样链接的话,连了多久了。
几天,几个星期,还是几个月?

群主是狗 回复

连了半年了,电池目前还没出现鼓包的情况。

TD #22 · 2019年10月08日 Author
Sutune 回复

我用了你介绍的 hub 目前出现了 adb devices 只有 4 台在线,我总共插了 9 台手机,请问一下知道是什么原因吗?https://testerhome.com/topics/20727#reply1

我的想法是起个定时任务定时检测电量,如果电量充满了可以用adb 断电命令,然后电量低于一定的阈值,就改变状态为充电,我没实践过,如果有误,勿喷😂 😂 😂 😂

TD #15 · 2019年10月09日 Author
残枫 回复

这个充电的设置为不充电,只是数值显示不变了,其实还是充电了,重启手机后可以看到其实充满电了

Sutune 回复

请问你推荐的这个 HUB,一直连着手机也是充电状态吧,有连接一年,手机无鼓包现象的吗?

在路上 回复

Android 7.0 以上系统的设备没有鼓包,但是有几台 Android 5.X~6.X 的设备出现鼓包现象。

Sutune 回复

好的,谢谢,我买个试试

捞一下,大家现在找到什么样的解决办法了么,难道真的要用无线连接么,我这边大概会使用到 20 多台设备了,电池真的吃不住

我使用的方案是 acc(https://github.com/VR-25/acc) 只要硬件和内核支持就可以软件层面断电, 并不影响使用~

Tea 回复

这个软件,不是所有的操作都要基于 root,才可以操作吗?

买个智能插座,根据电量进行自动开合

TD #7 · 2021年11月30日 Author
回复

那我们 usb 连接就断开了,我们需要跑自动化,如果是断开后再连接有些手机可能有弹窗需要手动选择 usb 模式等,stf 也会重新安装需要手动点击继续安装

TD 回复

通过反射的方式获取 uiAutomation,然后以 app_process 方式启动 这样可以做到无需安装,来处理弹窗和安装

哲豪 回复

链接: https://pan.baidu.com/s/1Ddt83Z0zrBwOq2ioDmZWzQ 提取码: agzi
可以试试效果
先执行 adb push 到 /data/local/tmp 目录
运行:adb shell 'export CLASSPATH=/data/local/tmp/uiwatcher.apk; app_process /system/bin com.tinypace.uiwathcer.UiWatcher' -t 100000 -p P2ssw0rd -l true
t 是程序超时时间,p 是要输入的密码(vivo、oppo),l 是执行一次还是循环

你好,我说一下我的解决方法吧(仅支持安卓):
我自动化平台框架使用的是 Flask 框架,在框架中可以添加定时任务,设置的是每天九点充电,晚上十点断电。然后再将充电写入到初始化中,这样来解决长时间充电这个问题。晚上无人使用,就断电,晚上有人使用,就初始化充电继续使用。而且我改变的只是充电状态,与 USB 连接无关,USB 还是一直连接着的

TD #3 · 2022年01月05日 Author
南山老人i 回复

你们是连接有线的吗,充电状态是怎么改变的?

TD 回复

使用 adb 命令改变充电状态:
adb shell dumpsys battery set status 2
1 充电 2 断电

TD 回复

兄弟,有个误点!
adb 命令无法真正改变充电状态,只是模拟!
可以了解一下智能控电 USBHUB 这一块东西(因为刚知道就过来回复了,没有牌子推荐,还是要从硬件 HUB 入手)

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册