惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
aimingoo的专栏
aimingoo的专栏
I
InfoQ
C
Check Point Blog
IT之家
IT之家
MyScale Blog
MyScale Blog
Apple Machine Learning Research
Apple Machine Learning Research
Vercel News
Vercel News
Last Week in AI
Last Week in AI
GbyAI
GbyAI
P
Proofpoint News Feed
量子位
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
人人都是产品经理
人人都是产品经理
B
Blog
T
The Blog of Author Tim Ferriss
H
Help Net Security
云风的 BLOG
云风的 BLOG

OhYee 博客

小鹏辅助驾驶测评|OhYee 博客 小鹏非支持手机开启自动解锁|OhYee 博客 使用函数计算实现 301 重定向|OhYee 博客 针对 HTML 内容使用 Ant Design 图片弹框|OhYee 博客 博客进程泄露及僵尸进程解决|OhYee 博客 蓝易云服务器体验|OhYee 博客 SSH 调起本地 VSCode|OhYee 博客 【2022 秋招内推】阿里云后端研发工程师|OhYee 博客 使用函数计算获取 IP 地址信息|OhYee 博客 正确获取客户端 IP/HTTP Header 也可能重复|OhYee 博客 评测 Oculus Quest2 及 BigScreen|OhYee 博客 NextJS 热重载保留状态|OhYee 博客 如何优雅地贴 gist 代码|OhYee 博客 Linux 精细化文件权限|OhYee 博客 VSCode 容器开发环境|OhYee 博客 Clash 的不兼容更新排查|OhYee 博客 Zeek 导出 PCAP|OhYee 博客 记一次 ssh 配置问题|OhYee 博客 Git Commit 规范化工具|OhYee 博客 谈谈《星之卡比-探索发现》|OhYee 博客 VSCode 快捷键绑定 Shell 命令|OhYee 博客 ASN.1 语法及 X.509 证书格式解析解析|OhYee 博客 腾讯企业邮箱忽略 MX 记录发信|OhYee 博客 Chrome/Edge 标签组插件|OhYee 博客 【应届内推】阿里云后端研发工程师|OhYee 博客 损坏的 Typecho 备份处理为 JSON|OhYee 博客 VS Code VIM 插件高效使用|OhYee 博客 SSH 正反向代理|OhYee 博客 Let's Encrypt 根证书过期引发的问题|OhYee 博客 OpenWRT 忽略内核依赖|OhYee 博客
Windows 电脑模拟 Nitendo Switch Amiibo|OhYee 博客
2021-01-20 · via OhYee 博客

在 Windows 电脑使用 Linux 虚拟机模拟 Nitendo Switch 手柄刷 Amiibo

这是一篇最后编辑于 5 年前 的文章,其内容可能与目前实际情况差异较大,请注意甄别

Windows 电脑模拟 Nitendo Switch Amiibo

整体思路如下:

  1. 使用 mart1nro 的 joycontrol 项目在 Linux 虚拟机里连接 Switch
  2. 下载 Amiibo 二进制文件
  3. 进游戏,刷之

纯小白建议看最下面参考资料的教程,他们的带图,会更详细点。

JoyControl

关于 JoyControl 项目,这是 martnro 大佬的项目,原本有人提交了 Amiibo 的 Pull Request,大佬合并了,后来发现这部分代码是抄的 YouTubePlays 大佬的 JoyConDroid 项目代码(一个手机 NS 手柄模拟器)。虽然 YouTubePlays 只是希望修改下开源协议,不过考虑到没有严格审核 PR 也是自己的原因,所以 martnro 还是在相关 Issue 下道了歉,并移除了相关代码。
详情见 Request to Change License to Apache 2.0

不过作为用户而言,我们还是可以使用相关功能的,只需要回退版本即可(Git 大法好)。

Linux 虚拟机

只要别用 Windows 系列的虚拟机就行(Hyper-V、WSL),使用 Vmware 或者 VirtualBox 皆可,这里选择使用 VirtualBox。
直接官网下载即可,下载完双击安装。

系统采用最新版本的 Ubuntu(Ubuntu 20),直接在 Ubuntu 官网下载最新的镜像即可,如果速度太慢可以考虑用清华或者科大的镜像。

而后新建虚拟机选择挂载 Ubuntu 的镜像即可,而后按照正常安装 Ubuntu 的流程即可。

具体步骤可在谷歌搜 “VirtualBox Ubuntu”

配置环境

如果是最新版的 Ubuntu,那么理论上可以在没有任何报错的情况下装好所有依赖(之前偷懒用的 18 的镜像,全程依赖冲突)

sudo apt-get update -qy
sudo apt-get upgrade -qy
sudo apt-get install -qy git python3-pip libglib2.0-dev libhidapi-hidraw0 libhidapi-libusb0 libdbus-1-dev
sudo pip3 install hid aioconsole crc8 dbus-python

git clone https://github.com/mart1nro/joycontrol
cd joycontrol
sudo python3 -m pip install .
git checkout bf2e7e5 # 回退到没有移除 amiibo 的版本

接下来,需要把宿主机(Windows)的蓝牙允许虚拟机(Virtual Box)调用。在右下角的 USB 设置里找到自己的蓝牙设备,选中即可。

Virtual Box USB 设备Virtual Box USB 设备

如果无法加载,需要在 Windows 的设备管理器里把蓝牙卸载掉,然后再添加到 Virtual Box

Amiibo 文件

NFC Bank 已炸,但是善用 Google 即可
What to do without nfc bank

手柄模拟

sudo python3 ./run_controller_cli.py PRO_CONTROLLER

而后,NS 进入到 “更改握法/顺序” 页面,等待 JoyControl 连接。如果过了很久都连接不上,尝试去蓝牙设置里把 Nitendo Switch 删掉。似乎它只会连接自己不认识的设备

连接成功建立后,原则上,应该通过输入 home 回车 返回首页。
相关的按键为对应的键名,如 upleftrightdownabxylrzlzr……
摇杆使用 stick l upstick r center来分别控制左摇杆上推、右摇杆归位。也可以使用 stick l v 3000 控制左摇杆垂直位置推到 3000
具体的操作可以输入help查看。

如果要模拟 Amiibo,输入 nfc 1.bin 就会持续加载 joycontrol 目录下的1.bin文件。刷取完毕后,使用nfc remove清除持续发送的 Amiibo 信息

其他问题

使用喷射战士的 Amiibo 尝试了在塞尔达里,可以正常刷出来宝箱。

但是在喷射战士、大乱斗里,是无法正确刷 Amiibo的,因为这些游戏不仅仅是读取 Amiibo,还需要向 Amiibo 写入数据(比如大乱斗需要记录斗士等级之类的信息),因而会出现问题。

所以,有这功夫不如直接闲鱼买自制 Amiibo,算下来也就 2、30 块钱,比折腾这么久省事多了。而且有一说一作为手办而言,Amiibo 确实便宜,就是国行现在的太少,如果几个经典的出了,也不是不可以买一波。

参考资料