2013年2月22日金曜日

komadoというアプリが便利すぎて鼻血が出てきた。

おサイフケータイ搭載android第1弾として登場して喜び勇んで飛びついてみたものの、肝心なときにうまく動かないもっさりした動作と繰り返される勝手なリブートですっかり愛想を尽かして、去年11月からiPhone5に乗り換えられてしまった、NECの迷機Medias N-04Cが今頃になって脚光を浴びようとしております。
道に迷って待ち合わせに遅れそうなときにgoogle map立ち上げたら30秒くらい固まった挙句リブートしたときは叩き割ってドブに投げ捨ててやろうかと思いました(薄いので割ったら気持ちよさそう♪)
捨てなくてよかった。

root取ってからオークションで売っぱらおうとも思ってたんですが、せっかくのandroidだし、なにか使い道はないかと考えておったんですが、ふと、PCのサブモニタにできんかと思い立ちました。

以前住んでた部屋ではPCモニタは2枚使ってました。意味わからないかもしれないですが、これは非常に便利で、一度やってしまうと簡単には1枚には戻れません。
教科書サイト見ながらお勉強したり、使い方サイト見ながらアプリ使えるし、攻略サイト見ながらゲームできるし。
 ところが今の家はPCデスクをおかずに、部屋の37インチのTVをモニタにしているので、ケーブルやら配置の関係で1枚に泣く泣く戻ったんですね。
でも37インチで結構でかいので(大きさだけなら2枚の時よりでかい)、なんちゃって2画面的な使い方をしてたんですが、やっぱり2画面の便利さにはかなわん。
特に、PCの稼動状態を表示するガジェットは、ウィンドウに埋もれると見えなくなるしかといって手前に表示すると邪魔だしで、サブモニタに置いてあるのが非常に居心地いいわけです。

で、余ってるこのクソMediasをサブモニタにできるアプリがあればよいな、と。
しかも無線で、さらに無料ならいうことないな、と。
そんな都合のええもん見つかるかいと思いながらも「android 無線 PC サブモニタ」なんてキーワードで検索かけたら、びっくりするほど完全にこのニーズを満たすアプリを見つけました。

その名も「komado
イカス名前じゃないですか。

androidやiPhone/iPadを、無線LAN経由でPCの2枚目以降のディスプレイにしてしまえるという、素晴らしいアプリで、そしてなんと無料!
すごいなこの会社。アプトさんっていうんですね。
こんな高機能なアプリを無料で配布しても開発コストって回収できるもんなんですねぇ。

さてあまり興味のない方には、お前は何をもりあがっとるんだとそろそろ言われそうなので 写真を見て頂きましょう。





テレビの下にあるクソMediasに、iTunesの画面の続きが写っているのがおかわりだろうか?
アップしてみます。

どうです?androidフォンが完全にPCのサブモニタになってます。
これ無線で動いとるんです。
そして無料なんです。
凄すぎないですかこれ。どないなっとんねん。

スマホなんで画面が小さく、以前のようにメーラーを常時起動してたりは出来ないですが、ガジェットがメインモニタ外に表示できるのでそれだけで非常に便利です。
文字も小さくなるけど十分読めるので以前のような使いかたもばっちり。

難点を無理やり挙げるとすれば、
1.スマホ側の画面をワイドの解像度にできない。
  現状640x480で使ってます。
2.反応が結構遅いので動画を表示させるのはちょっとしんどい(コマ送りになる)
くらいですかねぇ。。。


設定もこれまた異常に簡単で、 komadoのページからwindows用のアプリをダウンロードしてセットアップ。
64bitアプリなのがまた嬉しい。

androidはgoogle playから「komado」をインストールするだけ。
PC側でandroid側の解像度を指定して、android側アプリでPCのアドレスを指定すればOK。
PCの画面が一瞬ブラックアウトして、その後すぐにサブモニタとして使えるようになります。
mistelとかいうドライバを使わないとwindowsでaeroが止まって不細工になるのでmistelを使いたいところです。

たったこれだけで、PCが2画面で使えます。
ベッドサイドでホコリをかぶっていたクソMediasは、今日からキーボードの前に毎日置かれる存在となりました。

そいやauのiPhoneに乗り換えるときに、違約金払ってすぐdomoco解約するか、解約月まで待つか悩んだ際、両親がdocomoなので無料通話できるしという理由で月1000円で維持することに決め、「電話は前の番号にかけてね」なんて言ったものの、普段全く使わないので充電されてないことが多く、親からは電話よりもメールで連絡が来ることが多かったんですが、今日からはちゃんと電話に出てあげられそうです。
親と子の絆をつなぐアプリ、それがkomado。素晴らしいです。

ところでgoogle playのレビューを見ていると、ミラーリングしか出来ない可哀想な方もたくさんいらっしゃるようです。
ミラーリングはさすがに自宅用途ではあまり意味がないですね 。
うちは、win7/64bitのグラボがHD5770、android2.3で快調に動いております。
 
ちなみに無線LAN経由で動くので、Windows側で ファイアーウォールを有効にしている場合は穴あけが必要です。
うちは環境が悪いのか、自動で許可されなかった上にブロック通知も出てくれなかったので、例によってwiresharkでキャプチャしてポートを見つけました。
受信側TCP/53453
送信側UDP/53453
をオープンしておく必要があります。
↑FAQにポート書いてありました。テヘ。

こないだのAppleTVと違ってPCのIPアドレスは指定できるので、ルータ越しでも上記ポリシー的なものを開けておけばOKなはず。

それから、アプトさんのFAQにある方法では穴あけできなかったです。
windowsファイアーウォールの「windowsファイアーウォールを介したプログラムまたは機能を許可する」>「設定の変更」 はボタンがグレーアウトして押せませんでした。
押せるようにする方法はあるみたいですがポリシーエディタとか面倒臭い言葉がたくさんできてきたんでポート穴あけで済ましちゃいました。
 
とにかく今日は素晴らしいアプリに出会えて幸せな気分です。
19時から午前3時まで仕事なんですが、がんばれそうです。

2013年2月4日月曜日

ブログ始めるとなんとなくうれしくって無理やり更新しちゃいますよね。
おれの場合この気持は持って1週間なんですけどね。

部屋のホコリが多いのが気になって、昨日掃除したばっかりなのに。。と思いながらホコリ取りしてましたら、うっかり重たいものをフローリングの床に落としてしまい、凹ませてしまいました。

これは出るときバレないように偽装しないとな。。。と思いながら触ったら、
ぐっさあ
刺が刺さりました。
しかもかなり長く、深い。

刺よく刺さるんです。
多分、人よりよく刺さる。
年に3回は刺さってる。
去年は逗子の海で貝殻を踏み抜いて翌朝(=酒が抜けた頃)激痛に苛まれました。
神戸の山ん中でも刺さりました。
今年初刺さりです。

とにかく摘出しないとまずいので、縫い針とピンセットを探すも、先日の大片づけで針がどこにいったかわからん。
引き出しから画鋲が見つかったのでそれを焼いてチクチクするも、画鋲の針って先端も太いので刺の周りの皮を崩すには使えない。
これは刃物が必要と思い、プラモ作り用のカッターを探すも、これも先日の大片づけでどこにいったかわからん。
そうこうしてる間にアドレナリンが減ってきたのか負傷した指先がジンジン脈打ってきた。
うおう痛い。

がらくた箱からようやくカッターを見つけ、刺抜きがないので(よく刺さるんなら買っとけよって話ですが)これまたプラモ用の精密ピンセットも用意。

照明とアルコールも準備してオペを開始しました。
気持ちを落ち着けるためにビールも開けました。

#一部始終は写真に撮ろうと思ったんですがグロいのでやめますた。

刺さってる辺りを焼いた刃で崩していくと、つまめそうな感じになってきたのでいざ摘出!意外と早かったな。。。と思ったのもつかの間、刺が木なので、あっけなくボロリとちぎれ、完全に刺は埋没してしまいました。

ちなみに海で刺さった貝殻のはガラスのような繊維質だったのでスポッと気持よく抜けました。異常に気持ちよかったのを覚えてます。もう一回刺して抜こうかと思ったくらいです。

さて、これは切開するしかないと、傷口からそろりそろりと刃を当てて刺の上を切り裂いていきます。
痛い痛い
しかも意外とカッターの切れ味が悪くて余計に。
刺さったのが右手なんで不器用な左手でオペしてるんで余計に。
指先の、深さ1mmにも満たない皮を切り裂いているだけなのになんでこんな痛いんでしょうか。
こないだ見たプリズンブレイクで、ケラーマンに殺されそうになったサラがホテルの窓から飛び出した時に負傷した後、ランボーばりに自分で傷口を縫ってましたがそんなことホントにできるんでしょうか。

おれは刺青するのは無理だなあと思いながら皮膚を切り裂くこと数分、再び刺が頭を出して来ました。そろそろつまんでやろうかとピンセットに持ち替えて、刺を摘もうとして。。。
うっかり手元が狂って(ビールのせい?)、刺の下辺りからテコの原理のような動きで刺を思いっきり持ち上げてしまいました。うがー皮膚が裂けた!痛い!

しかしお陰で刺がほぼ全身姿を表したので、無事取れました。
ああ気持ちいい。刺が刺さるのは嫌だけど、刺を抜くのは気持ちいい。
刺は長さ2.5mmほどありました。

毛羽立った床は応急処置としてロウを流しこんでおきました。
これで裸足で歩いても大丈夫!

今日は半ば無理やりブログ更新しました。
う~んこのテンションでいつまでブログ書き続けられるかな~

2013年2月3日日曜日

Netscreen越しでiPhoneからAppleTVを利用してみた。

仕事の関係で自宅にJuniperのNetscreen5GT(以下NS)を置いてる。
オークションで5000円くらいで買ったんだけどバージョンが6.2.0r11.0と結構新しい。

インターネットGWを、ルータ機能の解除できないwimaxルータに変えてから、グローバルIPをNSに持たせられなくなったのでお飾り的になってしまったけど、一度FWを設置してしまうとスーパーハッカーだらけの今日このごろ、不安なものでずっと使い続けている。
余談だが、FWを設置していない家のPCは1時間に1回くらいの割合でスーパーハッカーに侵入されて、マイピクチャの恥ずかしい写真を見られていると思っていい。

さて先日、なんとなく面白そうに思ってAppleTVを買ってみた。
iPhoneのゲームをTVの大画面でプレイできたり、iPhoneの「remote」というアプリがリモコンになったりと、ガジェット好きにはなかなか興味をそそられるプロダクトだ。

実際使ってみて、AppleTVのリモコンは文字入力が絶望的にやりにくいのでiPhoneをリモコンにするのは必須だなと、NS越しに果たしてできるもんかと挑戦してみたその記録。

----

うちの場合、PC、液晶TV(兼PCモニタ)、AppleTVはNSのスイッチポートに接続していて、これは内部セグメントなのでTrustゾーンに所属している。
一方でiPhoneは、wimaxルータの無線LANを使用していて、こちらはNSの上位にあたり、Untrustゾーンに所属している。
仕事ではNSはL3モードで使うので、うちのもL3だ。つまり、セグメントを越えてiPhoneとAppleTVを接続する必要がある。
まぁAppleTVをUntrustにMIPしてやればiPhoneから見えるしうまくいくでしょ。。。と思ってたけど全然だめだった。
考えてみれば当たり前で、iPhoneはAppleTVのIPアドレスを知らない。MIPされて同一セグメントにいるように見えるが、remoteアプリにはAppleTVのアドレスを入れる箇所はないのだ。
なのでiPhoneは、mDNSを使ってAppleTVを見つける。問題はこのmDNSの最初のパケットが224.0.0.251宛てて、これはルータを超えられないリンクローカルマルチキャストだ。
NSの上下で違うネットワークアドレスをもたせているので、このマルチキャストはNSを超えることが出来ず、iPhoneはいつまで経ってもAppleTVを見つけられない。

解決策は2つあって、

1 .NSのスイッチポートに無線LANメディコン的なものを使ってそこにiPhoneをつなぐ
2.上下セグメントを同じネットワークにして、NSをL2透過モードで動作させる。

1.は、本案件のためにお金を掛けたくないので却下
となると、2だ。もしくはNSを窓から投げ捨てるかだ。しかしこれは通行人の迷惑になるので実施できない。

とはいえ2を実行するのは躊躇われた。なぜなら、シリアルコンソールで繋ぐ手段がないからだ。
PCにシリアルポートが付いてないのでUSBの変換ケーブルが要る。高いものではないけど、これのためにわざわざ買うのももったいない。。。
では諦めてAppleTVの使いにくいリモコンで操作するのか?
あるいは窓からNSを投げ捨てるのか?でももし歩いてる子供に当たりでもしたら。。。
いや、考えてみればAppleTV自体がおれには必要ないのでは・・・?

これって、知人が遊びに来たのでみんなでおれのiPhoneの写真みようぜ?とか、自室PC内のコンテンツをリビングで見たいぜ?とか、PCのない寝室で寝る前にちょっと昔のドラマ見たいわ、とか、ゲームを大画面で遊んでみんなでキャッキャウフフするとか、そういう時に使うもんでしょ?
友達滅多に遊びに来ない1K一人暮らしのおれには全く要らないもんやん。
もう使用感出る前にオークションに出そうぜ?

と、箱にしまいかけたところで思い直してNSのL2化にやはり着手することにした。 
AppleTVは友達滅多に遊びに来ない1K一人暮らしのおれにはほとんど必要ないが、朝ごはん食べながらyoutubeをちょこっと見ることができるし、 ウイルスチェック中のPCをそっとしておきながらhuluが見れるし、NBAも前よりよく見るようになったからだ。
huluの画質もPCよりAppleTVで見るほうがいいような気がするし。
AppleTVはおれには必要なのだ。
とはいえL2化は、シリアルコンソールのない状況では非常に気を使う作業だ。まぁコンフィグをセーブする前ならリブートすれば元には戻るが、時間はあまり食いたくない。

というわけで、仕事と同じくらいのクオリティの作業手順書を作った。正月休み中だったが。
作業詳細は省くが無事うちのNSはL2透過モードで動くようになった。なぜか、trust側へのログインがsshでしか行えないのだが、まぁログインできるのでよしとする。

さてここからポリシーを設定しないといけない。appleのサイトによると、appleTVで使っているポートは

・UDP/5353 (mDNS)
・TCP/3689 (AirPlay)

とのこと。

早速NSに設定して、iPhoneのremoteアプリからAppleTVに接続をすると、あっさり成功!
ボタンにもちゃんと反応している!すごい!
と思ったのもつかの間、カーソルを動かせん。
AppleTV付属リモコンと2刀流で遊んでみたが1分ほどで飽きたので、原因を探す。NSのdenyログを見るのだ。
すると、TCP/50000以上のハイポートがdenyされまくっていた。制御は上記ポートで行なって実際のデータはハイポートで送るんだろう。めんどくさいので50000~65535のTCPを全部許可した。

これで カーソルが動くようになり、いざプリズンブレイクを見るぞ!と思ったら今度は映像と音声がでない。
TVが見れないのでは意味が無い。これでは「appleTV」ではなく「」だ。

denyログを確認すると今度はUDPのハイポートをdenyしまくっていた。さっき一緒にdenyしておけばよかった!
それも許可することで、ようやくiPhoneからAppleTVを操作できるようになった。  超快適!
ソファに寝転がったまま操作できて次から次へと映像コンテンツを渡り歩ける!PCのときはきっちり座って操作する必要があったがこれは起き上がらずに全部操作できる。
非常に危険な状態だ。自堕落の極みだ。

というわけで、

・UDP/5353 (mDNS)
・TCP/3689 (AirPlay)

を、まず制御用に開けておく必要がある。

さらに
 http://support.apple.com/kb/TS1629?viewlocale=ja_JP
で調べたが、

・TCPとUDP 49152-65535(コンテンツ転送用?)

 をiPhone→AppleTV向けに開けておく。
これで、iPhoneとAppleTVを接続して遊べる。
iPhoneからPCのiTunesのコンテンツを視聴したり(1部屋では全く意味無し)、iPhone内の楽曲をAppleTVから出力することも、iPhone画面のミラーリングも、上記要件が空いていればOK。

手持ちのCDは全部iPhoneに入れてるので、最近はコンポ動かすよりAppleTV経由でiPhoneの音を聞くことのほうが増えてきた。
インフルエンザになってもベッドからiPhoneで探偵物語の続きを見れるし、カーレースをTVの大画面でやれるのはとてもおもしろい。

AppleTV、友達があまり遊びにこない独身1K住まいにも、なかなかいいです。