Wii Remote on PS3 Linux
先日思わず入滅したと書いてしまった WiiLi.org ですが、 週明けにまた見にいったら復活してました。サーバの引っ越しをしてたんですね。
それで Python で書かれた Linux 用 Wii リモコンドライバ WMD にアクセスできるようになったので、これを PS3 Linux で動かしてみました。
すぐ動くかと思ったのですが実際はなかなか一筋縄ではいかず、 Python 本体モジュールからカーネルドライバまでいろいろいじる必要がありました。 要点は例によって Wiki サイト のほうにまとめておきました。
おもしろかったのは PyBluez のエンディアン問題を見つけたときですかね。
def bt_connect(addr): socket['receive'] = BluetoothSocket( L2CAP ) socket['control'] = BluetoothSocket( L2CAP ) socket['receive'].connect( ( addr, 19 ) ) socket['control'].connect( ( addr, 17 ) )というコードで
connect((addr, 19))
が ECONNREFUSED
を
返すとわかったところでピンときて
connect((addr, 19<<8))
に書きかえてみたら動いたんですが、
昔 Linux/x86 と SunOS/SPARC の間でソケット通信プログラムを書いていた頃のことを
これで思いだしてしまいました。
それと Python デバッガ pdb がとても役に立ちました。 これだけ便利なツールが整備されて普及してる Python でもやっぱり、 x86 以外の環境ではあまりテストされてないのかというのが今回の感想です。
で、肝心の操作感ですが、ボタンはよいのですがポインティングデバイスとしては微妙でした。 まだまだ改良が必要みたいです。 ともあれ PS3 から Wii リモコンの状態が読めるようになったので、週末の Binary 2.0 Conference 2006 の発表で使ってみようかと思います。
というかこんなもので遊んでいないで、 いいかげん発表内容のほうにとりかからなくてはいけません。 とりあえず OpenGL/SDL で簡単なプレゼンテーションプログラムを書いてみようかと思います。
カテゴリ
PLAYSTATION 3トラックバック(0)
このブログ記事を参照しているブログ一覧: Wii Remote on PS3 Linux
このブログ記事に対するトラックバックURL: http://www.keshi.org/mt/mt-tb.cgi/51
コメントする