祖传安卓机不用换脸盆啦,用PWA可以继续发挥余热
本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:天天_Juan
创作立场声明:从性价比来说,淘宝上便宜的200-300百得行车记录仪找找一大把,而把旧手机改成行车记录仪,其实主要是为了好玩。
突发奇想,旧手机改成行车记录仪
家里旧手机有好多,iPhone好歹还可以去换新机抵扣,安卓系统的手机基本都只能在家躺着。而我的车可能跟正常的行车记录仪八字不合,坏了好几个了,所以我们就想,把旧手机改成行车记录仪。
首先行车记录仪有的最重要的功能,行车记录。手机自带摄像头,自带拍摄,自带GPS,那么只要装个软件,让他变成行车记录仪的拍摄模式就可以了。
安装软件
目前市面上有2个比较合适的软件:AutoBoy,DailyRoads。2个版本都有免费版本跟收费版本,都可以选。
我们就挑了一个黄色标识颜值好像稍微高点的AutoBoy。这个随意,因为相互功能都差不多。
如何解决随车启动&熄火关机问题
当软件安装好后发现了问题,行车记录仪怎么随车启动,车子熄火怎么自动关机。像我们家这么懒的情况下,没人会愿意去手动操作。
先说原理:手机可以连接USB接口,那么车子启动,车载USB接口自动通电,车子熄火,车载USB接口自动断电。那么只要设定USB通电断电来控制手机的启动与关机就能解决问题。
手机插上充电一般都会显示一个充电的动画,那是不是只需要修改相关的引导文件,显示充电动画时自动启动手机就可以了呢,经过各种尝试,终于寻找到解决方案,理论上该方案可以解决安卓6~10系统(2020-03-14 测试小米5,安卓10有效)。
需要工具:安卓手机,需要boot权限,解BL锁。
镜像助手:负责提取和刷入boot.img
镜像工厂:负责boot.img的解包和打包
MT管理器2.0:负责修改解包后的init.rc文件
PS:记得提前备份原版boot.img,因为可能会翻车。
操作步骤
步骤1:提取boot.img
手机端使用上面提到的工具提取:镜像助手提取boot.img,存放在内置储存的根目录下,boot.img
步骤2:解压缩
使用镜像工厂解包,存放路径ImageFactoryunpackedboot.img_unpacked
步骤3:修改init.rc
用MT管理器2.0打开“手机内置储存ImageFactoryunpackedboot.img_unpackedramdiskinit.rc”,搜索关键词“charger”,找到下面代码,插入下一句。
步骤4:用镜像工厂打包boot.img,打包后命名boot1,用镜像助手刷入即可。
步骤5:关机测试,插入充电线,手机自动开机,先执行充电流程,然后马上重启手机,重启后就会走正常的开机流程了。
自动启动行车记录仪软件
解决了手机充电自动开机的问题之后,对手机系统底层的修改就已经结束了,剩下所有的问题都有比较简单的操作界面了。这里我们使用Tasker来实现手机开机后自动启动行车记录仪。Tasker其实是个可以实现非常多自动化操作的软件。
在手机上安装Tasker,给到它Root权限和自启动权限。然后在任务里建立一个新的任务,起名“启动行车记录仪”。任务里添加一个操作“程序”-“启动应用”-“AutoBoy”。然后建立一个配置文件,选择添加事件“系统”-“设备启动”,任务选择刚刚建立的“启动行车记录仪”。把这一切保存好,就实现了开机自动启动行车记录仪了。
断电自动关闭行车记录仪
使用Tasker实现断电自动关机比自动启动复杂些。大家都知道,USB接口使用途中有时候接头会松动或者不小心拔错充电线而造成关机,这样重启需要花费挺长时间。所以功能上要实现语音提示,延迟10秒后再关机,这10秒钟之内,如果检测到电源恢复连接的话,就不需要关机了。
首先在Tasker的变量里,新建一个变量,起名为%DYZT,用这个来记录当时电源状态是否为连接,默认值设置为0。我们把连接状态定义为0,断开状态定义为1。
然后在刚才编辑好的启动行车记录仪任务中,增加一个操作“变量”-“变量设置”,名称选择%DYZT,发往输入0。
这样操作就让手机开机的时候把这个变量的值设定成0,因为手机刚开机的时候,你的电源是连接状态的。
然后我们建立一个新的任务,起名“断电关机”,里面添加如图所示的几个动作。
然后我们再建立一个新的任务,起名“取消关机”,里面添加如图所示的几个动作。
首先断开电源的情况,触发“断点关机”任务,%DYZT赋值为1,然后系统发出语音提示“电源断开”,等待10秒后判断%DYZT值是否仍然为1,如果是就关机。这10秒钟内,如果电源重新连接上,触发“取消关机”任务,判断%DYZT是否等于1,如果等于就发出语音提示“电源恢复”,同时吧%DYZT赋值为0
然后我们在“配置文件”中添加一个“状态”-“电源”-“电源”,选中“反转”,任务选择刚刚建立的“断电关机”,完成后把这个配置重命名为“电源断开”。
同样,再添加一个“状态”-“电源”-“电源”,这回不要选中“反转”,任务选择“取消关机”,完成后重命名为“电源连接”。
吐槽一下翻译:在变量设置里,%DYZT发往1的解释,其实是把1赋值给%DYZT。
固定安装
所有系统问题都解决后,那么我们就只需要把他安装固定即可。我们家有3D打印机,后来自己打了一个,没有3D打印机的就买一个支架即可。万能的淘宝有很多这种支架,价格从十几块到三十几块不等,自己挑。
特别推荐这个转接口,再也不存在屁股后面戳了根线的情况了。
布线参看胖胖灵魂画师的手笔,基本靠猜。
结语
关于3D打印的支架碰到了一个材料方面的问题,我们第一次用了PLA的材料,在国庆开长途高温的暴晒下,支架变形了,而后我们查看了相关数据,发现热变形温度在56度,现在换了另一种材料,PETG,热变形的温度在64度,可能要等明年夏天才能测试了,如果该材料还是失败,那么就要使用PC材料,就是行李箱的材料,热变形温度80度。
用旧手机改行车记录仪其实主要就是为了好玩。目前我们使用下来发现也是有一些问题的,比如晚上手机的像素太低,画面太渣。AutoBoy我们设置的是每10分钟录一段,而在他10分钟间隔的时候,如果正好车子颠了,他可能会产生对焦没对准的问题。还有一个至今没法克服的问题,就是夏天时候,手机电池过热的问题,过热会自动关机,这个问题无解。