Old:Wiimote: differenze tra le versioni
Nessun oggetto della modifica |
|||
Riga 13: | Riga 13: | ||
===Hardware necessario=== | ===Hardware necessario=== | ||
Per poter adoperare il WiiMote sono necessari, oltre al controller stesso: | Per poter adoperare il WiiMote sono necessari, oltre al controller stesso: | ||
* una serie di led infrarossi, può essere sia la barra fornita con la Wii stessa sia 4/5 led infrarossi sciolti da posizionare lungo un bordo del televisore; | * una serie di led infrarossi, può essere sia la barra fornita con la Wii stessa sia 4/5 led infrarossi sciolti da posizionare lungo un bordo del televisore [modalità di solo puntamento]; | ||
* un trasmettitore bluetooth per ricevere i segnali sul computer. | * un trasmettitore bluetooth per ricevere i segnali sul computer; | ||
* una penna IR [modalità WiiLD], facilmente autocostruibile. | |||
====Come costruire la penna IR==== | |||
Attenzione al LED utilizzato. | |||
Lista esempi: | |||
=Installazione= | =Installazione= |
Versione delle 12:18, 2 mar 2011
Versioni Compatibili Tutte le versioni supportate di Debian |
Introduzione
Il Wiimote è un controller prodotto dalla Nintendo usato come controller per la console Wii. È possibile utilizzarlo per controllare numerose applicazioni nell'ambiente Linux, questa guida fornisce una descrizione del suo utilizzo e di come sfruttare la libreria Cwiid per il suo uso all'interno di una applicazione in C o C++.
Funzionamento
Il funzionamento è spiegato bene nelle pagine wikipedia.
Riassumendo brevemente, il controller è composto da una telecamera infrarossi che punta verso la parte anteriore, i vari tasti e un trasmettitore interno Bluetooth. Dopo aver effettuato il collegamento sarà possibile ricevere i comandi del joypad nonché le immagine raccolte dalla mini-videocamera. Proprio grazie a quest'ultime sarà possibile, eseguendo la triangolazione della luce emanata dai led infrarosso, calcolare la direzione in cui punta il WiiMote.
Una alternativa è quella di utilizzare il comando Wii come telecamera fissa e quindi di adoperare una penna IR per scrivere sul video come se si fosse su una lavagna luminosa. Con questa grande intuizione nasce l'economica, ma funzionante e funzionale, WiiLD.
Hardware necessario
Per poter adoperare il WiiMote sono necessari, oltre al controller stesso:
- una serie di led infrarossi, può essere sia la barra fornita con la Wii stessa sia 4/5 led infrarossi sciolti da posizionare lungo un bordo del televisore [modalità di solo puntamento];
- un trasmettitore bluetooth per ricevere i segnali sul computer;
- una penna IR [modalità WiiLD], facilmente autocostruibile.
Come costruire la penna IR
Attenzione al LED utilizzato.
Lista esempi:
Installazione
Ci sono varie librerie a disposizione, il sito di riferimento è sicuramente http://www.wiili.org/, per questa mini-guida si utilizzerà la libreria Cwiid che è la più completa e testata.
Configurazione del sistema
Per poter utilizzare il Wiimote sotto Linux è necessario che sia attivo il modulo del kernel relativo al usbhid, in Ubuntu digitare:
# modprobe usbhid
altrimenti Ricompilare il kernel e attivarne il modulo.
Pacchetti necessari
Installare i seguenti pacchetti con il nostro amato apt-get:
# apt-get install autoconf awk bison flex bluez-utils bluez-hcidump # apt-get install hcitool autotools-dev libbluetooth2-dev libgtk2.0-dev flex bison libcwiid1 libcwiid1-dev
Ora lanciamo hcitool scan premendo contemporaneamente i tasti 1 e 2
$ hcitool scan Scanning ... 00:19:1D:6B:3D:A3 Nintendo RVL-CNT-01
Se l'operazione riesce il sistema è pronto per essere utilizzato.
Utilizzo della libreria Cwiid
A disposizione avrete dei comandi che vi permetteranno di utilizzare il vostro controller:
- wminput: permette di utilizzare il wiimote come un mouse;
- wmgui: è un'interfaccia grafica per testare tutti gli eventi del controller;
Esempio di implementazione in un programma C
Un esempio lo si trova sul sito di cwiid oppure all'interno della directory con i sorgenti del programma nella directory wmdemo.
In linea generale c'è una struttura dati messa a disposizione dall'API (cwiid_state) che viene passata ad una chiamata (cwiid_get_state) la quale aggiorna la descrizione dello stato dei sensori presenti sul wiimote in quel momento. Prima di far questo ci sarà una fase di connessione (cwiid_open) che chiederà il BBSID, un codice identificativo che abbiamo precedentemente visto durante la chiamata del comando "hcitool scan".
Problematiche varie
Per risolvere eventuali problemi vi invito sia a postare sulla pagina "discussioni" sia sul forum debianizzati.org. La guida è ancora in fase di stesura, quindi ogni critica e consiglio sarà ben voluto.
Problematiche hardware
Videocamera IR
Attenzione che altre fonti di luce possono emettere raggi infrarossi. Ad esempio candele, ma soprattutto il sole. Se adoperato in piena luce solare la telecamera potrebbe essere accecata o fortemente disturbata.
--J3no 10:00, 3 giu 2008 (CDT)
Autore adottivo: Risca