树莓派模拟Switch手柄(amiibo)

1 篇文章 0 订阅
1 篇文章 0 订阅

参考文档:

模拟 Amiibo,无需 NTAG 215 卡 - 知乎

https://github.com/Poohl/joycontrol

读前须知:我这篇本来是在OneNote上写好腾过来的,但是CSDN的排版系统太难搞了,编号的问题很大,及其错乱。我搞不动了,如果有2个编号的话以第二个编号为准。大家将就看吧,排版很挫但是内容亲测可用!

由于switch的手柄(joycon,switch pro)本质上是一个蓝牙手柄,所以我们可以使用蓝牙设备去模拟手柄和switch相连,可以实现很多操作例如利用代码操作switch和刷amiibo等。以下是我在树莓派3B上实操的步骤,最后成功刷出了amiibo。

  1. 准备树莓派,这步就不多说了,官方的系统就可以了。注意要带蓝牙的型号(3代及以后的),可以用bluetoothctl show 指令来检查。
  2. 下载代码:git clone https://github.com/Poohl/joycontrol.git
  3. 安装库:sudo apt install python3-dbus libhidapi-hidraw0 libbluetooth-dev bluez
  4. 安装Python库:sudo pip3 install aioconsole hid crc8
  5. 修改配置文件(只在第一次配对时需要):sudo nano /lib/systemd/system/bluetooth.service
  6. 将ExecStart的参数修改为:
    ExecStart=/usr/lib/bluetooth/bluetoothd -C -P sap,input,avrcp

        6.重启蓝牙服务:

  1. sudo systemctl daemon-reload
  2. sudo systemctl restart bluetooth.service
    1.         7.到这一步就配置完成了,我们打开switch的手柄设置里面选择“更改握法/顺序”,进入等待配对状态
      1.         8.执行程序:
      2. sudo python3 run_controller_cli.py PRO_CONTROLLER
      3. 这里终端会打印很多东西,然后等几秒钟后switch上会显示检测到了一个pro手柄,这时候我们回车就可以进入终端交互模式,终端会显示 cmd >>。我们输入help可以看到支持的指令
        1.         9.到这一步之后我的程序就频繁退出,也不能很好地操作switch。我试着用官方文档的方法,修改步骤5中的配置项为:
        2. ExecStart=/usr/lib/bluetooth/bluetoothd -C -P input
        3. 后再次执行步骤6,然后再启动就可以了
          1.         10.配对成功后可以让程序自动获取蓝牙mac地址来连接了,以后都用这个指令启动程序:sudo python3 run_controller_cli.py PRO_CONTROLLER -r auto
          2. 就可以在终端中去控制switch了
        4. (刷amiibo步骤)

  • 将amiibo的.bin文件烤入到树莓派中
  • 在上文第10步的基础上,进入塞尔达,终端中输入l进入等待刷amiibo模式,林克进入等天上掉馅饼模式2333
  • 在终端中输入 nfc <nfc文件路径>,就可以刷成功了!
  • 以上是理想的步骤,但是输入l后终端会打印很多东西不方便我们进一步输入nfc指令,我们可以先输入3中的指令再按l也是可以的,这样的话就一进入amiibo模式就会自动刷出来东西。

最后附一张我成功刷出来的林克狼23333

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值