liaohcai 发表于 2023-1-31 23:45

探索一下padavan路由器记录手机熄屏亮屏状态的可行性

本帖最后由 liaohcai 于 2023-2-1 01:33 编辑

自从小孩有了手机后,想知道他半夜有没有起来玩手机,什么时候熄屏,什么时候亮屏?
能不能通写一个脚本专门来记录手机的息屏亮屏状态?
什么时候 息屏
什么时候 亮屏
生成以文本形式记录,是否可行?

好多网友都说,没有可行。
我想能不能每隔一段时间去快速ping 手机ip
如果丢包它是熄屏的
这是我的想法
所以写了二个脚本
这是脚本1:
#!/bin/sh
########################
ip=192.168.3.65
##手机ip地址
onlinelog="/tmp/iqoo.log"
##填写保存目录文件名。
########################

d=`date +%F' '%X `
##日期和时间

#############################
f=`find $onlinelog`
if [ "$f" != "$onlinelog" ] ;then
echo [$d] "这是脚本开始运行时间,下一行才是设备的状态"   >> $onlinelog
exit
fi
##因为用到两个日期计算需要一个开始日期,否则报错。
#############################

t1=`echo $d`
t2=`echo $(cat $onlinelog |tail -n 1 | cut -d[ -f2 | cut -d] -f1)`
long=$(($(date +%s -d "$t1") - $(date +%s -d "$t2")))
hour=$(( $long/3600))
min=$(( ($long-${hour}*3600)/60 ))
sec=$(( $long-${hour}*3600-${min}*60))
HMS=`echo ${hour}小时${min}分${sec}秒`
a=`ping $ip -c 2 -A`
b=`echo $a |grep -o "100%" `
if [ "$b" == "100%" ] ;then
old=$(tail -n 1 $onlinelog)
      if [ "熄屏" == "$(echo $old | grep -o "熄屏")" ] ; then
      exit
      else
      echo [$d] "熄屏" "(连网时长:${HMS})">> $onlinelog
      fi
else
old=$(tail -n 1 $onlinelog)
      if [ "亮屏" == "$(echo $old | grep -o "亮屏")" ] ; then
      exit
      else
      echo [$d] "亮屏" "(断网时长:${HMS})">> $onlinelog
      fi
fi
exit

计划任务最短只有1分钟长,精确到秒,用到循环体
这是脚本2:
#!/bin/sh
while :
do
sh 脚本1
sleep 5
done并赋予脚本2运行权限,然后在SSH终端去运行脚本2,用它来带动脚本1做循环。
这是我用iqoo-ui 手机测试了,生成的记录文件
这是脚本开始运行时间,下一行才是设备的状态
离线 (连网时长:0小时0分1秒)
在线 (断网时长:0小时1分42秒)
离线 (连网时长:0小时0分35秒)
熄屏 (连网时长:0小时9分2秒)
亮屏 (断网时长:0小时0分25秒)
熄屏 (连网时长:0小时0分15秒)
亮屏 (断网时长:0小时0分15秒)
熄屏 (连网时长:0小时0分20秒)
亮屏 (断网时长:0小时0分15秒)
熄屏 (连网时长:0小时0分35秒)
亮屏 (断网时长:0小时1分14秒)
熄屏 (连网时长:0小时0分21秒)
亮屏 (断网时长:0小时2分8秒)
在我看来还是有点可行,不知道其他手机是否可行?

后来又测试了一个多小时,生成的数据太多了,好像没有规律,又好像有点规律!



zhy9559 发表于 2023-1-31 23:48

不可行,因为手机有后台程序,息屏还会联网,路由器检测不了

jjit 发表于 2023-1-31 23:54

padavan 的无线设置里有 访客网络,设置一下 开启的时间段,孩子的手机连访客网络的wifi

kover 发表于 2023-2-1 07:21

看流量,如果深夜一段时间一直有流量那就是上网

shijun9698 发表于 2023-2-1 07:52

直接定时交手机就行,我家就是,晚上10.30手机交过来

?☕ 发表于 2023-2-1 08:09

如果是安卓手机,是可行的。路由器里开启adb server即可。路由器adb连接手机后。当屏幕熄屏时:adb shell dumpsys activity activities | mResumeActivity: 命令返回值为空。反之则说明屏幕已打开。通过脚本循环记录即可。

seasonpoiy 发表于 2023-2-1 08:47

定时限制他上网,这个可行。或者直接看手机屏幕使用时间。

liaohcai 发表于 2023-2-1 15:32

13062678135 发表于 2023-2-1 08:09
如果是安卓手机,是可行的。路由器里开启adb server即可。路由器adb连接手机后。当屏幕熄屏时:adb shell du ...

好的,我试试

cjzdjm 发表于 2023-2-1 15:45

设置屏幕使用时间,简单

friend8179 发表于 2023-2-2 09:13


孩子不会用流量包?

页: [1]
查看完整版本: 探索一下padavan路由器记录手机熄屏亮屏状态的可行性