享受DIY的快乐 篇一:不动烙铁不花钱——旧手机打造车载导航
全文约3060字、17图,预计阅读时间7分钟。
背景
朋友有一台宝马X1自动挡最低配,没有导航、没有屏幕、没有蓝牙,什么都没有。他一直梦想着加一块儿屏幕显示实时路况,因为在城市里面堵车太常见了,如果能避让拥堵就可以节省不少时间。解决这个问题有几个思路:安装车机、使用手机和支架、DIY。安装车机无论是原厂还是三方都要花不少银子,不考虑。随身手机+支架偶尔用用不是问题,但要每次上车装下车摘还是很麻烦,另外主手机耗电还是多少带来一些不便。朋友之前尝试过从淘宝购买屏幕装上,但安装效果和操作体验都不太满意。一个偶然的机会,看见他翻出一台淘汰的三星安卓手机,于是有了今天的方案。
实施
要用手机当导航,要解决如下几个问题:
点火开机
自启导航
强制横屏
屏幕常亮
熄火关机
接下来,就来介绍一下我们是怎么一项项解决的。
点火开机
首先我们要实现手机随车点火开机。硬件连接很简单:从点烟器取电插入手机充电口即可。当车辆点火时,关机状态的手机会自动开机。然而此时碰到一个问题:大多数国行安卓手机(包括苹果国行版)都不是开机进入主系统,而是进入专门的充电模式。要想直接进主系统需要自个儿改,常见的方法有修改bootloader(主要针对MTK机型)、修改程序(主要针对三星、华为、小米)等,各位值友可根据手头的机型自行搜索。这里介绍一下针对我们这台三星手机的方法。
特别提醒:有些手机修改原系统会无法开机,请确认自己的机型如何修改系统文件。搜索关键词可以尝试“机型+修改系统文件”、“机型+修改bootloader”,可能影响开机的技术词汇包括但不限于:BL解锁、关闭dm-verity等。
首先介绍我们的修改思路:将显示充电状态的程序换成重启命令,间接实现进入主系统的目的。通过观察手机的启动流程可以发现:手机在进入充电模式后会显示电池状态(一般为动态的充电效果)。这个动态状态是由程序实现的,改个程序比修改Bootloader的难度要小很多,也方便很多。只要将该程序改成重启命令,就能实现回到主系统的目的。虽然启动过程长了些,但实测也就1分多钟。充电功能不用担心,改掉的程序只负责显示充电状态,不是说改了就不充电了。修改后的启动流程如下:
经过搜索(帖子在这里),确认我们手头的三星手机充电程序为:/system/bin/lpm。具体修改步骤如下,后面详述:
成功root手机(这是修改系统的前提)
adb shell(登录手机命令行)
su(切换到root身份)
mount -o rw,remount /system(将系统分区以读写方式挂载,为修改文件做准备)
echo "#!/system/bin/sh" > /system/bin/lpm(开始修改文件内容,注意这里是一个大于号)
echo "/system/bin/reboot" >> /system/bin/lpm(追加修改文件内容,注意这里有两个大于号)
chmod 755 /system/bin/lpm(确保文件具有执行权限)
ls -l /system/bin/lpm(确认一下文件权限)
cat /system/bin/lpm(检查一下文件内容)
mount -o ro system(将系统分区改回只读状态)
关机,插充电线,验证修改效果
获取root权限后可以很方便的修改系统。因为手机版本很老(Android4.1.2),这里我们用“刷机精灵”一键搞定。类似的软件还有“一键root”、“kingroot”等,一个软件不成功可以换另一个软件试试。如果软件自动root均告失败,可搜索“手机型号+root”并手动尝试。
接下来要进入命令行,开始修改系统了。我们通过刷机精灵的工具进入adb命令行。
开启命令行窗口(黑色背景)后,敲入“adb shell”进入手机命令行,再敲入“su”切换到root身份。当看到提示符变成“#”(如图)说明已成功切换到root身份。如果还是“$”或者其他出错信息说明root失败,需返回步骤1再尝试root。
敲入“adb shell”进入命令行,再敲“su”切换到root身份
下面要利用root权限重新挂载系统分区。命令是“mount -o rw,remount /system”,成功执行后应该没有任何提示。如果遇到错误提示,建议搜索“机型+修改系统文件”查找对策。
然后修改lpm文件实现重启。为保险起见,这里使用两条命令分两次将内容写入lpm文件。每敲完一个命令后回车,成功的话依然没有提示。如果出错建议复制出错信息自行搜索。两条命令分别是“echo "#!/system/bin/sh" > /system/bin/lpm”、“echo "/system/bin/reboot" >> /system/bin/lpm”。注意第一条命令中间有一个大于号,第二条命令有两个。
接着用“chmod 755 /system/bin/lpm”命令确保文件具有执行权限。如果是删掉原有的lpm文件再敲入第5、6步两行命令也不会出错,但是因为是新建的文件,默认是不能执行的。为了保险起见,建议执行一下本命令强制使文件具有执行权限。执行正确的话依旧没有任何提示。
最后使用两条命令检查一下。首先是“ls -l /system/bin/lpm”,观察输出结果的行首应该是“-rwxr-xr-x”。如果不是的话建议再尝试步骤7。然后是“cat /system/bin/lpm”,预期的输出应该有两行内容。第一行是“#!/system/bin/sh”,第二行是“/system/bin/reboot”。如果不是,建议重新尝试步骤5、6。如图。
最后使用“mount -o ro system”将系统分区改回只读状态。然后就关机,插充电线,验证修改效果吧。
本小节结束前,插一段关于关机状态充电会进入充电模式的传说,来自一位手机行业的朋友。如果有值友知道更多细节,欢迎一起探讨。
“关机状态充电不能进入主系统”是国内对手机功能的龟腚——不能替机主决定开启网络信号。解释一下就是我只想充电,你却自动开机(开信号)了,不行!万一我在飞机上怎么办,万一我此时不想接电话怎么办,万一我不想接受短信怎么办(有信息送达报告)……
自启导航
现在手机可以进入主系统了,第二步是自动启动导航。我们使用的软件叫“Auto Start”,设置过程根据提示即可,不过多介绍。只放出一张截图。
强制横屏
看路况时手机横放会更舒服,但是大多数导航软件只能做到导航模式可横屏,地图模式(就是刚进入导航,能定位和显示路况的界面)仍然是竖屏的。为了解决这个问题,我们找到了一款可以强制横屏的软件“Orientation Control”。它可以实现地图模式的横屏。该软件自动开机运行(无需设置随机启动),就能实现开机即横屏。设置时主要勾选“Maintain Orientation”,其余选项随意。
屏幕常亮
屏幕常亮比较简单,无论是手机设置里面的常亮还是导航软件的常亮都能满足要求。参考截图来自高德地图。
熄火关机
我们在汽车之家的论坛上找到了一位大牛贡献的停止充电就自动关机的程序(帖子在这里)。这个程序还是很好用的,可以设置停充后等几秒关机。经过一段时间的使用,我们建议可以把触发关机的时间设的稍微长一点儿(比如300秒),避免在路边等个人也关机。然后将本软件也加入自动启动的应用列表。至此,软件改造完毕。
安装
软件都设置完毕了,只要把改造完的手机安装到车里自己喜欢的位置即可。每个人的喜好不同,固定方式也有很多,这里不再细说。现在你需要做的就是给手机插好电,然后打火。看着手机一步步按照设定好的动作执行,享受DIY的快乐吧。
感谢观赏!欢迎收藏打赏、评论交流。如果你有意试一试就赶紧行动吧。Let's DIY!
wingkid
校验提示文案
afsf
校验提示文案
猪猪虾
校验提示文案
FlatMushroom
校验提示文案
胖一
校验提示文案
[已注销]
校验提示文案
北极草
校验提示文案
tutu2008
校验提示文案
部川内酷
校验提示文案
不要张扬
校验提示文案
值友7245473951
校验提示文案
咸鸡蛋
校验提示文案
还让买吗
校验提示文案
七月流火1998
校验提示文案
kanamikiss
校验提示文案
面包颜
校验提示文案
killer123
校验提示文案
QZ双鱼座
校验提示文案
长腿的叔叔
校验提示文案
njack
校验提示文案
morok2008
校验提示文案
值友9991346887
校验提示文案
值友9991346887
校验提示文案
CbcaacIntosh
校验提示文案
李哩哩先森
校验提示文案
tflyingb
校验提示文案
非常
校验提示文案
飘在雨中
校验提示文案
银色吉姆尼
校验提示文案
不知为不知
现在这种方便了。
感谢
校验提示文案
值友8490751045
校验提示文案
永哥lsy
校验提示文案
xnzhang0510
校验提示文案
改个昵称真难呀
校验提示文案
土豆王爷
校验提示文案
迷进切了
校验提示文案
閃閃金坷垃
校验提示文案
零之曙光
校验提示文案
值友3417589641
校验提示文案
自己人
校验提示文案