使用树莓派投射安卓设备

使用Scrpy将您的手机屏幕转换为与树莓派或任何其他基于Linux的设备上的应用程序一起运行的应用程序。

很难远离我们每天使用的小玩意儿。在现代生活的喧嚣中,我想确保我不会错过手机屏幕上弹出的朋友和家人的重要通知。我也很忙,不想迷失在分心中,拿起电话回复消息往往会分散注意力。

使事情进一步复杂化的是,有很多设备。幸运的是,他们中的大多数人,从强大的工作站到笔记本电脑,甚至卑微的树莓派,都可以运行Linux。因为他们运行Linux,我为一台设备找到的几乎每个解决方案都非常适合其他设备。

一刀切

我想在我凝视的任何屏幕上都能统一我生活中的不同数据来源。

我决定通过将手机屏幕复制到电脑上来解决这个问题。本质上,我把我的手机变成了一个与所有其他应用程序一起运行的应用程序。这有助于我将注意力集中在桌面上,防止我在精神上徘徊,并让我更容易回复紧急通知。

听起来很吸引人吗?这也是你做这件事的方法。

设置Scrpy

Scrcpy,通常称为屏幕复制,是一个开源的屏幕镜像工具,用于从Linux、Windows或macOS显示和控制Android设备。Android设备和计算机之间的通信主要通过USB连接和Android调试桥(ADB)进行。它使用TCP/IP,不需要任何根访问。

Scrcpy的设置和配置非常简单。如果您正在运行Fedora,您可以从Copr存储库安装它:

$ sudo dnf copr enable zeno/scrcpy
$ sudo dnf install scrcpy -y

在Debian或Ubuntu上:

sudo apt install scrcpy

您还可以自己编译scrcpy。使用scrcpyGitHub页面上的说明,即使在树莓派上也可以构建很长时间。

在树莓派上:

先安装snap

$ sudo apt install snaps

scrcpy目前树莓派上没有正式版,安装beta版

$ sudo snap install --beta scrcpy

设置手机

安装scrcpy后,您必须启用USB调试,并将每台设备(树莓派、笔记本电脑或工作站)授权为受信任的控制器。

打开安卓设备上的“设置”应用程序,然后向下滚动到开发人员选项。如果开发人员选项未激活,请按照Android的说明解锁它

接下来,启用USB调试

启用USB调试选项

然后通过USB将手机连接到树莓派或笔记本电脑(或您正在使用的任何设备),并将模式设置为PTP(如果可以的话)。如果您的手机不使用PTP,请设置手机用于传输文件的模式(例如,而不是用作连接或MIDI设备)。

您的手机可能会提示您授权您的计算机,并通过其RSA指纹进行识别。您只需要在第一次连接时这样做;之后,您的手机将识别并信任您的计算机。

使用lsusb命令确认设置:

$ lsusb
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 011 Device 004: ID 046d:c21d Logitech, Inc. F310 Gamepad
Bus 005 Device 005: ID 0951:1666 Kingston Technology DataTraveler G4
Bus 005 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 004 Device 001: ID 18d1:4ee6 Google Inc. Nexus/Pixel Device (PTP + debug)
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

然后执行$ scrcpy,使用默认设置启动它。

Scrcpy在树莓派上运行

性能和响应能力因您使用什么设备来控制手机而异。在Pi上,一些动画可能很慢,甚至响应有时也会滞后。Scrcpy为此提供了一个简单的修复方法:降低图像scrcpy显示器的比特率和分辨率使您的计算机更容易跟上。使用以下操作:

scrcpy --bit-rate 1M --max-size 800

尝试不同的价值观来找到你喜欢的。为了更容易键入,一旦您确定了命令,请考虑创建自己的Bash别名

切断电源线

scrcpy运行后,您甚至可以通过WiFi连接手机和计算机。scrcpy安装过程还安装adb,这是一个与Android设备通信的命令。Scrcpy还使用此命令与您的设备通信,adb可以通过TCP/IP进行连接。

在计算机上运行的Scrpy

要尝试,请确保您的手机通过WiFi连接到计算机正在使用的同一无线网络上。暂时不要断开手机与USB的连接!

接下来,通过导航到“设置”并选择“关于手机”来获取手机的IP地址。查看“状态”选项以获取您的地址。它通常以192.168或10开头。

或者,您可以使用adb获取手机的IP地址:

$ adb shell ip route | awk '{print $9}'
To connect to your device over WiFi, you must enable TCP/IP connections. This, you must do through the adb command:
$ adb tcpip 5555
Now you can disconnect your mobile from USB.
Whenever you want to connect over WiFi, first connect to the mobile with the command adb connect. For instance, assuming my mobile's IP address is 10.1.1.22, the command is:
$ adb connect 10.1.1.22:5555

一旦连接好,您可以像往常一样运行scrcpy。

遥控器

Scrcpy易于使用。您可以在终端或GUI应用程序中尝试。

您是否使用其他屏幕镜像应用程序?如果是这样,请在评论中告诉我们。