模拟 Amiibo,无需 NTAG 215 卡

Amiibo 是由日本游戏厂商任天堂自家所发行的 NFC 功能的玩偶,主要用在任天堂 Switch 游戏机上,可以在游戏上传或接收所储存的游戏数据。以前模拟 Amiibo 需要一部 Android 手机、TagMo 程序和若干 NTAG 215 卡。而现在只需要一台有蓝牙模块的 Linux 主机就可以实现。

模拟任天堂 Switch Pro 控制器

Python 库 Poohl/joycontrol 可以模拟Pro控制器(它 fork 自 mart1nro/joycontrol,但原库现在移除了 NFC 功能,无法模拟 Amiibo)。该库只能在 Linux 上运行,MacOS 经过我的测试无法识别蓝牙模块。开发者测试过 Ubuntu 19.10, and with Raspberry Pi 3B+ and 4B Raspbian GNU/Linux 10 (buster)。

使用该库需要先安装 Python3 和 Git,然后根据不同的发行版安装依赖。

Ubuntu 需要安装 dbus-python 和 libhidapi-hidraw0

$ sudo apt install python3-dbus libhidapi-hidraw0

Arch 需要安装 hidapi 和 bluez-utils-compat

$ yay -S hidapi bluez-utils-compat

然后克隆该库并安装 Python 依赖。

$ git clone https://github.com/Poohl/joycontrol.git
$ sudo pip3 install .

成功后就可以运行脚本

$ sudo python3 run_controller_cli.py PRO_CONTROLLER

这条命令会模拟 Pro 控制器并等待 Switch 游戏机的连接,这时候可以在 Switch 游戏机上的手柄设置里选择“更改握法/顺序”选项让模拟程序和 Switch 游戏机配对。

配对成功后按下 Enter 键进入命令行模式。在命令行模式中输入 help 可以查询支持哪些命令。

注:如果你的程序已经连接过 Switch,可以使用 -r 参数重新连接

$ sudo python3 run_controller_cli.py -r  PRO_CONTROLLER

蓝牙地址可以通过 bluetoothctl devices 命令查询到

虚拟 Amiibo

虚拟 Amiibo 需要它的 bin 文件,我在 Github 上找到一个库 miffycs/Animal-Crossing-Amiibo 里有大量动物森友会的 Amiibo 文件。我们首先把该库克隆下来:

$ git clone https://github.com/miffycs/Animal-Crossing-Amiibo

然后就可以在 joycontrol 的命令行里输入 nfc 加载 Amiibo 了。使用之后可以在 joycontrol 命令行里输入 nfc remove 移除该 Amiibo。

你可能感兴趣的:(模拟 Amiibo,无需 NTAG 215 卡)