memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

winxp+processingでwiiリモコン接続を試行錯誤中。。。

C#のライブラリでWiiリモコンには接続できたのですが、Javaではなかなかできない。macでは簡単に接続できるのですがwinxpではうまくいかないです。授業で使いたいので早く解決したいのですが。。。今日、少しだけ進展がありました。


これまでprocessingとWiiリモコンを接続するためにC#のライブラリを介していたのですがセットアップが面倒ですのでJavaで通したいと思っていました。たまたま何かでWrj4P5というライブラリの存在を知りました。classiclllさんが開発し公開してくれています。感謝感謝です。先日、公開?したMopThereminもこのライブラリを利用させてもらっています。ただ、macでしか成功していないんですねぇ。。。winxpではうまく接続できていません。ネットで検索してもwinでの成功事例が見つからないんですね。不思議です。できてあたりまえってことでしょうねぇ。


wrj4P5はwiiremoteJをprocessing向けに対応したライブラリです。wiiremoteJはwiiリモコンjavaで扱えるようにしたライブラリで、wiiremoteJはjavaからbluetoothを扱えるようにしたJSR-82という規格に対応したライブラリを利用しています。ライブラリにはいくつかあるようで、私はオープンソースのbluecoveを利用しています。このbluecoveとドングルの相性(対応規格)に問題があるようです。このあたりの関係は素人にはややこやしいですね。。。


今日、1つわかったことを書いておきます。自分用メモですね。classiclllさんはprocessingをはじめwrj4P5用のサンプルをこちらでたくさん公開してくれています。こちらを動かしてみると、まずエラーが表示されました。以下のようなエラーです。

java.lang.UnsupportedClassVersionError: wiiremotej/event/WiiRemoteDiscoveryListener (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

「Unsupported」と書かれていたので、よく見もせずドングルが対応していないんだなぁ。。。と思っていました。で、とりあえず、上記のエラーメッセージをコピペして検索していみると、こちらで同じような症状が出ていることがわかりました。ちょっと調べればわかったのですけどね。。。「思い込み」は恐ろしいです。


で、Classiclllさんが「wiiremoteJ1.0ではjre1.5以降が必要なんじゃないですか」と。processingの標準版はjava環境が同梱されているのですがこのバージョンが1.4なんですね。。。なるほどです。で、processingのjava無し版で入れて試してみました。するとエラーが出なくなりWiiリモコン接続待ち状態になりました。めでたしめでたし。やっとスタート地点に立った感じです。


で、とりあえず、ELECOMのBT-UD1で試しているのですが。。。ダメですね。うんともすんとも。いろいろなエントリーを見るかぎりbluesoleilはダメらしい。。。あと手持ちは2つあるので来週、研究室にいったときに試してみたいと思います。


どなかた成功した人、いないのかなぁ?いらっしゃったら教えてください。このドングルを使え!と。

(追記)

最大7本のWiiリモコンを同時に操る『Wiimote over HTTP』

という面白いプロジェクトを昼食後に見つけました。この中でWIDCOMMに対応したドングル(USB-DO-BT/CL)が紹介されていました。1512円!これは安い!さっそく入手して試したいと思います。以前、こちらのページで見つけたドングルは6800円でしたからね。