OS X+Javaを使って バランスWiiボード からの情報を得るためのソフトウェアを書きました。この文章はその記録をまとめたものです。

バランスWiiボード

バランスWiiボード(以下バランスボード)は、Wiiにおいて体を動かしたフィットネスを楽しめるパッケージ WiiFit に付属するWii用の周辺機器です。WiiFitではコントローラのかわりにこれを利用して操作するようです。(筆者はWii本体を持たないので試したことがありません)

さて、バランスボードは、Wiiの標準コントローラである WiiRemote と同様に、Wii本体との通信にBluetoothを使っています。WiiRemoteは先人たちの手により 解析が進み 、PCと接続することに成功していますが、バランスボードはそうではありません。とはいえWiiとの通信インタフェースがWiiRemoteと同様である可能性は以下の理由から非常に高いと言えます。

  1. 通信インタフェースを変える合理的な理由が無い
  2. 任天堂は、Wii発売時にバランスボードの開発を予想し、WiiRemoteと異なる通信インタフェースをWii本体に実装しておかなければならない

ここまで考えて解析をpendingしていたところ、 WindowsAPIを使ってバランスボードをPCに接続させた人がでてきてしまいました 。しかしながらOS XあるいはJavaを用いて接続に成功した例はまだ無いようです。というわけで後追いになりますが、詳しくまとめてみたいと思います。

接続

接続構成は非常に単純です。バランスボードとPCはBluetoothで通信します。ここから、このチャレンジのキモはBluetoothでの通信にあることがわかります。

Bluetooth接続

  • HIDプロファイル

JSR-82ではHIDプロファイルは定義されていない。上位プロファイルであるL2CAPを用いて通信することになる。

  • dvips

dviファイルをpsファイルに変換する為にデフォルトではdvipsを利用します。 設定次第でその他のツールを利用することもできます。

 .properties内
 dvipsPath, dvipsOpt
  • ghostscript(gs/gswin32c)