6 luglio 2011

WiiRemoteJ sotto Snow Leopard

Come promesso torno con qualcosa di inerente alla programmazione, questa volta Java.
Ormai avrete capito che le mie attenzioni si rivolgono soprattutto verso l'interazione uomo-macchina e una delle cose, a mio parere, più divertenti in questo campo è il riutilizzo di un Wiimote come interfaccia.

Avevo già sperimentato un anno fa con il controller Nintendo e con la libreria Java WiiRemoteJ, realizzata da Michael Diamond (aka Cha0s) e scaricabile gratuitamente dal suo sito, ma poi avevo dovuto abbandonare il tutto a causa di mancanza di tempo e di problemi con la libreria. Dopo aver aggiornato a Mac OS X 10.6 infatti, continuavo a ricevere questo errore connesso al bluetooth:
java.lang.IllegalStateException: Bluetooth failed to initialize. There is probably a problem with your local Bluetooth stack or API.
che non sono riuscita a risolvere fino a ieri.

Avevo scelto WiiRemoteJ poiché tale libreria è compatibile con Windows, Linux e Mac OS X grazie al fatto che si appoggia su un altro componente, bluecove (implementazione delle specifiche JSR-82), che si occupa di interfacciarsi con i driver bluetooth della macchina su cui risiede.
Il problema era che da Snow Leopard in poi, lo stack bluetooth è diventato 64bit e la libreria bluecove veniva compilata solo per il 32bit (potete leggere la storia del bug qui). Il bug è stato risolto, ma non è ancora disponibile una versione stabile della libreria che contenga la soluzione.
Se volete far funzionare WiiRemoteJ su OS X 10.5 con Java 1.6 o su OS X 10.6 dovete utilizzare uno degli snapshot di bluecove a questo indirizzo, dal numero 61 in avanti.

Esiste ancora un piccolo problema da risolvere nell'utilizzo di bluecove e Wiimote prima di potersi mettere in pista con gli esperimenti, ma rimando ad un altro post.

Stay tuned ;)

Nessun commento:

Posta un commento