分类: 指示

家庭生态系统中的 Raspberry Pi:特性和示例(第 2 部分)

У 以前的 在本系列的文章中,您和我同时处理了在 Raspberry Pi 上安装几个有用的服务:AdGuard Home、Time Machine 和 Homebridge 以及六个不同的插件。 但就“小”而言,还有增长空间,因为带有所有正在运行的服务的 RPi4 引导看起来像这样:

如果设备的耐用性让您不仅可以将其用作服务平台,那就尽情享受吧!

因此,今天我们将为 Raspberry Pi 上已有的所有其他功能添加一些不错的附加功能,旨在丰富我们的休闲时间。 但是,在将“小家伙”变成一个文件服务器、一个媒体中心,或许还有一个游戏机之前,让我们先了解一下它。

最近,一个案例引起了我的注意 用于 Raspberry Pi 4 B 型的 Argon ONE 外壳 我立即购买了它。 案例的优点:

  • 他自己就是一个连续冷却模块
  • 它仍然有一个可编程风扇,根据设定的 CPU 温度启动
  • Raspberry Pi 上的所有端口神奇地出现在一个背板上,而不是到处都是
  • Raspberry Pi 的原生 LED 神奇地出现在前面板的中央
  • 外壳的设计从容地适应任何环境,正如它所做的那样 Apple 以电视为例

总而言之,这是一种享受。 一个新模型 Argon ONE M.2 保护套,适用于 Raspberry Pi 4 B 型 用全格式 HDMI 端口替换内置微型 HDMI 端口,添加一个驱动器插槽 M.2 SSD 和一个红外接收器。 强烈推荐!

但是让我们回到我们的任务并开始将 Raspberry Pi 变成一个娱乐中心。 我们走吧!

内容

在树莓派上安装传输

因为我连接了一个 3 TB 的外部驱动器(这是 Time Machine 备份的地方,还记得吗?),下载文件的想法自然而然地出现了。 我已经很长时间没有使用种子了,因为我有活跃的订阅 Apple 音乐, Apple 电视+, Apple Arcade 和 Netflix,但我在这个星球上并不孤单,一些复古游戏机的想法表明 洪流客户端 不会多余。

让我们从它开始。

还需要考虑的是,如果我要在安装之前所有服务的同时安装 Transmission,那么我当然会在外部 HDD 上创建两个分区 - 用于文件存储和 Time Machine。 我不想对驱动器进行分区,因为它上面已经有一堆备份,所以我会选择阻力最小的路径:只需在 macOS 旁边的现有分区中创建一个用于下载的文件夹备份图像。

重要的! 因为我们会承诺给用户 pi, 这是访问整个系统和我们已经安装的服务的默认设置,那么为了安全起见,我们将(可选)使用通过 IP 地址访问传输控制面板的限制。 为此,请提供您计算机的静态本地 IP,您可以从中通过网络在 RPi 上进行所有设置和操作文件。 如果您忘记了如何操作,请参阅在 以前的 回复.

步骤 1. 通过 SSH 登录树莓派

如果您忘记了如何操作,上一篇文章会有所帮助。

第 2 步。将所有最新的软件更新下载到 RPi

sudo apt update sudo apt upgrade

第 3 步。我们安装传输服务本身......

sudo apt 安装传输守护进程

第 4 步。...我们就在那里停止

sudo systemctl 停止传输守护进程

步骤 5. 创建用于下载文件的文件夹

你可以一次做两个,完成下载和仍在进行中的下载,但我个人认为这没有多大意义,因为完全下载的文件默认情况下仍具有扩展名 。部分.

我们记得在上一篇文章中我们有一个挂载点 /mnt/tm,因此我们将在此处创建下载文件夹。

sudo mkdir -p /mnt/tm/下载

步骤 6. 我们创建一个用户 pi 主人

sudo chown -R pi:pi /mnt/tm/下载

步骤 7. 编辑配置文件

打开设置文件 settings.json 在编辑器中 纳米 使用命令:

sudo nano /etc/transmission-daemon/settings.json

打开的文件的内容将如下所示:

# Transmission-daemon 配置文件 # { "alt-speed-down": 50, "alt-speed-enabled": false, "alt-speed-time-begin": 540, "alt-speed-time-day": 127,“alt-speed-time-enabled”:false,“alt-speed-time-end”:1020,“alt-speed-up”:50,“bind-address-ipv4”:“0.0.0.0”, “bind-address-ipv6”:“::”,“blocklist-enabled”:false,“blocklist-url”:“http://www.example.com/blocklist”,“cache-size-mb”:4 , "dht-enabled": true, "download-dir": "/var/lib/transmission-daemon/downloads", "download-limit": 100, "download-limit-enabled": 0, "download-queue -enabled”:true,“download-queue-size”:5,“encryption”:1,“idle-seeding-limit”:30,“idle-seeding-limit-enabled”:false,“incomplete-dir”: "/var/lib/transmission-daemon/Downloads", "incomplete-dir-enabled": false, "lpd-enabled": false, "max-peers-global": 200, "message-level": 1, " peer-congestion-algorithm": "", "peer-id-ttl-hours": 6, "peer-limit-global": 200, "peer-limit-per-torrent": 50, "peer-port": 51413, "peer-port-random-high": 65535, "peer-port-random dom-low”:49152,“peer-port-random-on-start”:false,“peer-socket-tos”:“default”,“pex-enabled”:true,“port-forwarding-enabled”:false ,“预分配”:1,“prefetch-enabled”:true,“queue-stalled-enabled”:true,“queue-stalled-minutes”:30,“ratio-limit”:2,“ratio-limit-enabled” :false,“重命名部分文件”:true,“rpc-authentication-required”:true,“rpc-bind-address”:“0.0.0.0”,“rpc-enabled”:true,“rpc-host-白名单”:“”,“rpc-host-whitelist-enabled”:true,“rpc-password”:“{51672671e9402abc55992da3ee7809f2c0662d10uLpcJwyX”,“rpc-port”:9091,“rpc-url”:“/传输/”,“ rpc-username": "transmission", "rpc-whitelist": "127.0.0.1,192.168.1.40", "rpc-whitelist-enabled": true, "scrape-paused-torrents-enabled": true, "script- torrent-done-enabled": false, "script-torrent-done-filename": "", "seed-queue-enabled": false, "seed-queue-size": 10, "speed-limit-down": 100,“速度限制下降启用”:假,“速度限制向上”:100,“速度限制向上启用”:假,“开始添加种子”:是的,“trash-original-torrent-files”:false,“umask”:18,“upload-limit”:100,“upload-limit-enabled”:0,“upload-slots-per-torrent”:14, “启用 utp”:真}

我们把下面几行的内容做成如下,我们按照从上到下的顺序查找:

  • "download-dir": "/mnt/tm/Downloads", — 指定下载的默认文件夹;
  • "rpc-password": "your RPi password here", — 我们从用户那里设置密码 pi (我们用它来进行 SSH 登录,还记得吗?);
  • "rpc-username": "pi", — 指定实际用户 ;
  • "rpc-whitelist": "127.0.0.1,192.168.50.20", — 用于访问控制面板的白名单,而不是 192.168.50.20 指定进行设置的设备的本地 IP 地址(参见段落 重要的! 上文)。

如果您不想费心从本地 IP 登录(毕竟,我们不是在这里入侵五角大楼,而是在玩),那么 "rpc-whitelist-enabled": "false", 而不是上一行,这个问题已经结束。

我们保存结果 按Ctrl + O, 输入, 按Ctrl + X.

步骤 8. 更改 Transmission Daemon 的用户

sudo nano /etc/init.d/transmission-daemon

在编辑器窗口中搜索一行 USER=debian-transmission 并将其更改为 USER=pi. 不要忘记使用相同的组合键保存编辑结果 Ctrl + O, 输入, 按Ctrl + X.

步骤 9. 对服务文件重复步骤 8。

输入命令...

sudo nano /etc/systemd/system/multi-user.target.wants/transmission-daemon.service

...我们还在打开的文件中指定 user=pi

我们保存结果 按Ctrl + O, 输入, 按Ctrl + X.

步骤 10. 重新启动所有服务

为了捕获我们所做的所有更改,我们输入

sudo systemctl守护进程重新加载

步骤 11. 使用户 pi 成为 /etc/transmission-daemon 的所有者

sudo chown -R pi:pi /etc/transmission-daemon

Step 12. 我们创建一个访问目录 传输守护进程 到文件 配置文件

sudo mkdir -p /home/pi/.config/transmission-daemon/ sudo ln -s /etc/transmission-daemon/settings.json /home/pi/.config/transmission-daemon/ sudo chown -R pi:pi /家/pi/.config/transmission-daemon/

步骤 13. 启动服务

sudo systemctl 启动传输守护进程

呵呵,搞定了! 我们处理!

如何在树莓派上使用传输

都一样 以前的 回复 我们一劳永逸地在本地网络上为树莓派分配了一个静态 IP。 在我的例子中是 192.168.50.10,在你的 - 路由器设置中的任何其他内容。

要访问新安装的 Transmission 的接口,我们将使用此 IP 和端口 9091. 在浏览器地址栏输入  http://<ip address of your server>:9091, 而不是 <ip address of your server> 在我的例子中,仍然是我们之前指令中的相同 IP .

用户: pi, 密码: 你的密码,设置文件中指定的所有内容。 如果一切正常的话,画面会是这样的:

将 torrent 文件本身添加到下载列表中:

我们观看了这个过程。 或者我们不看,Transmission 会在没有我们的情况下进行。

添加一些舒适度(可选)

如果我们不仅需要能够访问下载的文件(即能够看到它们并将它们复制到我们的计算机),而且还需要能够从计算机上通过网络自由地添加、更改或删除 Downloads 文件夹中的文件任何本地用户,您需要执行以下命令:

cd /mnt/tm sudo chmod a=rwx -R 下载

a 是“大家”, RWX – “可以读取、写入和执行文件”, -R – 在文件夹中“递归”(即,任何嵌套深度) 资料下载, 位于沿途 /mnt/tm. 完全的自由。

现在,您不仅可以通过 Transmission 本身的 Web 界面删除和更改下载的文件,还可以简单地通过网络、Finder 或任何其他文件管理器删除和更改下载的文件。

另请阅读:

在树莓派上安装 PLEX 媒体服务器

PLEX 是一个非常强大的编目器和媒体服务器,曾经从 XBMC 项目中分离出来,但发展得更好、更有趣,目前正朝着与 Netflix 和 Amazon Prime Video 相同的方向飞速发展——即走向国际流媒体服务。 如今,PLEX 目录包括 130 多个电视频道和 20000 部来自华纳兄弟、Crackle、狮门影业、米高梅等工作室的经典电影。

但是开发人员不会忘记存储在您设备上的本地媒体,因为服务器和客户端部分都存在于所有可以想象和难以想象的平台上。

要开始使用,您需要在网站上注册一个帐户 丛电视. 这将允许您同步服务器和客户端应用程序的设置,组织家庭网络外的传输,等等。 必要且有用的步骤。 之后,我们将进行安装。

服务器部分可以安装在以下软硬件平台上:

我们的选择是Linux,但是我们不会下载任何东西,一般都是去命令行。 通过 SSH 登录,首先更新系统:

须藤 易于 更新
须藤 易于 升级

然后是 PLEX 媒体服务器的实际安装:

步骤 1. 为 Raspbian 包管理器添加 https 协议支持

sudo apt安装apt-transport-https

第 2 步。我们获取 Plex 存储密钥……

wget https://downloads.plex.tv/plex-keys/PlexSign.key

第 3 步...并将其添加到系统中

sudo apt-key 添加 PlexSign.key

第 4 步。让我们通过 PLEX 存储库熟悉 Raspbian

echo deb https://www.plex.tv/media-server-downloads/ 公共主 |须藤三通 /etc/apt/sources.list.d/plexmediaserver.list

步骤 5. 更新数据(熟悉的命令,对吧?)

sudo apt update

步骤 6. 安装 PLEX 媒体服务器

须藤 易于 安装 丛媒体服务器

第 7 步。我们负责更新的可能性

要使 PLEX 更新成为系统更新的一部分,您只需要终止两个命令:

echo deb https://www.plex.tv/media-server-downloads/ 公共主 |须藤三通 /etc/apt/sources.list.d/plexmediaserver.list

і

卷曲 https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key 添加 -

就是这个。 以后常用的系统更新命令会同时更新PLEX本身。

sudo apt update sudo apt upgrade

完毕! 您可以开始初始设置。

配置 PLEX 媒体服务器

还记得文字上方的“增加一点安慰”吗? 通过为一个 Raspberry 迈出的那一小步,我们为全人类节省了大量时间。 我们不会使用一些控制台命令为内容创建文件夹并使用其他控制台命令为它们分配访问权限,我们只需转到网络上的下载文件夹并在其中创建电影、音乐、电视节目和其他视频文件夹通常的方式。

鉴于系统用户 pi 拥有下载文件夹的全部内容,PLEX Media Server 可以毫无问题地处理您收藏的电影、音乐、电视节目和家庭视频。

要在浏览器中访问控制面板,请点击链接 http://<ip address of your server>:32400/web/index.html,就我而言,我们都记得,这意味着  ,而你的有一些特别之处。

在这里,我们遇到了一个具有大量设置的界面,这可能会吓到未经训练的用户。 因此,让我们简要回顾一下主要内容。

首先,在右上角找到负责该帐户的图标并登录。 从现在开始,服务器设置将在本地网络和直接通过 PLEX 网站上的帐户提供。 好吧,我们立即通过使用工具单击图标来进行设置。

应该注意什么:

  1. 在选项卡上 远程交流cess 确保您的服务器从网络外部可见。 默认端口为 32400,如果您没有看到它 完全交流ces可能在您的网络之外,它必须在路由器设置中打开。
  2. 在选项卡上 自学资料库 值得注意的是每次更改时都会自动扫描媒体库,这样来自远程文件的封面和元标签就不会因死链接而阻塞界面。
  3. 在选项卡上 图书馆 指定文件夹路径 电影, 电视节目, 音乐 і 其他影片,这是我们之前在下载文件夹中的外部驱动器上创建的。 在这里,您需要仔细选择您的库类型,以便内置扫描仪在查找封面、素材或曲目列表时引用正确的服务器。

大体上就是这样。 其他设置,例如转码参数或打开 DLNA 服务器,完全由您自行决定,具体取决于任务、客户端设备等。

我可以注意到,在默认设置下,我的 Raspberry Pi 4 播放 4GB 10K HDR-92 BD-Remux 时甚至没有卡顿。 担任客户 Apple 安装了 PLEX 应用程序的 4K 电视,通过 HDMI 连接。 封面、剧照、电影信息等由 PLEX 媒体服务器以全自动模式添加。

PLEX 拥有客户端程序的平台列表比后端平台列表更令人印象深刻。 亲自看看,几乎所有能够播放媒体的设备都在这里:

下载您需要的程序的链接可以在页面上找到 设备和应用程序 服务的官方网站。

享受!

不幸的是,如果 PLEX Arcade 复古游戏服务的后端安装在 Raspberry Pi 或任何一般的 Linux 服务器上,则无法运行。 因此,现在我们将把我们的“小家伙”变成一个复古控制台。

为树莓派选择游戏平台

为了在 Raspberry Pi 上从各种平台玩复古游戏,从 ZX Spectrum 到 PlayStation 一、已开发4个产品: RetroPie, 重装盒, 拉卡 і 巴托塞拉.

它们都有点相似,但也有非常重要的区别。 让我们从本周期第一篇文章开头提到的内容开始:所有 Raspberry 软件制造商都喜欢以操作系统映像的形式发布它。 也就是说,您下载了图像,将其写入 microSD 卡,然后将其插入插槽 - 这样您就有了一台准备工作的具有单一功能的微型计算机。

如果你这样做,家里树莓派的数量将超过任何合理的限制。 这就是为什么这些文章将任何服务的安装都视为应用程序,而不是操作系统。 因此,如果您要解决使用 Raspberry Pi 创建游戏机的问题,那么唯一的选择就是 RetroPie。 只有该产品提供作为 Raspbian 应用程序的安装,而不仅仅是作为独立操作系统。

在 Raspbian 中安装复古控制台

我已经测试过这个功能,但我不得不说它不值得付出努力。如果 8 位游戏机的游戏,例如 NES(在前苏联称为“Dendy”)可以被认为是可以玩的,那么当涉及到仿真时 PlayStation,事情变得非常糟糕。

因此,我不得不接受这样一个事实:只有使用单独的树莓派作为游戏机,游戏模拟才能达到高质量。

接下来,我面临着从外部 USB 硬盘存储和启动游戏、支持不同制造商的游戏手柄、界面简单和设置方便的问题。 RetroPie、Recalbox 和 Batocera 使用 EmulationStation 作为引擎,而 Lakka 独立使用 RetroArch,其界面与 XMB 尽可能相似 PlayStation 3.

至于从外部媒体存储和启动游戏的能力,Batocera 在这里有些失落:虽然这里提供了这样的选项,但在外部驱动器的根目录下只有一个特定的文件夹结构,这并不总是很舒服。

至于支持的平台,Lakka 比竞争对手稍逊一筹,但它以令人难以置信的性能和“开箱即用”的便利性弥补了这一点。游戏手柄来自 PlayStation 4 可以瞬间识别,无需额外操作,也无需使用电缆与 Raspberry Pi 进行初始连接。

最终,在测试了4款游戏产品5次后(RetroPie因为上述原因被测试了次),我选择了最具科技感的项目——Lakka。 我们现在就安装它。

在树莓派上安装 Lakka

步骤 1. 下载 balenaEtcher 应用程序

在它的帮助下,我们将格式化 microSD 卡并将 Lakka OS 映像写入其中。 该应用程序存在适用于 Windows、Linux 或 macOS 的版本并且可用 通过链接.

Step 2. 我们从官网获取Lakka镜像

重要的! 给业主 树莓派4 з 8 国标 RAM,您需要下载所谓的每晚构建 - 一个适应新 Raspberry Pi 模型的构建。

为此,请访问 通过链接,转到最底部并找到具有最新日期的目录。 在目录内,找到子目录 树莓派4.arm,其中包含一个扩展名为 .img.gz. 这是我们将写入 microSD 卡的图像。

如果您有任何其他版本的 Raspberry Pi,请从列表中选择您的型号 这一页.

步骤 3. 将 Lakka 图像保存到 microSD

启动 balenaEtcher,选择 Lakka 映像,指定 microSD 的路径并等待该过程完成。 该过程本身大约需要一分钟,因此您不必等待很长时间。

第四步,将网卡插入树莓派,启动系统

鉴于你和我正在制作游戏机,Raspberry Pi 已经连接到电视(或接收器,取决于你的喜好和硬件)是有道理的。 此外,在首次启动时,需要通过 USB 连接的键盘。 您不需要鼠标,但可以将游戏手柄放在身边。 我们使用靠近电源插座的 Raspberry Pi 上的 HDMI 端口。

就这样。 Lakka 将确定硬件配置,重新启动 Raspberry Pi 并以漂亮的界面迎接我们 PlayStation 3.

在树莓派上设置 Lakka

要舒适地使用 Lakka,您需要执行几个简单的操作,然后一劳永逸地关闭键盘。

  1. 使用←→↑↓键浏览菜单,我们找到Servi项目ces 并激活 SSH 和蓝牙。使用 Enter 键确认您的选择,然后使用 Backspace 取消。
    如果没有声音,请在 Audio → Device 菜单中按 Enter 并输入以下值:
  2. hdmi:卡=vc4hdmi,DEV=0

    然后我们选择一个项目 重启 RetroArch.

  3. 我们连接游戏手柄。 对于 DualShock 4,按住“PS”和“Share”按钮几秒钟,直到游戏手柄开始闪烁白光,就足以让游戏手柄进入配对模式,而在 Raspberry Pi 上,在可用蓝牙设备列表中找到无线控制器,然后按 Enter。 几秒钟后,游戏手柄将发出连接成功的信号,并发出持续的蓝光。 第二个游戏手柄会发出红光。
  4. 在菜单中 输入 → 端口 1 控制 设置以下值:
    设备类型:带模拟的 RetroPad
    模拟到数字类型:左模拟
    在下面一点,我们分别重新分配游戏手柄的所有按钮和摇杆,以避免将来出现复杂情况。
    键盘可以关闭,我们将不再需要它。
  5. 更正时区。 为此,请通过 SSH(登录名/密码:root/root)登录 Lakka 并输入命令:
    echo "TIMEZONE=Europe/Rome" > /storage/.cache/timezone

    在哪里而不是 欧洲/罗马 用任何需要的值替换 时区列表 来自维基百科。 重新启动,现在正确的时间出现在屏幕上。

将新游戏下载到 Raspberry Pi

原则上Lakka对游戏仿真没有任何严格的要求,除了仿真 PlayStation 一。为了正确操作,您需要原始机顶盒中的 BIOS 文件。从这些文件既然分布来看 Sony 是盗版,你得自己google一下。以下文件适用:

MD5SUM 名字
8dd7d5296a650fac7319bce665a6a53c scph5500.bin
490f666e1afb15b7362b406ed1cea246 scph5501.bin (可以从 scph7003.bin 重命名)
32736f17079d0b2b7024407c39bd3050 scph5502.bin

您需要将它们(任何一个或全部)放在文件夹中 / 系统 在树莓派上。 这可以简单地通过网络完成,因为 Lakka 默认允许访客通过 Samba 访问。

它仍然只是扫描带有游戏的文件夹,在 Lakka 的情况下,这些文件夹可以位于任何地方 - 在带有系统的 microSD 上或在外部 USB 驱动器上。 如果有强烈的愿望,您可以使用任何支持 WebDAV 的云来存储游戏,将其挂载到 Lakka 文件系统,但在我看来,这太过分了。 但是,没有人禁止您进行实验,对吗?

我们在 Raspberry Pi 上运行游戏

通过适当的 Lakka 菜单项扫描包含游戏的文件夹: ➕ → 扫描目录. 具有整个文件夹结构的连接的外部驱动器将在名称下可见 sda1-ata-DISK_NAME_VENDOR-XYZ. 选择所需文件夹后,开始扫描项目  并返回主菜单。

我们按平台分类的游戏将在这里等着我们。第一次启动游戏时,Lakka 会要求您指定使用哪个引擎来运行游戏。就游戏而言 PlayStation 我们选择  PCSX ReARMed.

游戏过程中,您可以按下游戏手柄上的通用PS按钮,进入游戏的微调菜单。在这里,如果是 NES 仿真,您可以配置涡轮按钮,并且对于仿真 PlayStation 启用像素加倍,使图像在现代高清电视上看起来更流畅。从同一菜单中,您可以开始视频录制,甚至可以流式传输 YouTube 或者 Twitch,如果有这样的愿望。

PSX Lakka 原始分辨率
PSX Lakka 双分辨率

一般而言,仅此而已。磁盘映像 PlayStation Lakka 的创建者建议从该网站获取 转储,但这不是必要条件。 最主要的是游戏光盘的镜像应该是BIN+CUE格式。 NES、SNES 等游戏图像 - 即使从存档中也能完美工作,因此下载“No-Intro”(原始游戏的干净图像)或“GoodNES”(包含测试版、翻译和其他版本的集合) “垃圾”),你不能从档案中解压它们,而是将它们按原样下载到游戏文件夹中。

玩的开心!

替换维斯诺夫卡

关于在家使用 Raspberry Pi 的系列文章到此结束。 当然,Raspberry Pi 的可能性不仅限于列出的服务,但在家里,享受舒适和愉悦就足以还清花在 Raspberry Pi 上的钱。 你可以买一个 Raspberry Pi 来做你的实验 根据 p.

另请阅读:

Share
尤里·斯坦尼斯拉夫斯基

SwiftUI 开发者。 我收集黑胶唱片。 有时是记者。 Nota 唱片店的老板。

发表评论

您的电邮地址不会被公开。 必填带*

查看评论

  • 我读了这篇文章,我在等第二部分,认真考虑过买覆盆子

    取消回复

    发表评论

    您的电邮地址不会被公开。 必填带*

    • Дякую!

      取消回复

      发表评论

      您的电邮地址不会被公开。 必填带*