Home > Programming > DarwiinRemote Archive

DarwiinRemote Archive

WiiRemote.frameworkのサンプルコード

どうもご無沙汰しております。
昨日、Cocoa勉強会にてWiiRemote.frameworkを紹介してきました。

その際に作ったGoogleEarthを動かすっていうサンプルコード資料(こちらは一部修正)を公開しますので、よろしければ参考にしてみてください。

サンプルコードを作っているうちにいろいろ気付いたことがあるので、それはフレームワークの方に適用していこうと思います。

A simple sample code for WiiRemote.framework

Hi all,
Yesterday, I lectured usage of WiiRemote.framework to some japanese programmers.

In the lecture, I showed a sample code to control GoogleEarth by using a Wiimote.


If you interest this code, please download it from here. It includes both sources and the application.
I guess it's a good example to learn the framework.

However I found some points which I have to change and fix the framework when I wrote the code.
I will apply these things later.

Is this next target?

Hi, long time no see.
I'm very sorry. I'm still busy because I landed a new job, research associate, from this April...


BTW, I read this article. Is this next target?

http://www.pabr.org/sixlinux/sixlinux.en.html

But I'm not sure it can be hacked in mac...
And I cannot download sixpair.c now

bug, bug, bug...

wiimote_at_seoul.jpgI'm very sorry. DarwiinRemote 0.5 seems to have many bugs.
- PPC bugs might remain (Please report if so)
- Classic Controllers does not work well...

I will fix the problem soon, but now I'm at Seoul, Korea to attend a conference.
Actually I have a wiimote but do not have a classic controller. After I go back to Japan, I will test my codes as soon as possible.


というわけで…。
どうやらDarwiinRemote 0.5には直ってない部分が多々あるようです。
一応研究室のG5でさらっと動かしてPPCでも動くじゃん♪と思っていたのですが、動かないと言っている人が海の向こうにおります…。クラコンに関しても、以前の自分のコードでは確かに動いていたのですが、海の向こうの人にリファクタリングしてもらったやつでどうやら動かなくなっていた模様…。

出来るだけ早くなおします。と言いたいところなのですが、現在韓国に出張中でして…。
リモコンは使うかと思って持ってきたのですが、さすがにクラコンは持ってきていないのです。
というわけで、帰ったらできるだけ早く直そうと思います。

…。でも、日本に帰った翌々日にはニューヨークに旅立つのよねん(泣)
まさに忙殺。

DarwiinRemote 0.5をリリースしました

ごぶさたしております、Hiroakiでございます。

やっとこさVersion 0.5のご案内です。
今回のバージョンでは、クラシックコントローラのサポートおよび、これまで懸案の一つであったPPCマシンでの不具合の修正が行われています。
ダウンロードはこちらよりどうぞ。


そういえば、先月末に発売されたMac People 2007年4月号にWii関連の特集が組まれてDarwiinRemoteも紹介されました。
DarwiinRemoteの動作に関する質問や、ゲラ刷り原稿が編集の方からPDFで送られていてチェックを頼まれたりしたので、てっきり献本等のお話があるかと思いきや…。結局特に何もなく。
こちらから何か言うのもなんなので、自分では結局買わないままです。読みはしましたけど、ね。

記事自体はとても簡潔に操作法などが纏められているので、DarwiinRemoteの使い方が分からないなどの場合にはご参考になさってください。分かりやすいと思います。

DarwiinRemote and WiiRemoteFramework 0.5 have been released!

Hi all,

I'm very sorry that I was far away from developing DarwiinRemote...
anyway, I've released new version of DarwiinRemote and WiiRemoteFramework.


The latest DarwiinRemote supports classic controller, and some critical bugs including PPC issue were fixed. Please download the software from here. Enjoy!


In this version, especially Jasen made great efforts to improve the framework ;)

復帰 - return

修論発表から数日経過しました。
これからDarwiinRemoteにも手を入れていきますよー。
今週中にいろいろいじれればいいなぁと思っております。まずはバグとりから…。

Hi all,
Last week, I've submitted my master's thesis.
I go back to develop DarwiinRemote starting from today ;-)
Let me first fix several bugs...

I have no time... :'-(

In Wiili.org, sound feature in wiimote has been hacked gradually.
Of course, I'd like to implement new version of DarwiinRemote and WiiRemote.framework, and have to fix many bugs (especially PPC bugs).

but now, I have no time to implement them.


Some of you may know that the beginning of the fiscal year in Japan is April (not September).
In addition, I'm now 2nd year master's degree student. So that means I have to write master's thesis (by the end of this January).


Until submitting my thesis, I may not be able to focus on DarwiinRemote project (perhaps I may implement it for changing of pace ;-) ).
Anyway, I will be back soon. Please wait.

…とまぁそういうわけでして。
Wiiliではサウンド再生などでだいぶ盛り上がってきているのに、自分は修論執筆が佳境(といいつつ、全然目処たってない)にさしかかってきましたので、ちょっとwiiliにあわせたスピード実装はここ一ヶ月ほど出来そうにありません。
また来月には戻ってきますので、少々お待ちくださいませ。

Wiiリモコン活用アイディア募集

DarwiinRemoteをプレゼンで使うという日記がどっかにありましたが、プレゼンの制限時間が近づいたらバイブでお知らせってのも悪くないなぁなんてちょっと思ったりしました。

最近のパワポやKeynoteは経過時間を手元のディスプレイに表示してくれますが、案外ディスプレイを見てない時間って多いんですよね。
聴衆の方に視線を合わせていたり、でかいスクリーンの方を見ていたり。

そんなときに手で持ってるリモコンがふるえてくれたらちょっと嬉しい、気もします。どうでしょうかね?


あと、SourceForgeのほうに、ヌンチャクについたジョイスティックをマウスホイールに割り当てるのはどうか? なんて書き込みがあったのですが、これもWebブラウズとかに良さそうです。


皆さん、何かアイディアなどありましたら是非教えてください。
これまでは、既存のアプリをWiiリモコンで操作するというよりもどちらかというとWiiリモコンに最適化された新しいアプリの登場のほうが面白そうだ、なんて思っていたのですが、案外そんなこともないですね。

ただまぁ、RemoteBuddyがWiiリモコンに対応したので(最初RemoteBuddyのチームに加わらないか?ってメールが来たけど、商用アプリなんておそれおおいと丁重にお断りしたら結局スクラッチから書いたようです。イニシャライズのシーケンス部分は参考にさせてもらったよって言うメールが来ました)、ユーティリティ系はあちらがなんとかしちゃうのかなぁとも思っております。
なぜそれなのにDarwiinRemoteを公開するかというと、どちらかというと自分の手習いとWiiRemoteFrameworkの利用例ってとこです。ドキュメント書くのがかったるいので(駄目)フレームワーク使いたい人はDarwiinRemoteを見てくれ、と^^;

クラコン買った。

DarwiinRemoteなんてソフトを公開しといてなんなんですが、実はワタクシ、Wii関連製品を買ったことがありませんでした。研究で使うってことで、研究室の予算で買ってもらったのです(データがとれるって分かったあとに増量し、現在はWiiリモコンx7、ヌンチャクx3なぁんていう任天堂バンザイな状態になっております)。というわけで、これまではアルカリ乾電池8本分の支出のみ。

あ、リモコンはきちんと研究でも使っておりますので、心配しないでください^^;
研究でそれまで使っていた加速度センサ(たとえばこれとか。)と比べてどんな精度なんだろうかみたいな興味からハックを始めました(任天堂のサイトの対談か何かで、かなりのサンプリングレートだってことは知っていたのですが、実際に使い物になるかどうかは分かりませんでしたし)。
ヌンチャクはヌンチャクで、こちらにも加速度センサが入ってるので、研究的にもいろいろ楽しめそうです。

しかし、クラシックコントローラは単なる古き良きコントローラな訳で、研究と称して購入するのはいささか気がひけます。自分としても加速度センサやらジャイロやらが入ってないのであまり好奇心は沸きません。
でもまぁ、せっかくDarwiinRemoteなんてソフトをだしてしまいましたし、対応しておいた方が良いですよね。というわけで、自分的Wii関連製品初購入。1800円くらい。

このクラシックコントローラ、拡張コントローラとしてWiiリモコンと接続するわけですが、そう考えると、取り回しなどの点から普通にジョイスティックを買った方がPCユーザは嬉しいんじゃないか、なんて思ったりもするわけですが、まぁ世の中どんな需要があるか分からないので(クラコンとWiiリモコンを同時に使うようなソフトを誰か作ってください)。

暇を見つけてクラコン対応版を書いていこうと思います。
書くっていえば、自分の修士論文のほうをなんとかしないとほんと卒業できなくなっちゃうわけですが(切実

DarwiinRemote 0.4をリリースしました

なんか、Nobiさんに「なお、現行のバージョンは、やや技術スキルがある人を対象にしたものなので注意が必要だ。」と書かれてしまって、まぁ、確かに英語だけしかなければ普通の人は使うのを躊躇するかなぁ、なんて思ってしまった最近です。
というわけで、日本語でもリリースを書くことにします。日本語はFAQ以来なので少々詳しく書きます(あと、「日本語だから」ってのもありますけど^^;)。

DarwiinRemoteはご存じの通り任天堂のWiiについてくるWiiリモコン(単品でも買えます)をMacで使うようにするためのソフトウェアです。
今回のバージョン0.4では、以下のことが出来るようになりました。

  1. 拡張コントローラの一つであるヌンチャクに対応しました。
  2. 今までは自分でセンサの値をキャリブレーションする必要がありましたが、Wiiリモコン内部の値も使うことが出来るようになりました。
  3. Wiiリモコンのボタンを押した際に起こるイベントをカスタマイズできるようになりました。カスタマイズデータを保存することも出来るので、場面場面で切り替えることが出来ます。DarwiinRemoteメニューから、Preferences...を選んでください。
  4. マウスの移動速度を調整できるようになりました。

ダウンロードはこちらからどうぞ。この中にある、DarwiinRemote0.4.dmgというのがそれです。クリックすると、どこからダウンロードするか選べるはずですので、リストの中からどれかを選んで「Download」をクリックしてください。


クラシックコントローラへの対応とか、ヌンチャクのジョイスティックの対応とかやることはたくさんあったのですが、あまり間を開けるのもどうかなと思い、実用性があがって一段落ついたものをリリースしました。
ちなみに一般の方にはどうでも良いことですが、キーのカスタマイズはCoreDataとCocoa Bindingという比較的新しい技術を使って実装しました。初めて使いましたが、なかなか便利で良いですね。ただ逆に、10.3では確実に動かなくなってしまいました(今までのやつは、おそらくちょっとファイルを変えれば動いたはず)。まぁ来月には10.5も発表されるので大目に見てください。


P.S.
これまで微妙にamazonへのアフィリエイトリンクを貼っていましたが、このエントリだけはずいぶん貼ってあります(笑
もしまだWiiリモコンを持ってないという方は、よろしければこちらのエントリのリンクから飛んでamazonで購入してもらえると嬉しいです。いくばくかのお金(売り上げの3%くらい)がHiroakiのもとへ入ってきます。
ただまぁ、そんなことをいっても実際のところあまり期待はしていないのです。というのも、これまでのエントリで得られた紹介料は130円ですから(笑


次のバージョンではクラシックコントローラへの対応をやりたいです。
しかし、DarwiinRemoteで使うとなると「ジョイスティック」は何に使えばいいんでしょうね。もう一方のWiiRemoteFrameworkではいろいろ遊べそうですけれど。

DarwiinRemote and WiiRemoteFramework 0.4 have been released!

Hi all,
We've just released DarwiinRemote 0.4 and WiiRemoteFramework 0.4.

New features of DarwiinRemote are...

- supports Nunchuk (sorry still not Classic Controller, but will support soon)
- supports custom key mappings
you can customize mappings, save and load it.
- supports mouse sensitivity
- supports motion sensor auto calibration

New features of WiiRemoteFramework are...
- supports communicating with Exspansion devices (now Nunchuk only)
- posts notification when Expansion port is plugged and unplugged
- post notification when battery is low
- can retrieve calibration data

Enjoy them and please let me know what you notice about these software.

Download from here!

Happy Holidays!

In these days, I tried to activate Nunchuk attached to Wiimote.

Now I got it.
So, I'm going to implement new version of WiiRemote framework and DarwiinRemote.
Please wait.

it will support...
- Nunchuk
- Classic Controller (but I don't have it yet, so cannot test it)
- Key Mapping Customization

DarwiinRemoteというか、Hiroakiの連絡先

なんか、DarwiinRemote関連で、こちらに連絡をしようにも連絡先がわからない、という方がいらっしゃるようです。
たしかにこちらのブログには連絡先を載せていなかったかも。

hiroaki0923 at users dot sourceforge dot net
までよろしくお願いします。

P.S.
MicrosoftのApple's Eyeに載っててびっくりしました。
(MSには個人的に頭が上がらないのですが)こういう企業系のサイトは、あとで自分で見てほくそ笑むためにできれば連絡して欲しいです^^;

DIY! self-produced sensor-bar

There are some guys who have Wiimote but don't have Wii (including me!).
They could not use IR feature of DarwiinRemote (in safety, you know :-)

but now, one guy called mazex has introduced how to create a self-produced sensor bar.
of course, it's not 2 candles.

Please see the instruction at his site. Enjoy!

DarwiinRemote 0.3.1 and WiiRemoteFramework 0.3.1 are released!

Hi all,
We've just released a new version of DarwiinRemote.

This version supports battery status and fixes some bugs. Please use this version for all users.
You can download it from here(SourceForge.net)


The most important feature for developers is that DarwiinRemote has been divided into 2 parts, App part and Framework part. Now you can use WiiRemote Framework in your projects independently.
Please check sources of DarwiinRemote and WiiRemoteFramework at sourceforge.net.
If you are interested, develop your projects and introduce us at public forum in SourceForge.net.

DarwiinRemote 0.3 is released!

It's time to buy 2 candles ;-)

Hi all!
DarwiinRemote 0.3 is released!! This version supports IR sensor and motion sensor calibration. Enjoy!

From this version, DarwiinRemote is hosted on SourceForge.net. Please download binary and sources of this version from here (sourceforge.net).

For developers:

I plan to divide Wii Remote Framework from DarwiinRemote.app. By using the framework, you might be able to use Wii Remote in your projects easily. It will include some additional functions such as various analyzing method like gesture recognition.

What do you think about this plan? I'm still not sure whether I can do that, please help
 this project if you interest.

Project site is here (sourceforge.net)

DarwiiiiiiinRemote

Hi all,

blog.hiroaki.jp got "slashdotted", and had been down. I apologize you for the inconvenience.
I decided DarwiinRemote should be hosted on SourceForge.

Anyway, thanks to all users!
many many blogs writers have written about DarwiinRemote!


I will upload new version today ;-)
it supports IR sensor and motion sensor calibration!

DarwiinRemote 日本語FAQ

なんか、海の向こうで大変盛り上がってしまったようで、作った本人がびっくりしております。次のバージョンでは遂にIRセンサが組み込まれるので楽しみにしていてください。SourceForgeで公開する予定です。
あと、加速度センサの値の変換もあまりに適当だったのでやり直します。

さて、ちょっとDarwiinRemoteでFAQ的なものを日本語で書いておきます。

  • これは何なのか
    • 任天堂のWiiに付属する(単品でも購入可能)WiiリモコンでMacを操作するものです
    • 現在のところ、三軸加速度センサとボタン、LED、バイブレーションモーターなどをサポートしています
    • AppleRemoteっぽいこともできます
  • 動作環境
    • Mac OS X 10.4以上
    • Bluetoothを接続できるマシン(某所で言われたIRポートはいりません)
    • Intel CoreでもPowerPCでもOK
  • マウスモードでカーソルがきちんと動かない
    • Wiiリモコンの加速度の値は個体差があるようです。次のバージョンではキャリブレーションの仕組みを導入します
    • そもそも傾けて操作するのは難易度が高いです。次のバージョンではセンサーバーを使ったポインティングも導入します
  • キーバインディングが変
    • できればキーバインドをコンフィグレーションできるようにしたいです
  • WiinRemoteの移植なのか
    • 違います。作者のtokkyoくんは同じ研究室の後輩ですが、コードを共有しているわけではありません。WiinRemoteの実装言語はDelphi、DarwiinRemoteの実装言語はObjective Cです
  • Wiiリモコンをハックするのは難しいのか
    • 単にデータを読み取るだけであれば全然難しくありません。ドライバを書こうとするとちょっと大変かもしれません
    • WiiLi.orgの情報だけでデータ取得できます
  • なんで英語の情報がメインなのか
    • WiiLi.orgで得た情報なので、まずは成果を還元すべきという思いから英語をメインにしました
    • 英語で書くと、アメリカだけではなくて多くの国の人が読めるというのもあります

では、今後ともよろしくお願いします。
技術的なこと、それ以外のことでも、何かありましたらコメントを残してもらえると嬉しいです。

Intermission - DarwiinRemote for QuartzComposer ;-)

Though I know I have to fix many many problems about DarwiinRemote, I've implemented a QCCustomPatch based on DarwiinRemote for a change (as you know, it's unstable too ;-).

In QuartzComposer, data from Wiimote are analyzed(by JavaScript patch) and converted to AppleScript events. QC sends the event to GoogleEarth to control moving XY, zooming, and rotating.

DarwiinRemotePatch.png

DarwiinRemote is released!

What is DarwiinRemote?

DarwiinRemote Icon

DarwiinRemote.png
  • DarwiinRemote is a tiny software which reads data from and sends data to Nintendo Wii Remote
    • Inputs
      • 3-axis acceleration sensors
      • all buttons except power button on/off
    • Output
      • 4 LEDs
      • Force Feedback
  • DarwiinRemote allows you to control other applications by using Wii Remote
    • but now only supports "AppleRemote" mode...

How to use DarwiinRemote

  1. Launch DarwiinRemote
  2. Press 1 button and 2 button of your Wii Remote simultaneously
    • Wii Remote becomes "discoverable mode" (4 blue LEDs are blinking)
  3. Log drawer in DarwiinRemote reports "Wii Remote is found!"
    • When DarwiinRemote cannot connect to Wii Remote, disconnect bluetooth connection (press power button in seconds) and restart DarwiinRemote (will fix...)
  4. Have fun!

Download

Key mappings

DarwiinRemote now only supports single mouse emulation and "AppleRemote" mode

Wii RemoteKey mapping
Up
Up
Down
Down
Left
Left
Right
Right
A
Left-Click
B
Return (Play/Pause in FrontRow)
Minus
Command + Left (Volume Down in FrontRow)
Home
Command + ESC (Enter FrontRow and "Menu" button)
Plus
Command + Right (Volume Up in FrontRow)
1
Page Up
2
Page Down

To Do

  • Icon andUI (help me!)
  • Key mapping configuration
    • e.g. invoke AppleScript
  • Sensor calibration
  • IR sensor support
  • Extension Port support
  • Speaker support (it seems difficult now...)
  • Gesture Recognition
  • More stable codes ;-)
  • QC Custom Patch ;-)

Disclaimer

DarwiinRemote is an UNSTABLE and EXPERIMENTAL software. The author Hiroaki assumes no responsibility whatever for its use by other parties, and makes no guarantees, expressed or implied, about its quality and reliability.

Please play this carefully ;-) 

Special Thanks to

  • WiiLi.org
  • tokkyo (author of WiinRemote)
  • Luke and Mark (reporting button bug)
  • truex (providing icon)
  • of cource Nintendo Wii team

WiiリモコンをMacからいじる

WiiRemote.png
tokkyoくんに遅れること数日。

昨日から始めたWiiRemoteをMacで操るプログラミングですが、とりあえずこんな感じに。
グラフがふにゃっとなってるのは、OpenGLのキャプチャがうまくいかないからです。

ビットマスクとかせにゃならんボタンはとりあえず置いといて、
・3軸加速度センサのデータ
・LEDのOn/Off
・バイブレータのOn/Off
・Wii RemoteのInquiry
は完成。

ボタンの判定のコードを書いたらひとまず公開して、他の誰かにきっちりしたのを作ってもらいたいところです^^;


しかし、Phidgetsなんかと比べてもかなり精度の良い値が返ってきますね。
これが4000円しないってのは凄いことだと思います。
これから、学会発表のプレゼンでWiiRemoteを見ることが増えたりするかも(笑

Index of all entries

Home > Programming > DarwiinRemote Archive

Search
Feeds

Return to page top