之前我发了一篇文章,介绍如何用安卓手机模拟switch的pro手柄刷amiibo,大家如果感兴趣可以点击我的那篇文章:蓝牙5.0安卓手机连接switch刷任意amiibo,不用白卡。但是如果你没有蓝牙5.0的安卓手机,那么你还有另一种选择:用一台带蓝牙的电脑和一个linux系统(可以是虚拟机)。

原文github链接:地址

油管视频教程:地址

最近大热的游戏动森,用这种方法你可以邀请任意的村民,Amiibo邀请的村民可以指定替换掉现有村民。人气小润,柠檬娜你都可以拥有!

2279af3899f4

请不要在评论中要求或共享指向Amiibo二进制文件的链接!它们将被删除, 谢谢理解。

概述

本教程旨在介绍如何使用joycontrol模拟Amiibo。 只需要一个蓝牙适配器(可以是笔记本或者板载的蓝牙,也可以是usb蓝牙适配器),并将PC暂时引导到Linux(或者可以在Windows中使用Linux虚拟机,但存在更多问题)。

必备条件

Windows/Linux系统电脑, 笔记本或台式机都可以,主要我们要用到Linux系统,所以双系统或者虚拟机都可以

需要支持蓝牙,版本不限,笔记本或台式机的板载蓝牙,或者usb蓝牙适配器都可以

JoyControl,该软件可从github下载到,我们需要用它模拟pro手柄进行amiibo读取

步骤

第一步,启动Linux

跳过这一步如果你已经启动了Linux。

你可以在网上搜索到很多文章介绍如何安装Linux双系统或者虚拟机,本文只简要介绍下必要的步骤:

下载Ubuntu镜像文件

安装Windows/Linux双系统(如果你当前是Windows系统),或者安装Linux虚拟机

启动Linux系统

第二步,安装JoyControl

首先打开终端。 单击Ubuntu桌面左上边的Dash主页图标,在搜索框内输入ter,然后在搜索结果内会出现终端的图标,然后单击终端图标即可打开终端。亦或者直接按:Ctrl+Alt+T 即可打开终端。

请注意,这些命令将需要联网,但是默认情况下,大多数虚拟机程序都默认将主机网络连接到虚拟机。 配置此功能不在本攻略的讨论范围内。

首先运行下面两行代码,更新安装库,你可以选择按行复制到终端,然后按回车键运行

sudo apt-get update -qy

sudo apt-get upgrade -qy

接下来安装Python及相关的依赖库

sudo apt-get install -qy git python3-pip libglib2.0-dev libhidapi-hidraw0 libhidapi-libusb0 libdbus-1-dev

下面用pip安装dbus-python,用来控制蓝牙

sudo pip3 install hid aioconsole crc8 dbus-python

然后新建一个文件夹命名为joycontrol,并从github下载joycontrol到joycontrol文件夹。

mkdir -p ~/joycontrol

git clone https://github.com/mart1nro/joycontrol ~/joycontrol

第三步,拷贝Amiibo文件到Downloads文件夹

这里还是不会提供Amiibo文件的下载地址,需要自行搜索下载。将下载好的Amiibo文件拷贝到Downloads文件夹,接下来会用到Amiibo的文件路径,类似~/Downloads/amiibo.bin,ammibo.bin是你的Amiibo文件名。

第四步,使用JoyControl !

开始之前,请在掌机模式下使用Switch,先用原左右joycon手柄在游戏中进入到马上要刷Amiibo的界面,然后回到Switch主界面,从主机上取下左右joycon手柄,并短按侧面的黑色同步键断开手柄,之后的操作都用触屏直到连接上模拟手柄。

因为之后连接模拟的手柄过程中,如果用物理手柄可能导致连接不上,所以需要用命令控制,而摇杆是没办法模拟的,所以类似行走的相关功能无法完成。

首先,进入joycontrol文件夹

cd ~/joycontrol

然后运行joycontrol程序

sudo python3 ./run_controller_cli.py PRO_CONTROLLER

正常情况下,会有一串日志输出在终端,当终端出现下面的代码时,包含Please open the "Change Grip/Order" menu,用触摸屏打开Switch的手柄-->更改握法/顺序

[15:07:37] joycontrol.server create_hid_server::94 INFO - Waiting for Switch to connect... Please open the "Change Grip/Order" menu.

然后程序继续运行,模拟的pro手柄完成和Switch的连接。最终你可以按回车键进入命令行模式。这时候你可以输入指令控制Switch。

注意,实测连接上之后是可以将物理手柄插到主机上控制操作的,就是说模拟手柄和物理手柄可以同时连接,行走用物理手柄,到刷amiibo的时候用命令(需用命令进入刷amiibo的界面)

一些简单的命令包括(输入对应指令并按回车):

A键:a

B键:b

主界面键:home

上键:up

下键:down

其他可用命令可以输入help查询。

当控制游戏到达检测Amiibo界面时,输入amiibo + 你的amiibo文件路径就可以读取Amiibo文件。

amiibo ~/Downloads/amiibo.bin

故障排除

任何问题

尝试几次! 即使在非常理想的条件下,有时候似乎也不是很稳定。

另外,尝试使用另一个usb蓝牙适配器。 有时候板载蓝牙因为兼容问题更大概率无法成功。

当离开更改握法/顺序界面时,模拟手柄断开连接

错误可能如下:

ERROR - [Errno 104] Connection reset by peer [19:39:05] joycontrol.protocol connection_lost::121

ERROR - Connection lost.

请勿触摸真正的摇杆或控制器! 如果可能,完全移除Joycon并卸下其他的pro手柄。

如果您已完成上述操作,但在离开更改握法/顺序屏幕时仍断开连接,则可能是蓝牙适配器问题。 如果是这种情况,请检查虚拟机的蓝牙转发设置。尝试改为通过双系统启动Linux。 或尝试另一个蓝牙适配器。

OSError: [Errno 98] Address already in use

检查是否已经运行了另一个joycontrol程序,如果是终止程序或重启终端

如果还是一样的问题,常识运行如下代码,并重新启动程序

sudo sed -i 's|^ExecStart=/usr/lib/bluetooth/bluetoothd.*$|ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=input|g' /lib/systemd/system/bluetooth.service

sudo systemctl daemon-reload

sudo systemctl restart bluetooth

还有什么问题可以在评论区留言,我会尽量解答大家的疑问。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐