树莓派如何连接使用 PlayStation ?

如果您曾经尝试过在树莓派上使用 PlayStation 控制器,则可能会发现它并不是一件容易的事。希望本教程将有助于简化过程。

我们的树莓派 PlayStation 控制器指南将引导您完成设置和连接 PlayStation 3 控制器和 PlayStation 4 控制器的过程。

对于 PS3 控制器,我们向您展示了如何安装六对软件并利用它来设置 PS3 控制器,以便它可以连接到您在树莓派上使用的任何蓝牙设备。

在此 PS4 控制器教程中,我们将引导您完成将其与树莓派的蓝牙配对的过程,如果您的控制器不起作用,还将提供替代解决方案与标准蓝牙堆栈。

您还可以在树莓派上设置 Xbox 控制器以及其他几种类型的游戏控制器。

设置控制器是让 Pi 准备玩一些游戏的理想方法。您可能还对在其他使用游戏手柄的树莓派项目中使用控制器感兴趣。

设备清单

以下是我在 Pi 教程中用于设置 PlayStation 控制器的所有设备。

推荐的

  • 树莓派 2、 3 或 4

  • Micro SD 卡

  • 电源

  • PlayStation 控制器 (PS3 控制器或 PS4 控制器)

  • 蓝牙适配器 (仅当未使用 Pi 3 或零 W 时)

可选的

  • 树莓派外壳

在树莓派上设置 PS3 控制器

在树莓派上设置 PlayStation 3 控制器并不是一个完全简单的过程。特别是如果您打算无线使用它,我们将引导您完成所有步骤以立即启动并运行它。

如果要使用有线的 PS3 控制器,则应该可以将其用作即插即用设备。

但是,我们建议您转到有关编译和安装 Sixad 的部分。 Sixad 是一款软件,可确保支持所有 PS3 控制器功能。

在开始树莓派 PlayStation 教程的本节之前,请确保已准备好 USB 迷你电缆,因为您需要使用该电缆将控制器与树莓派配对。原因是由于 PS3 控制器设置为与蓝牙控制器通话的方式。

准备将 PS3 控制器连接到树莓派

1 在开始在树莓派上安装任何东西之前,我们必须首先运行以下两个命令。

这些命令将确保您的树莓派是最新的。

sudo apt-get update
sudo apt-get upgrade

2 首先,我们需要安装一个软件包,这样我们就可以编译 sixpair 软件。该软件包为 libusb -dev,用于与 USB 设备进行交互的程序。

sudo apt-get install libusb-dev

3 现已安装了必需的软件包,我们可以继续下载 Sixpair 代码并为其创建一个文件夹。

mkdir〜/六对
cd〜/六对
wget http://www.pabr.org/sixlinux/sixpair.c

4 现在,在将 Sixpair 代码下载到我们的树莓派上之后,我们需要对其进行编译,为此,我们可以运行以下命令。

该命令将告诉 GCC 编译器编译代码。

gcc -o sixpair sixpair.c -lusb

5 现在在树莓派上编译了 Sixpair ,我们需要使用 USB mini 电缆将 PS3 控制器插入树莓派。

6 插入控制器后,我们可以通过运行以下命令来运行 sixpair 。

Sixpair 将重新配置控制器,使其可以与我们的蓝牙设备通信。

sudo 〜/sixpair/sixpair

7 如果 sixpair 软件已成功将 PS3 控制器重新配置为可以与树莓派的蓝牙加密狗进行通讯,那么您应该在命令行上看到类似以下的内容。

当前的蓝牙主设备:b8:27:eb:a4:59:08
将主 bd _addr设置为 b8 :27:eb:a4:59:08

8 现在,您需要从树莓派上拔下 PS3 控制器,现在已经进行了更改,除非蓝牙适配器发生变化,否则我们不再需要通过 USB 插入控制器。

您现在有两个选择,分别是编译和安装 Sixad 以处理 PS3 控制器之间的连接,或者仅使用 bluetoothctl 工具建立与 PS3 控制器的连接。就个人而言,我们建议您尝试使用蓝牙,因为它与其他蓝牙设备最兼容。
继续下一节,了解如何使用蓝牙配对 PS3 控制器。否则,请跳至后面的部分,以了解如何使用 SIXAD 配对控制器。

使用 bluetoothctl 连接您的 PS3 控制器

1 现在准备将 PS3 控制器与我们的树莓派连接,我们可以将其与树莓派进行实际配对了。

为此,我们需要先在树莓派上运行以下命令来启动 Bluetooth 配置工具。

sudo 蓝牙

2 现在,我们已经启动了蓝牙配置工具,我们需要打开代理并将其设置为使用默认代理。只需输入以下两个命令即可。

代理上
默认代理

3 启用代理后,我们现在要实际扫描新的蓝牙设备,运行以下命令将告诉该工具开始扫描。

扫描

您会立即注意到该区域中的任何蓝牙设备都将开始在您的命令行中显示。

现在我们忽略它们,因为我们只想关注 PS3 控制器本身。

4 现在是时候按下控制器上的 PlayStation 按钮,使其开始与树莓派对话了。您应该很快开始看到条目出现在命令行中。

5 一旦看到类似以下的内容,请确保您复制显示的 MAC 地址。这是用”:” 符号分隔的文本序列。

[NEW]设备 B8 :27:EB:A4:59:08 B8-27-EB-A4-59-08
[CHG]设备 B8 :27:EB:A4:59:08已连接:否
DEL设备 B8 :27:EB:A4:59:08 B8-27-EB-A4-59-08

6 现在您有了可用的 MAC 地址,将其复制下来,在我们的示例中,这是”B8:27:EB:A4:59:08“。

有了 MAC 地址,您想在下一个命令中使用它。使用以下命令,我们试图获得成功的连接以及设备返回的 UUID 。

请注意,您可能必须多次运行此命令才能成功。

请确保将”YOUR_MAC_ADDRESS“替换为您在 ** 步骤 7 ** 中找到的那个。

连接 YOUR _MAC_ADDRESS

请注意您的 PlayStation 3 控制器,如果它停止尝试连接,请确保再次按下 PS 按钮。

7 当您在命令行中看到如下所示的文本时,您将知道建立了成功的连接。有了 ** UUIDs **,我们可以继续下一步。

尝试连接到 B8 :27:EB:A4:59:08
[CHG]设备 B8 :27:EB:A4:59:08 Modalias:usb:v054Cp0268d0100
[CHG]设备 B8 :27:EB:A4:59:08 UUID:
        00001124-0000-1000-8000-00805f9b34fb
        00001200-0000-1000-8000-00805f9b34fb

8 现在您已经有了 MAC 地址,我们需要将其添加到我们的蓝牙可信列表中。它的作用是允许控制器自行连接到树莓派。

为此,我们只需要在树莓派中输入以下命令即可。确保将”YOUR_MAC_ADDRESS“替换为在” 第 7 步”** 中找到的那个。

信任 YOUR _MAC_ADDRESS

9 将您的 PS3 控制器成功添加到受信任列表后,您应该在命令行上看到如下所示的内容。

[CHG]设备 B8 :27:EB:A4:59:08受信任:是
更改 B8 :27:EB:A4:59:08信任成功

10 现在您的 PS3 控制器已成功连接到树莓派,我们现在可以退出蓝牙配置工具。

要退出该工具,可以使用下面的命令,也可以按 CTRL +D。

放弃

11 现在您可以重新启动树莓派。我们这样做是为了进行测试,以确保一切正常。运行以下命令以重新启动树莓派。

sudo reboot

12 现在重新启动树莓派,请按控制器上的 PS 按钮以测试其与树莓派之间的连接。

控制器上的 LED 指示灯在连接时应短暂闪烁,然后,如果一切正常,则控制器上的一个 LED 指示灯应保持点亮。

使用 SIXAD 连接您的 PS3 控制器

1 在开始在树莓派上编译和设置 SIXAD 之前,我们必须首先安装一些所需的软件包。

这里必不可少的软件包是 libusb -dev 和 libbluetooth -dev,因为它们包含我们编译 Sixad 软件所需的代码。

Libusb-dev 包含允许我们与通过代码插入计算机的 USB 设备进行交互的代码。

Libbluetooth-dev 提供了能够与操作系统蓝牙堆栈进行交互所需的代码。在 Sixad 的情况下,它用于检测何时将 PS3 设备连接到树莓派。

sudo apt-get install git libbluetooth-dev checkinstall libusb-dev
sudo apt install操纵杆 pkg -config**2** 现在,我们拥有了可能需要的所有软件包,并从 Retropie 克隆了 SIXAD 存储库,我们使用 Retropie 的 fork 的原因是它有一些改进,并在树莓派上进行了测试。

在树莓派上运行以下两行以克隆 GIT 存储库。

光盘〜
git clone https://github.com/RetroPie/sixad.git

3 现在将存储库克隆到我们的树莓派中,现在我们可以进行实际编译了。编译 SIXAD 非常简单,只需运行以下两个命令即可。

第一条命令将我们移至该文件夹,第二行运行 makefile 并编译程序。

光盘〜/sixad
使

4 现在,现在已经编译了 Sixad 软件,在使用它之前,还有很多事情要做。

首先是创建一个文件夹,sixad 会在其中跟踪其所有配置文件。

运行以下命令为其创建一个文件夹。

sudo mkdir -p/var/lib/sixad/profiles

5 最后,运行本节 ** 步骤 1 ** 中安装的 checkinstall 软件包。

基本上,此工具的作用是检查当前安装,然后在需要时继续运行命令”make install”。

sudo checkinstall

在特定时间点,系统将询问您一些事项,忽略这些事项,仅按 Enter 键即可继续,直到安装完成。

安装完成后,您应该在命令行中看到以下内容。

****************************************************** ********************
做完了新软件包已安装并保存到

/home/pi/sixad/sixad_20171230-1_armhf.deb

您可以随时使用以下方法将其从系统中删除:

      dpkg -r sixad
****************************************************** ********************

6 现在,我们已经完成了 Sixad 的安装,我们终于可以在树莓派上键入以下命令来运行它了。

sudo sixad-开始

如果一切正常,现在将要求您按控制器上的 PS 按钮。现在执行此操作,以将控制器连接到树莓派。

7 现在,我们知道 sixad 已启动并正在运行,我们希望确保它在启动时启动,以便我们始终可以连接 PS 3 控制器。

为此,我们可以运行以下命令将 Sixad 添加到树莓派的启动顺序中。

sudo update-rc.d sixad默认值

在树莓派上设置 PlayStation 4 控制器

您可以通过几种不同的方式在树莓派中使用 PlayStation 4 控制器。其中一些比其他一些更易于处理。

Sony USB 无线适配器

索尼 USB 无线适配器可能是将您的 PS4 控制器与树莓派配对的最简单的解决方案。特别是因为加密狗应该可以直接使用并且可以与任何官方 PS4 控制器配对。

蓝牙

蓝牙比仅使用官方的 Sony USB 无线适配器要复杂得多,并且需要您具有树莓派 3,树莓派 Zero W 或 USB 蓝牙适配器。

但是,此方法不适用于每个 PS4 控制器,您可能最终不得不利用一个称为 ds4drv 的用户空间控制器驱动程序来与之交互。

请注意,如果您以前设置了 SIXAD 工具,则必须将其卸载才能在树莓派中使用 PS4 控制器。

USB 电缆

使用 USB 电缆是使用 PS4 控制器的最简单方法,就像第一次将控制器与 PS4 本身连接时一样,只需用 Micro USB 电缆插入即可。

使用 USB 连接,PS4 控制器应立即工作。

通过 BluetoothCTL 配对 PS4 控制器

请注意,如果您以前按照我们的指南通过蓝牙将 PS3 控制器连接到树莓派上,则必须遵循以下几个步骤。否则,请跳至本节的步骤 2 。

1 必须删除 SIXAD 的原因是它似乎与 PlayStation 4 控制器冲突,并且不允许它们配对和正常运行。

要卸载我们在 PS3 部分中编译并安装的 sixad 软件包,我们只需在树莓派上运行以下命令。

sudo dpkg -r sixad

2 现在,在进行所有设置之前,请通过在其上运行以下两个命令来确保树莓派完全是最新的。

sudo apt-get update
sudo apt-get upgrade

3 现在,我们开始将 PS4 控制器与树莓派配对的过程。对于本指南,我们将使用蓝牙命令行工具。

在树莓派上运行以下命令以启动它。

sudo 蓝牙

4 现在使用 bluetoothctl 工具,我们需要在其中运行以下两个命令,这将启用代理并将代理设置为默认值。

代理上
默认代理**5** 现在我们启用了代理,我们终于可以开始扫描设备了。开启扫描至关重要,因为当我们告诉它开始同步时,它将显示我们的控制器。
扫描

6 现在是时候同时按下控制器上的” 共享” 按钮和 PS 按钮,如下图所示。按住这些按钮,直到控制器上的指示灯开始闪烁。

7 您应该在命令行上看到类似以下的内容,一旦看到,请记下 MAC 地址。

MAC 地址是用”“符号分隔的十六进制数字。

[NEW]设备 00 :01:6C:B4:06:7E无线控制器

在这种情况下,MAC 地址为”** 00:01:6C:B4:06:7E **”。

8 控制器仍在闪烁时,输入以下命令。确保将”** YOUR \ _MAC \ _ADDRESS **” 替换为在” 第 8 步” 中获得的 MAC 地址。此命令与您的 PS4 控制器建立连接。

如果您的控制器停止闪烁,请再次按”** Share “和” PS **” 按钮。

连接 YOUR _MAC_ADDRESS

9 成功连接后,您应该在命令行中看到以下内容。

尝试连接到 00 :01:6C:B4:06:7E
[CHG]设备 00 :01:6C:B4:06:7E已连接:是
[CHG]设备 00 :01:6C:B4:06:7E UUID:00001124-0000-1000-8000-00805f9b34fb
[CHG]设备 00 :01:6C:B4:06:7E UUID:00001200-0000-1000-8000-00805f9b34fb
[CHG]设备 00 :01:6C:B4:06:7E服务已解决:是
[CHG]设备 00 :01:6C:B4:06:7E配对:是
连接成功

10 现在,我们需要将 MAC 地址添加到受信任列表,以便 PS4 控制器可以自动连接到树莓派。

信任 YOUR _MAC_ADDRESS

11 现在树莓派的蓝牙设备信任了 PS4 控制器,我们现在可以通过按 CTRL + D 或键入”quit” 退出该工具。

现在,我们可以继续测试控制器是否正常工作。

12 现在,我们安装游戏杆包,而 Raspbian 的某些安装附带了该游戏杆包,为了以防万一,我们将运行 install 命令。该软件包包括我们需要能够测试控制器是否正常工作的应用程序。

在树莓派上运行以下 Linux 命令以安装软件。

sudo apt install操纵杆

13 现在将 Rapberry Pi 安装了游戏杆包后,您现在可以运行以下命令,这将测试 js0 并从中返回值。

sudo jstest /dev/input/js0

14 现在,如果在移动并按下控制器上的按钮时值发生变化,那么您就可以使用 PS4 控制器了,您可以在此处完成本教程。

但是,如果您的控制器拒绝工作,则您可能不得不尝试另一种方法并利用用户空间驱动程序,请按照下一节中的指南进行操作。

使用 ds4driv 将 PS4 控制器连接到树莓派

仅在标准蓝牙完全不起作用时才使用此选项。此方法利用了与控制器对话的用户空间驱动程序,并允许树莓派理解它。

您需要先将 PS4 控制器与树莓派配对,然后才能继续以下步骤。

1 首先,我们需要安装 ds4drv 所需的软件包。要安装必要的 python3 组件,请在树莓派上运行以下命令。

sudo apt-get install python3-dev python3-pip

2 现已在树莓派上安装了必需的 python 软件包,我们可以使用 pip 来获取 ds4drv 和它所需的 python 库。运行以下命令以使用 pip3 进行安装。

sudo pip3安装 ds4drv 

3 现在,让我们设置树莓派,以便非 root 用户可以访问 ds4drv 创建的操纵杆设备,为此,请在树莓派上运行以下三个命令。这些命令下载规则集,然后应用它们。

sudo wget https://raw.githubusercontent.com/chrippa/ds4drv/master/udev/50-ds4drv.rules -O /etc/udev/rules.d/50-ds4drv.rules
sudo udevadm控制--reload-rules
sudo udevadm触发器

4 现在,当您的 PlayStation 4 控制器仍与树莓派配对时,我们可以运行以下命令来查看 ds4drv 是否可以读取并与您的控制器进行交互。

sudo ds4drv --hidraw --led 000008

5 一旦您在命令行上看到如下文本,这意味着 ds4drv 可以查看与树莓派配对的 PS4 控制器并与之交谈。

[信息] [控制器 1 ]已连接到蓝牙控制器(00:01:6C:B4:06:7E hidraw5)
[info] [hidraw]扫描设备
[信息] [控制器 1 ]电池:已充满电

现在,通过按 CTRL + C 退出 ds4drv 。6 我们现在需要修改启动脚本,因此它将在启动时自动启动 ds4drv 。要开始执行此操作,请在树莓派上运行以下命令。
sudovim/etc/rc.local

7 现在,我们需要在该文件中添加以下行。当树莓派启动时,此行将启动 ds4drv 。

出口 0 

添加以上

/usr/local/bin/ds4drv –hidraw –led 000008&

进行更改后,可以按 CTRL + X,然后按 Y ,然后按 Enter ,以保存文件。

8 现在,您可以重新启动树莓派,以测试其是否正确启动。通过运行以下命令来执行此操作。

sudo reboot

9 树莓派重新启动后,您现在可以使用以下命令测试一切是否正常。如果数字发生变化,那么一切都会正常进行。

sudo jstest /dev/input/js0

希望在本指南结束时,您可以启动树莓派并使其与 PlayStation 控制器成功连接。

一定还要检查我们的其他游戏教程 Pi,例如 Parsec 流媒体。如果您对本指南有任何反馈或需要帮助,请与我联系。

分享到