MacとiPhone/iPadをWiFiルーター無しで接続


先日東京へ行ったとき、ミュージシャンの友人から
WiFiルーターの無いハコでライブするとき、
MacとiPadなどをWiFiで通信するにゃどーやって?
(iOSCやTouchOSCなど特に問題)
という素朴な疑問を投げかけられたんですが、

フツーにWiFiルーター持ち歩くのが一番手っ取り早い方法ではあるけど
実は、OSXは標準で自身がルーターになる機能もってるのです。
ほとんど使うこともないし地味すぎてあまり知られてないだけなんですが
ネット環境のない場所でMacとiPhoneを通信させるもう一つの方法であります。
アドホックというのはちょっと語弊あるかな〜?

無線LAN無し
有線LAN無し
もちろんインターネットも無し
Macを無線LANルーターとして機能させる。
こんな想定で設定してみます。

これはたとえばのネットワーク設定
Ethernet未接続
AirMacも「入」だけどどこにも繋がっていない状態
あとは、ネットワークの設定はなにもしない。(!)

つぎに、

システム環境設定の「共有」を開きます。

「インターネット共有」を選択し(まだチェックはいれないで!)
共有する接続経路を「Ethernet」
つぎにAirMacオプションを押します。

『ネットワーク名」に適当な名前を入力
これはWiFiにおけるSSIDです。WiFiサーチするときに出てくる名前
ライブ中に他の人がアクセスしてきても困りますのでWEPの設定もしておきましょう。

ここまでできたら、先ほどすっとばした、「インターネット共有」にチェックを入れます。
インターネット共有開始確認のダイアログがでるので開始してください。
これでMacはWiFiルーターとして機能します。
もちろんEthernetにはなにもつないでいないのでインターネットなどには繋がりません。
WiFiのLANのみのネットワーク構成されます。

このとき、AirMac状態をメニューバーへ表示するようになっていたらこのような扇+↑になっているはずです。

つぎにiPhone/iPad側の設定。
こちらは通常どおりのWiFi設定だけでOKなのです。
設定/ネットワークを開くと、さきほどMac側で設定したSSIDが見えるはず。
これをタップすると・

WEPのパスワードをきいてくるので入力してください。

無事接続されたら、IPを確認してみましょう。
右端の◎>をタップすると

取得したIPアドレス。
ルーターのIPアドレス。これはホスト側(Mac)のIPということです。
じつは、先に設定したインターネット共有では独自にDHCPが効くようで
クライアント側のIP設定が不要になるナイスな機能でした。

iOSCだとhost設定で↑のルーターIPを入力したり

TouchOSCもHostへルーターIPを入力してください

もちろん制御するアプリに併せてポートなども。

ほいでこれ忘れがちですが
ライブなどが終わったらインターネット共有のチェックは外してくださいませー。

————

あ、ちょっと捕捉

これEthernet無し、他のWifiルーター未接続前提でしたが
他のWiFiルーターへの接続は同居できません。
もし他のWiFiルーターへ接続済みの場合
「共有する接続経路」がAirMacとなり
「相手のコンピューターが使用するポート」にAirMacがでてこなくなります。
要はiPhone/iPadからはこのMacが見えなくなります。
まーiPhone/iPadが他のWiFiルーターへ接続すればいいんですけどね・

あと、共有するデバイスがiPhone/iPadだけではなく、有線のデバイスがある場合(Arduino+Ethershieldとか)
上の「相手のコンピューターが使用するポート」のEthernetをチェックすればおそらく大丈夫かと思います。
DHCPから取得できないデバイスなら 10.0.2.2〜255 で
他の機器とIPがバッティングしないユニークIPを手動で設定しておいてください。


recotanaアプリ ただいまセール中!


ちょうど去年の11月あたりはアプリ開発もそうですが
ドラスティックに環境変化せざるをえない出来事もあり
1年間よく乗り切ったよなあ、、と振り返るとそう思っちゃいます
依然、たいして仕事無し、されど面倒はみなくてはならんのであんま外にもでられん
という状況で綱渡りには違いないけど
また1年例のビッグウェーブに乗らせていただく所存です。すっかり通り越してレッドオーシャンか(笑)

そんなわけでiPhoneアプリ開発に手を染め、ほいで自分も1年やり過ごせたアニバーサリーとして
本日よりディスカウントセールを実施しまーす!

iOSC,Copy By Ear ともに115円(2週間限定)のご提供です。
どうぞよろしくお願いします!

CopyByEarの詳細
AppStoreリンク
cbe.jpg

iOSC詳細
AppStoreリンク
iosc.jpg


iOSC ver1.05 アップデートしました


サブミットが9/30だったのでちょうど2週間。
だいたい金か土曜にReady for saleが来るけど、今回は火曜日。
もしかして日本で審査してるわけじゃないよね〜(連休明け)

iOSCアップデートしました。
setが削除できなくなる問題を修正しています。
ってこれくらいなんですけど、、
メジャーアップデートしなきゃしなきゃと大改造してるうち相当周回遅れになっちゃったので
モチベーションがすっかり落ちております。。がんばろう〜

ちなみに iOSCは何のアプリかは以下の紹介サイトで。

iOSCサイト
http://recotana.com/iphone/iosc/

iOSC AppStore リンク
AppStore


Copy By Ear もうバージョンアップの予定


といってもまだ実装途中なのですが。。
iOSCを公開しているし、ここはOSC(Open Sound Control)を実装すべきでないの?なんて思いがフツフツと
そしていまBonjour(Zeroconf)のこともいろいろ調べていて
なかなか便利な機能だし、ネットを使う上でこれも必須の機能じゃないだろかと思えてきました。
そんなわけでOSC,Bonjour同時に対応しようと思ってます。

それにしても地味なバージョンアップだなあ
いったいだれが使うんだろう(笑)
そんなこと考えてたらなんもできないので粛々と実装してみたのがこんなかんじ

iOSCにて無線LAN経由でリモートコントロールしています。
普通にOSC制御のiPodだけど、、
OSC制御のmp3プレーヤーって世界初?だれもつくらんか。

まー、Arduino用のOSCライブラリも作ってるし、
Arduinoでフットスイッチなんか付けたら、より耳コピ&テープ起こししやすくなるんじゃないだろうか
なんて後付で思いついちゃったりなんかしてー
あとLemurなんかでコンロールしてくれたら意外にいいかもね!
いや、むしろされてやってもいいよ!
iPhone/touch 100台くらい並べてアンサンブルとか!
ザイリーカの同時再生会をiPhoneで!これなら4台で済むし!
なんてねえ。あー懐かしい。。

あーでも当のiOSCはまだBonjourに対応してないし
非Bonjour用にIPアドレス&ポート表示をどっかのViewに埋め込まないといけないのがおっくうだ・・

そのへんができ次第バージョンアップしようとおもてますー。


iPhoneのデバッグ


いま次期iOSCをちょこちょこ構築してまして、骨格もおよそできてるんですが
ここにきて謎のクラッシュが。
ボタンをタップしたときに即クラッシュするようになっちゃいました。
アクションメソッドの登録先がおかしいのかな〜?と昨日からちょっと悩んでたんですけど
いろいろググっみたらこちらのblogにナイスなことが書いてありまして、早速やってみました。

【iPhone】メモリ不足時のシミュレートとデバッグ

そもそもコンソールにこんなヒントを出すこと初めてしりましたわ。
これ実行して即原因判明。
retainされてるものと勘違いしてreleaseしちゃってました。。

それにしてもこの機能、XCodeのデバッガに簡単にON/OFFできるようにしてほしいなあ


PowonはMac/PCと連動して遊べるんです。



Powon from Kazuyuki Okamoto on Vimeo.

この動画、バックのPowon映像が投影されていますが、これはiPhone/Touchの映像ではなくて
Mac/PCの映像をプロジェクターで投影しています。

実は、Powonは外部コントロール用のデータをWi-Fiにて送信できるようになっていまして、
このデータがiOSCでも使用している OSC(Open Sound Conrol) なのです。

Powonはある操作ごとにOSCデータ送り、Mac/PC側のPowonアプリを操作しているのですが
このデータをiOSCで送ると同じ操作ができます。
iPhone/touchは性格上単体で完結するアプリばかりだし
せっかくOSC使ってるんだし、だれでも簡単につながるものあればね〜。 ということでした。

とはいえ、コ難しいことはどうでもよくて
リンク先のpowon_mac もしくは powon_winXP をダウンロードして起動し、
Mac/PC側のIPアドレスをPowonで入力すればPowon映像を簡単に連動させることができます。
フルスクリーンにすると何気に気持ちEですよ。

ちなみにこれもOKAHON作ですよー。自分は紹介だけっす。


Powon(iPhone) controled Powon(Mac ver)




Powon for Mac/PCはこちら
OKAHONのDOWNLOADS

Powon for iPhone/iPod Touchはこちら
Powon


ArduinoでOSC(open sound control)使えるようにした


iPodライブラリに引き続き OSC(Open Sound Control)プロトコルを利用して
OSC通信できるArduinoライブラリを作ってみました。
ただね〜、経験不足がモロバレで正直公開するのが恥ずかしいかも・・
ツッコミ怖いけどせっかく作ったのでやっぱ公開します・
英語のドキュメントも作りたいんだけど、うちの英語力の限界遙かに超えてますので
どなたか手伝ってほしいいい

でもま、サンプル見ればなんとなくわかったりしないかなーと期待しつつ
こちらに置いてあります
http://recotana.com/recotanablog/?page_id=222

サンプルスケッチはこんな感じで簡単にやってますよ〜
Arduino OSC Library Test Circuit

USB繋がってるけど、電源用。 通信はEtherner
Arduino OSC Library Test Circuit

ArduinoのVRを動かすと Mac側Processingのウィンドウ色が変わります
Arduino OSC Library

これは iOSC使って iPhoneとArduinoの通信テスト
iPhone -> Wi-Fiルーター -> Ethernet-> Arduino
Arduino OSC Library


ArduinoでOSCプロトコル実装中


Ethernet ShieldでUDPの実装はできたんだけど
OSCをどんなふうに実装したらいいのか悩み中。

名前空間を
/adn
/adn/cmd
みたいに2コまで
TypeTagは int,float
(文字列はいらないよなあ)

なかんじでいいかな〜。
ちなみに、直接ADCとかI/Oを操作するようなメッセージは実装しないつもり
もっと自由に使いたいのです・

といいつつiPhoneでAudioUnitの実装勉強中だったり。
AUなかなか面白いなあ。


みんなでiOSCを試してみた


iPhone 2台にiPod Touch 3台
周りの人が普通に持ってるのでぽっと集められるのがすごい。。
つかiPhoneもう一台あったけど使わなかったくらい。

ちゃんとやってんだけど、指先の動きだけなのでなんもやってないかんじに見えちゃう。。
こーゆーのは立ってやるもんだか?
それにしても、素人だけでこのくらいの合わせ方でもなかなかどーしてとっても楽しいんだわー。
音源作った人がいなかったらここまでできんかった。
素人だけでちゃんと合うように作レ!という指令だしてその場で作ってちゃった。すごい。
次回別アプリの構想も思いうかんでしまいましたよ。

でも5台全部にOSCメッセージ & MIDIアサインのセッティングは結構時間かかった。
音源作るより時間かかったかも

やはりホスト側である程度セッティングできたほうがいいよね。
次期バージョンでこのへんの連携やってみるぞー。