分享基于 Pixel 1XL 的 All in Boom 照片备份方案

查看 156|回复 11
作者:StephenChow   
分享基于 Pixel 1XL 的照片备份方案
方案概览

外接硬盘
Pixel 1XL 的原系统不能支持 ext 文件系统,我重新刷了 Lineage OS 20 的版本。
硬盘插入之后是挂载在 /mnt/media_rw/xxxxx 下,Google 相册并不会读取上传这个目录下照片,而且默认我们也只需要同步硬盘下某些目录的照片。
[ol]

  • 我们在开机后把硬盘下的照片目录 bind 到/sdcard 目录。
    mount -o bind /mnt/media_rw/xxxx/SDCard_Mock /storage/emulated/0

  • 通过 Tasker 定时任务,每天定期发广播触发系统扫描新文件,这样 Google 相册就能扫描到硬盘中新增的照片文件
    am broadcast -a "android.intent.action.MEDIA_SCANNER_SCAN_FILE" -d file:///sdcard/
    [/ol]
    手机同步软件
    Android FolderSync 软件,一次买断,非常好用,可以设置定时任务和过滤器,完全不用操心。
    IOS 下没找到 FolderSync 类似的软件,也订阅过几个相册同步软件,目前使用的 Pho 软件,免费且功能够用。
    充电问题
    之前我买过 Pixel 1 ,按照定期开机充电然后从 Samba 同步下载最近的照片,Google 相册再把照片同步到云端。在使用了一段时间我发现:
    [ol]
  • 充电时相册同步发热非常严重,发热严重的话,Google 相册就停暂停同步了。
  • 不充电的话同步放在那里同步的话, 经常忘了然后手机掉电到最后自动关机。
    [/ol]
    如此一段时间,我的 Pixel 就鼓包完全不可用了,然后自己动手准备把电池更换或者改直流供电,结果手惨直接把屏幕搞坏了 :(。
    后来一直在关注有没有不拆机可以直接用充电头直接供电的方法,后来发现 ACC 这个 Magisk 插件有这个功能点,研究了实现发现是通过往 battery/battery_charging_enabled 写入 0 就可以关闭手机的充电。但是实际操作起来发现没有那么简单,在 Pixel 1XL 写入 0 之后,过了一段时间后 accubattery 看电池又有输入电流,表示又在充电了。后来各种方法试,结果试出来一种看起来毫无道理,但是却起作用的方法:
    往 battery/battery_charging_enabled 不停的先写入 1 ,然后再写入 0
    while true; do
            if [ -f "$flag_file" ] && [ "$(cat "$flag_file")" = "$expected_value" ]; then
                echo 1 > /sys/class/power_supply/battery/battery_charging_enabled
                echo 0 > /sys/class/power_supply/battery/battery_charging_enabled
            else
                echo 1 > /sys/class/power_supply/battery/battery_charging_enabled
            fi
            sleep 1
    done
    虽然不知道原理是什么,但是从 accubattery 看电池没有输入电流了,只看到-2ma 左右的输出电流 :D
    虽然只有-2ma 的输出电流,但是电池依然在缓慢放电,所以还是用 Tasker 做了电量的检测:
    [ol]
  • 电量低于 25 的时候往 battery/battery_charging_enabled 写入 1 ,恢复充电
  • 电量高于 85 的时候,重新执行上面的循环写入 1 0 的操作,使用充电头直接供电
    [/ol]
    无限可能
    打通一切之后,我发现一个装了 Linux Deploy 一直开机的手机只用来同步相册似乎有点浪费,所以又安装了新的一些软件:
    [ol]
  • Transmission:用来挂 PT 下载和上传
  • Plex Server ,Emby Server:用来管理播放硬盘上的电影和剧集
  • frpc:用于外网访问,这样我就能远程管理硬盘文件和控制 Transmission 下载
  • smartd: 用来定期检查外接硬盘的健康信息
  • box4magisk 模块:用手机做旁路由,有翻墙需求的手机可以把路由指向手机局域网 IP 就能翻墙
    [/ol]
    All In Boom
    在论坛上经常看到大家分享的 DIY 方案被说成是 All In Boom ,我这个方案本来相册同步的方案中手机和硬盘只是相册一个中转站,心里想着 Boom 不 Boom 没有太大所谓,后来我发现这个方案手机电池如果出了问题可能会真的 Boom ,所以又在想这么一颗定时炸弹该怎么处理,后来淘宝上找到了小的防火的保险盒,把手机放到里面隔绝,通过锁眼的小洞把 Type C 线引出来接其他的硬盘和 Hub 。
    这个小盒才是永远的家:

    新的希望
    随着折腾,我发现这个手机越来越像 NAS ,但是有一个很大的短板,Android 手机外接的硬盘是无法组 raid 。不过后来又发现绿联竟然有能组 raid 的硬盘盒这种产品,这个就解决了我的痛点,不过就是价格不美丽 :(,其他大甩卖的一天。
  • azhangbing   
    牛的!!! 解决我一个大问题!!!
    jhytxy   
    程序员思维都是这样全流程自己上的吗
    你这需求在淘宝找一家手机改直供电的就完事了啊
    TrackBack   
    不装盒子里可能还好,装盒子里散不了热反而真可能 boom
    rrfeng   
    我的闲置只用来只定时手动上传一下小孩的照片…
    PetTko   
    每次看见这种 diy 都想问问,为什么不通过智能插座来控制电量,低电量自动充电,高电量自动停止。
    jhytxy   
    @PetTko 时间久了还是会 boom
    不如改直供电一劳永逸
    StephenChow
    OP
      
    @PetTko 这个方案也用过一段时间,但是本身小黄鱼上买的二手手机,电池本来就不太行,怕撑不了太久
    StephenChow
    OP
      
    @TrackBack 用了一年多了,夏天摸了温度还好,感觉手机放在铁盒子上散热更好了 :D
    StephenChow
    OP
      
    @jhytxy 是的,主要是折腾的乐趣
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部