杂项:闲置手机改摩托车车机导航,支持短时停车休眠,长时停车断电,点火开机(大屏平板也可参照此方案用于汽车)

本文主要是介绍杂项:闲置手机改摩托车车机导航,支持短时停车休眠,长时停车断电,点火开机(大屏平板也可参照此方案用于汽车),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  闲置手机改摩托车车机导航,支持短时停车休眠,长时停车断电,点火开机(大屏平板也可参照此方案用于汽车)。

  本文以安卓11为例,必须解锁bootload,且刷入第三方recovery。

root

  这里使用面具(magisk)作为root示例方案。各大应用商店均可下载。

输入图片说明

  获取手机boot镜像(boot.img),从升级包中提取出来。记住保存的地址,等一会能用到。

输入图片说明

  使用magisk修补boot镜像。打开软件确认初始状态,Magisk一栏当前显示无法获取。点击Magisk一栏右上角安装按钮。

输入图片说明

  选择修补镜像,然后下一步。

输入图片说明

  选择并修补一个文件,选中刚才解压出来的boot.img。

输入图片说明

  记住输出地址,使用第三方recovery将该文件刷入到boot分区即可获取ROOT权限。

输入图片说明

PC安装adb和驱动

  1. 安装adb调试工具(Android Debug Bridge)
  2. 安装安坐通用驱动程序(百度一大把)
  3. 将adb的路径添加到环境变量
  4. 然后输入 adb --version,你应该能在电脑的命令行窗口看到如下图这样的输出,即表示adb安装正常
PS C:\Users\xxxx> adb --version
Android Debug Bridge version 1.0.41
Version 33.0.3-8952118
Installed as C:\software\adb\adb.exe

手机启用USB调试

  1. 点击打开“系统”—“关于手机”;
  2. 点击版本号一栏,大概点七下,直到出现处于开发者模式提示;
    输入图片说明
  3. 这时,点击返回到“系统”页面,找到“开发者选项”一栏
    往下拉,找到并开启“USB调试”,点击“确定”;
    输入图片说明

充电开机

使用fastboot设置(部分设备可能不支持)

  连接手机,输入adb devices,确保有类似的响应

PS C:\Users\xxx\ adb devices
List of devices attached
940f4268        device

  重启到 bootloader 模式

adb reboot-bootloader 

  禁用关机充电功能(即为充电即开机)

fastboot oem off-mode-charge 0

  重启进入手机系统

fastboot reboot

  如果无效,使用下面的第二种方案,稍微麻烦一点。

修改启动文件(init.rc)

  连接手机,输入adb devices,确保有类似的响应。

PS C:\Users\xxx\ adb devices
List of devices attached
940f4268        device

  进入adb shell环境。

PS C:\Users\xxx> adb shell
le_zl1:/ #

  安卓rootfs只读,需要重新挂载根文件系统。

le_zl1:/ # mount -o rw,remount /
le_zl1:/ #

  查找对应的安卓系统init.rc的位置,我这里使用安卓11,位于/system/etc/init/hw目录下。

le_zl1:/ # cd /system/etc/init/hw
le_zl1:/system/etc/init/hw # ls -l
total 68
-rw-r--r-- 1 root root 44528 2023-03-01 22:55 init.rc
-rw-r--r-- 1 root root  7690 2009-01-01 08:00 init.usb.configfs.rc
-rw-r--r-- 1 root root  5897 2009-01-01 08:00 init.usb.rc
-rw-r--r-- 1 root root   588 2009-01-01 08:00 init.zygote32.rc
-rw-r--r-- 1 root root  1028 2009-01-01 08:00 init.zygote64_32.rc
le_zl1:/system/etc/init/hw #

  vim打开文件修改内容,vim怎么使用,这里不解释。

le_zl1:/system/etc/init/hw # vim ./init.rc

  找到on charger,代码长度可能因为机型不同而不同,但都以on charger开头

on chargerclass_start charger

  在后面添加一行 setprop sys.powerctl reboot保存。

on chargerclass_start chargersetprop sys.powerctl reboot

验证是否生效

  手机关机,插上充电器,确认是否自动开机。

断电关机

  断电关机功能,需要借助第三方软件。应用市场自行安装Tasker。

输入图片说明

  关闭电池优化(可选操作,建议设置,目的是留存后台)。

输入图片说明

  设置设备管理权限。(可选操作,建议设置,目的是更好控制手机)。

输入图片说明

  打开软件。点击不,不想了解。

输入图片说明

  新建两个任务,一个延时关机,一个停止关机

输入图片说明

  延时关机建议设置30s。

输入图片说明

  停止关机,执行停止延时关机的任务。(接入电源时,状态不稳定,会在接入和不接入之间跳动。待稳定后,需要停止误触发的关机任务)。

输入图片说明

  设置配置触发,在状态里找到电源(条件——状态——电源——电源——源:任意)。非电源任意,执行延时关机任务。

输入图片说明

输入图片说明

  设置配置触发,在状态里找到电源(条件——状态——电源——电源——源:任意)。电源任意,执行停止关机任务。

输入图片说明

Tasker任务优化

延时关机优化

  车辆断电后,调整CPU运行策略为省电模式,频率拉到最低。每个CPU都需要调整。上限频率和下限频率全部拉到最低。

输入图片说明

  系统锁屏,等3分钟后如果未接通电源,打开飞行模式,关闭定位。应付短时间停车,重新定位和联网需要时间,停车时间在三分钟内重新点火会打断计时操作,只会息屏不会继续往下执。

  亮屏时间改为15s,是应付断电息屏后,人为操作再次点亮屏幕的持续时间。不添加此项,就会使用接通电源的亮屏时间,长时间亮屏,不利于低功耗。

输入图片说明

  关闭定位和联网后,入极低功耗待机状态。等待2小时后若没有接通电源,在关机。应付长时间停车。

输入图片说明

  实际测试,执行完前10步后,功耗极低,这种状态下待机三天,掉电都极少。我这个给备用机已经使用六年了,电池损耗很大,要是不低功耗处理,正常待机最多两天就关机了。即使是这样,使用低功耗处理后,等他没电关机,最少也能待机用半个月。根据需要去除关机的操作。

输入图片说明

接通电源优化(停止关机)

  和上面相反。CPU调整运行策略为按需。上限拉到最高,下限拉到最低。

输入图片说明

  禁用自动调整亮度,长时间亮屏(不息屏),最大亮度。

输入图片说明

  关闭飞行模式,打开高精度定位。

输入图片说明

安装车机桌面

  安装嘟嘟桌面,我觉得这个是比较好用的,自行搜索安装。
输入图片说明

  设置为默认桌面,启动后如图。

输入图片说明

使用截图

输入图片说明

输入图片说明

输入图片说明

输入图片说明

输入图片说明

供电安装

  买一个防水的点烟器,接控制供电,最好不要接电瓶(接电瓶没法实现断电关机)。可以接钥匙上。

  大概买个这样的就行,盖子有嵌入凹槽即可。最好买铜芯的,我这个图片应该是铁的,后期可能会生锈。

输入图片说明

安装防水支架

  手机支架自行选购吧,我买的是这种带塑料外套的,能防泼溅。放室外淋雨估计不行。

输入图片说明

注意防晒

  本方案手机电池未拆除,夏天建议不要长时间停在太阳下面接受太阳直射。这可能会引起高温爆炸。若不放心可在此方案的基础上去除电池。

这篇关于杂项:闲置手机改摩托车车机导航,支持短时停车休眠,长时停车断电,点火开机(大屏平板也可参照此方案用于汽车)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/835399

相关文章

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

公共筛选组件(二次封装antd)支持代码提示

如果项目是基于antd组件库为基础搭建,可使用此公共筛选组件 使用到的库 npm i antdnpm i lodash-esnpm i @types/lodash-es -D /components/CommonSearch index.tsx import React from 'react';import { Button, Card, Form } from 'antd'

(超详细)YOLOV7改进-Soft-NMS(支持多种IoU变种选择)

1.在until/general.py文件最后加上下面代码 2.在general.py里面找到这代码,修改这两个地方 3.之后直接运行即可

js+css二级导航

效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Con

时间服务器中,适用于国内的 NTP 服务器地址,可用于时间同步或 Android 加速 GPS 定位

NTP 是什么?   NTP 是网络时间协议(Network Time Protocol),它用来同步网络设备【如计算机、手机】的时间的协议。 NTP 实现什么目的?   目的很简单,就是为了提供准确时间。因为我们的手表、设备等,经常会时间跑着跑着就有误差,或快或慢的少几秒,时间长了甚至误差过分钟。 NTP 服务器列表 最常见、熟知的就是 www.pool.ntp.org/zo

html--好看的手机充值单页

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>线上充值-首页</title><meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" name="viewport" /><meta content

Android 10.0 系统开机重启桌面时钟小部件widget加载慢解决方案

1.前言 在10.0的系统rom产品定制化开发中,在Launcher3桌面系统默认会有时钟widget小部件显示在首屏的,但是发现在开机过程 中会显示的好慢,等进入桌面了 还没显示,所以接下来分析下相关的源码流程,来实现相应的功能 2.系统开机重启桌面时钟小部件widget加载慢解决方案的核心类 frameworks\base\services\appwidget\java\com\andr

ArkTS开发系列之导航 (2.7动画)

上篇回顾: ArkTS开发系列之导航 (2.6 图形) 本篇内容:动画的学习使用 一、 知识储备 1. 布局更新动画 包含显式动画(animateTo)和属性动画(animation) 动画类型名称特点显式动画闭包内的变化都会触发动画执行, 可以做较复杂的动画属性动画属性变化时触发动画执行, 设置简单 说白了,显示动画就是靠闭包事件触发,属性动画是挂在组件身上的属性变化触发 显式动画

基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结

最近刚刚接触XILINX的ZYNQ板,刚接触没有十天。XILINX定位它为SOC,我也很认同,起码比TI定位MPU为SOC强很多。据说今年TI的最新产品也加入了ZYNQ板。 之前的MIPS处理器设计与实现的项目就算做告一段落,搞了将近7个月,成果显著,收获颇多,最近打算搞搞ZYNQ。 之前MIPS也有一套交叉编译工具,不过是老师提供的,自己也尝试搞了搞,太辛苦了,而且也没什么成果,因为我

【建设方案】基于gis地理信息的智慧巡检解决方案(源文件word)

传统的巡检采取人工记录的方式,该工作模式在生产中存在很大弊端,可能造成巡检不到位、操作失误、观察不仔细、历史问题难以追溯等现象,使得巡检数据不准确,设备故障隐患得不到及时发现和处理。因此建立一套完善的巡检管理系统是企业实现精细化管理的一项重要工作。 基于GIS地理信息系统绘制常规巡检线路,设置线路巡检频率,当线路处于激活状态时,可根据已设置的频率自动生成巡检线路任务,并以消息的形式推送给执行人,