丰田RAV4 2016款空调滤芯更换以及安装方向

丰田RAV4 2016款空调滤芯更换教程:

1. 不带智能进入和起动系统的车辆:将发动机开关切换至“LOCK”位置。带智能进入和起动系统的车辆:关闭发动机开关。

2. 提起并取出隔板。

3. 拆下手套箱盖。

4. 拆下滤清器盖。

5. 拆下空调滤清器并更换为新滤清器。滤清器上的“↑UP”标记应朝上。

■更换间隔

根据保养计划,检查并更换空调滤清器。在多尘或交通繁忙的地区,更换间隔

可能需要缩短。

■如果通风口的气流明显减弱

滤清器可能堵塞。检查滤清器,如有必要进行更换。

■使用空调系统时

确保滤清器已安装。

使用不带滤清器的空调系统可能会损坏系统。

原厂滤芯的实际安装朝向如下:

博世等标注气流方向的滤芯的实际安装朝向如下:

也就是与原厂的滤芯的箭头方向相反,保证文字都是正的即可。

注意滤芯是长方形的,原厂的文字是印刻在短边的一侧。买的滤芯文字可能印在了长边一侧,这个时候我们需要转一下方向,不要强行把有文字的一侧露在外面。滤芯是很容易插入的。

参考链接


树莓派3B+/4B报告“low voltage warning”

需求场景

用的好好的树莓派,有一天连接VNC,发现桌面任务栏一直提示

如下图:

看样子是供电不足,可是树莓派的负载并不高啊。

解决方案

搜了一大圈基本都是说电源的问题,现在使用的电源是以前小米2/小米Note手机自带的电源。经过反复测试,发现跟温度有关,冬天的时候问题不大,到了夏天,由于老式电源转换效率低,大量电能被转换成了热量,导致长时间充电后,温度上升很快,引起降压,断电后过一段时间就可以了,但是一旦温度上升到一定程度,问题依旧。

后来买了个努比亚大白20W氮化镓充电器之后,就不会报告这个错误了。氮化镓的充电器转化效率更高,升温更少,并且更耐高温。

由于这个提示只有在连接显示器或VNC连接时才能在GUI桌面任务栏看到,如果是SSH登录就看不到了,非常的不方便。最好是能够通过命令判断是否电压不足。

具体的脚本详见 https://gist.github.com/maxme/d5f000c84a4313aa531288c35c3a8887

通过此脚本可以查看CPU和电压不足的问题。不过每次登录之后需要手动运行,实在不方面。而且脚本中采用了while循环需要手动中断脚本。所以可以把代码中的while循环去掉,并且在SSH登录的时候执行命令病输出到登录信息上。

注意电压充足的情况下,输出电压为1.2V,而不是 5V,主板的5V是没办法通过脚本直接测量的。我们只能通过脚本测量CPU、内存控制器、内存输入输出、内存本身的电压,主板电压只能用万用表来测量。

效果如下,具体方式参考 ubuntu修改ssh登录提示信息

修改后的raspberry-power-supply-check.sh代码如下:

参考链接


Flutter构建Linux应用

从3.0之后的版本,flutter已经正式支持构建Linux应用

条件

  • ubuntu 22.04
  • Android Studio Chipmunk |  2021.2.1
  • flutter sdk 3.x

方法

1. 打开Linux的平台支持

输入如下指令(如下命令可以使用flutter config查看,2.10以上的版本默认开启

可以使用flutter doctor查看情况。

安装编译依赖

2. 在旧项目中添加Linux平台支持

在项目地址输入如下指令

注意: 项目的名称必须是全小写,如果出现大小写则会报错

3. 构建Linux项目

4. 报错

出现这个问题

参考链接


Flutter构建Windows应用

从2.10之后的版本,flutter已经正式支持构建Windows应用。不过距离实现全平台构建,还需要考虑很多问题,flutter构建的应用更加适合移动端的使用习惯,如果需要构建Windows应用,我的建议是使用一些适合桌面端的widget。

具体方法如下:

条件

  • 需要安装Visual Studio 2019或者Visual Studio 2022,简言之,需要安装Windows 10 SDK。
  • 2.10之前的版本是默认关闭的。Linux和Mac是默认关闭的,可以手动进行打开。

方法

1. 打开Windows的平台支持

PowerShell输入如下指令(如下命令可以使用flutter config查看,2.10以上的版本默认开启

可以使用flutter doctor查看情况

如果报错:

则需要更新Flutter SDK到3.0.2以上的版本即可,如下:

具体原因,参考:[windows] Exception: Bad UTF-8 encoding when running flutter doctor or building/running for Windows #102451

2. 在旧项目中添加Windows平台支持

在项目地址输入如下指令

注意: 项目的名称必须是全小写,如果出现大小写则会报错

3. 构建Windows项目exe

参考链接


Android系统中是否开启定位及定位模式的判断

Android系统中包括3中定位模式:

  使用GPS、WLAN和移动网络 使用WLAN和移动网络 仅使用GPS
特点

同时使用GPS、WIFI及基站定位,速度快、精度高,室内定位效果好。

缺点:耗流量、耗电量

只使用WIFI和基站定位,需要WIFI或者基站才行,室内效果好。

缺点:依赖WIFI或基站,精度一般

不依赖WIFI和基站,室内效果差,户外可靠性好。

缺点:室内效果差

代码 LocationManager.GPS_PROVIDER = true;
LocationManager.NETWORK_PROVIDER = true;
LocationManager.GPS_PROVIDER = false;
LocationManager.NETWORK_PROVIDER = true;
LocationManager.GPS_PROVIDER = true;
LocationManager.NETWORK_PROVIDER = false;
是否打开定位服务 Settings.Secure.LOCATION_MODE = 3 Settings.Secure.LOCATION_MODE = 2 Settings.Secure.LOCATION_MODE = 1

Android系统中检查是否开启了定位服务的代码,参考如下:

参考链接


进程资源图理解与化简

一 了解进程资源图

二 化简资源分配图


方法步骤
  • 第一步:先看系统还剩下多少资源没分配,再看有哪些进程是不阻塞(“不阻塞”即:系统有足够的空闲资源分配给它)的
  • 第二步:把不阻塞的进程的所有边都去掉,形成一个孤立的点,再把系统分配给这个进程的资源回收回来
  • 第三步:看剩下的进程有哪些是不阻塞的,然后又把它们逐个变成孤立的点。
  • 第四步:最后,所有的资源和进程都变成孤立的点。这样的图就叫做“可完全简化”。

如果一个图可完全简化,则不会产生死锁;如果一个图不可完全简化(即:图中还有“边”存在),则会产生死锁。这就是“死锁定理”。 

实例

解析:

R1有两个资源,一个分配给了P1,一个分配给了P3,此时P2申请R1的资源,因为R1此时没有可用资源,P2堵塞。

R2有三个资源,已经给P1,P2,P3,各自分配了一个资源,而P1此时又再次申请资源R2,P1堵塞

R3有两个资源,已经分配给P2一个,P2申请一个资源,分配给它,所以P3是非阻塞结点

化简的话,看从没有阻塞的结点开始,删去P3周围所有的边,使其成为一个孤立的点,然后看剩下的资源按上述步骤再次进行分配,若到最后只剩下一群孤立的点,则说明该资源图是可以化简的。

参考链接


进程资源图理解与化简

Visual Studio Code调试Flutter报错“[CHROME]:need to run as root or suid”

在最新的 Ubuntu 22.04 系统上使用Visual Studio Code调试Flutter应用,Chrome使用Snap安装。

通过指定 CHROME_EXECUTABLE=/snap/bin/chromium,在调试的时候,报错如下:

解决方法就是指定真实的Chrome安装路径,直接调用,而不是通过Snap的沙箱,解决沙箱无法调试的问题。

如下:

上述方法同样可以解决 Android Studio 在 Ubuntu 22.04 系统上无法找到 Chrome 的问题。

参考链接


How to get the snap-based chromium to access a separately mounted filesystem?

SSH默认不支持RSA了

今天升级ubuntu 22.04/Window 11后最基本的ssh登陆突然出问题了, 提示有几种:

一查发现…好嘛, openssh觉得ssh-rsa加密方式不安全, 直接从8.8开始默认不允许这种密钥用于登陆了

解决方法是可以在~/.ssh/config里面加这么一段解决:

第一行说明对所有主机生效, 第二行是将 ssh-rsa 加会允许使用的范围, 第三行是指定所有主机使用的都是 ssh-rsa 算法的key

实测两行都得要写才行, 没有第二行提示没有 ssh-rsa 这么个类型

没有第三行就提示 sign_and_send_pubkey: no mutual signature supported

参考链接


ssh默认不支持rsa了

解决远程桌面执行sudo启动X应用报错“Gtk-WARNING **: 12:39:47.296: cannot open display: :10.0”

通过远程桌面(RDP)连接到远程Ubuntu服务器桌面,执行调用X窗口应用的时候,报错如下:

原因为:

XServer默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上

如果需要别的用户的图形显示在当前屏幕上,则应以当前登陆的用,也就是切换身份前的用户执行如下命令。

当前登陆普通用户执行:xhost +

参考链接


Ubuntu gedit报错Gtk-WARNING **: cannot open display: 问题解决