Il developer canadese Reece Walsh (aka Brikwerk) sviluppa una nuova app che permette di controllare la console Nintendo Switch tramite un sito Web, un terminale o una macro.
Questo progetto consente l’emulazione dei controller Nintendo Switch con un Raspberry Pi. Questo significa che è possibile usare (quasi) qualsiasi gamepad o tastiera come controller per la console Nintendo Switch.
Caratteristiche principali
- Usa il tuo browser web preferito per controllare una console Nintendo Switch con qualsiasi tastiera o gamepad.
- Usa il tuo terminale per controllare una console Nintendo Switch con una tastiera.
- Usa una macro dal tuo terminale, browser o script Python.
- Usa l’API Python NXBT per scrivere programmi per controllare la console Nintendo Switch.
- Supporto del ciclo primitivo nelle macro.
- Interfaccia a riga di comando approfondita.
- Supporto per l’emulazione di più controller contemporaneamente.
- Supporto per connessione veloce o riconnessione a Nintendo Switch.
- I controllori emulati supportano l’accesso thread-safe.
Installazione
NXBT è nell’indice del pacchetto Python, quindi dovresti essere in grado di installare questa utility con Pip
su qualsiasi Raspberry Pi aggiornato (con BlueZ). Ciò significa che l’installazione dovrebbe essere rapida sul Pi3/4. Se sei su 1/2, avrai bisogno di un adattatore Bluetooth e BlueZ installato.
Basta dunque digitare il seguente comando per installarlo:
sudo pip3 install nxbt
[stextbox id=’info’]Nota: Il comando sudo
si rende necessario perché NXBT deve attivare il plugin di input BlueZ. Se sei un po’ diffidente riguardo all’installazione come sudo, sentiti libero di attivare tu stesso il plugin di input e installare NXBT come utente non sudo.[/stextbox]
Esecuzione della demo
Puoi eseguire la demo con il seguente comando: sudo nxbt demo
Tieni presente che dovrai essere nel menu “Cambia grip/ordine” su console Nintendo Switch come mostrato nella galleria di immagini in basso.
Esecuzione dell’app Web per controllare il tuo Nintendo Switch tramite il browser
Anche in questo caso, tieni presente che per le prime connessioni dovrai essere nel menu “Cambia grip/ordine”.
sudo nxbt webapp
La webapp dovrebbe essere accessibile su http://localhost:8000
o accessibile sulla tua rete locale su http://YOUR_RASPBERRY_PIS_LOCAL_IP:8000
Extra
Se sei interessato a come è stato implementato o cosa succede dietro le quinte, controlla la cartella /docs
sulla repository: https://github.com/Brikwerk/nxbt/tree/master/docs.
La documentazione include: Un’analisi di come esattamente lo Switch comunica con i controller, il formato dei dati per l’input dello stick analogico e persino come si è verificato l’arresto anomalo della Switch in remoto (che è stato scoperto implementando male un controller).
Per ulteriori informazioni sull’esecuzione di macro, sull’utilizzo dell’API Python e su un paio di altre funzionalità, visitare la pagina del progetto Github e controllare il README.
Changelog
Aggiunte e modifiche
- Compatibilità con SwitchOS v12 e v13.
- Una nuova, ma più efficiente strategia di comunicazione.
- Aggiunta un’opzione
remote_tui
alla CLI per l’utilizzo esplicito su connessioni remote. - Aggiunta un’opzione di
test
alla CLI per un migliore supporto per il debug. - L’override del servizio bluetooth viene eseguito in un modo molto più pulito (#19).
- Aggiunto supporto per Windows e MacOS con macchine virtuali configurate da Vagrant. Vedere la sezione Installazione nel README per maggiori dettagli.
- Aggiunto un argomento
--usessl
da utilizzare con l’app web. Sarà necessario un contesto protetto (SSL) per l’utilizzo del gamepad nell’app Web a causa delle imminenti modifiche del browser. Nota: I certificati SSL generati in questa modalità sono completamente non sicuri e non sono destinati a nessun tipo di produzione o uso non locale. Il tuo browser ti avviserà come tale, se scegli di usarli. - Aggiunta la selezione del metodo di campionamento dell’input all’app Web. A seconda del browser utilizzato, alcune delle selezioni saranno più reattive di altre.
- Aggiunta funzionalità Controller Restart all’app Web.
Correzioni di bug
- Corretto un bug che impediva una corretta riconnessione dopo che una connessione attiva era stata interrotta.
- Corretto un bug per cui le risorse non venivano liberate dopo l’arresto di un controller dall’app Web.
- Corretti arresti anomali in alcuni scenari durante la riconnessione.
Installazione
sudo pip3 install nxbt==0.1.4
Download: Source code NXBT v0.1.4
Fonte: raspberrypi.org