今日の一言
2009/09/17(Thu) Wiiリモコン+linux [長年日記] 1:30現在曇 21℃
_ [Ubuntu][Linux][プロジェクト実習][研究関係] UbuntuでWiiリモコンを使う
Bluetoothの環境を導入
以下のパッケージを導入。(最近のlinuxだと既に入っているかも)
■ bluez-utils
■ libbluetooth2
■ libbluetooth2-dev
■ python-dev
■ python-xlib
■ python-xlib-doc
■ python-bluez
■ gnome-bluetooth
■ PyBluez
自分のPCで試した時(2年前)は最後のPyBluezは下のサイトからソース(pybluez-src-0.9.2.tar.gz)をダウンロードして、展開・インストールした。
が、最近はpython-bluezが元々入っている模様。
http://org.csail.mit.edu/pybluez/download.html
$ tar zxvf pybluez-src-0.9.2.tar.gz
$ cd pybluez-src-0.9.2
$ sudo python setup.py install
これでBluetooth USBアダプタの設定は終了。
きちんと認識されていれば、次のコマンドを実行すると、
$ hcitool scan
Scanning ...
という表示が出る。
ここで、Wiiリモコンを用意しておき「Syncボタン」を押すと、Macアドレスが表示される。
$ hcitool scan
Scanning ...
00:19:1D:5E:6D:4F Nintendo RVL-CNT-01
このMacアドレスは後で使うので、メモしておく。なお、Macアドレスは固有のものなので、実際には上と違う値になっている。
ちなみに「Syncボタン」は、裏蓋の中の電池ボックスの右下にある赤いボタン。
Wiiリモコンのドライバを導入
必要なパッケージは下の4つ。
当時はdebからインストールしたが、今はapt-getで入れられるらしい。必要に応じてdevも入れる。
■ libcwiid0
■ libcwiimote-0.2
■ wmgui
■ wminput
xorg.confの設定
Xが正しく起動できなかったときのために、xorg.confのバックアップを取っておくこと。
まあ、別にxorg.confこれをせんでも動くときゃ動くがな!!
むしろ下手に手を出さない方が懸命かも(参考:http://d.hatena.ne.jp/sosuk/20090623/1245770678)。
CUIでいじらないのが今の主流か・・・。
ま、せっかくだし一応書いとくが。
/etc/X11/xorg.confの内容を次のように変更する。
■ 最終行に次の6行を追加
Section "InputDevice"
Identifier "Wiimote"
Driver "evdev"
Option "Name" "Nintendo Wiimote"
Option "Emulate3Buttons" "true"
EndSection
■ Section "ServerLayout"の中に次の1行を追加
InputDevice "Wiimote" "AlwaysCore"
ただ、ディストリビューションによっては"ServerLayout"が無いっぽい。
その場合はおそらくこんな感じのを書き加えればいいはず。
Section "ServerLayout"
Identifier "Default Layout"Screen 0 "Screen0" 0 0InputDevice "Mouse0" "CorePointer"InputDevice "Keyboard0" "CoreKeyboard"InputDevice "Wiimote" "AlwaysCore"EndSection
当然のことだが、 決して元々書かれていた部分は消さないように!
これでxを立ち上げ直せば(一度ログアウトするだけでいい)動くようになる。
最近のディストリビューションだと高確率で叱られるがな!!
Wiiリモコンを起動
以上の設定が済んだら、再起動して次のコマンドを実行。
$ sudo modprobe uinput
$ sudo wminput 00:19:1D:5E:6D:4F
ここではあらかじめ調べておいたMacアドレスを指定。
次のような表示が出たら成功!
$ sudo wminput 00:19:1D:5E:6D:4F
Put Wiimote in discoverable mode now (press 1+2)...
あとは表示にある通り、Wiiリモコンの1ボタンと2ボタンを押せば、リモコンの動きに合わせてマウスカーソルが動く。Aボタンが左クリックの役割。
自作プログラムの作成
libwiimoteのサイト(http://libwiimote.sourceforge.net)を参考にすれば、ライブラリを使って簡単に作れるよ!
最後に
更に突っ込んで使い人はココ(http://www.wiili.com/index.php/Main_Page)を見れば幸せになれるかも・・・