2012年12月11日

Android の GCM をプライベートな目的に使う

はてなブックマークに登録

GCM (Google Cloud Messaging) は所定の端末へメッセージを送るための有用なしくみですが、何も一斉通知やソーシャルな用途ばかりではなくもちろんきわめて個人的な目的のためにも利用できます。今回はその方面でのアイディアをひとつざっくり形にしてみた例を紹介します。いろいろ応用もできるでしょう。

自分の端末を遠隔操作

Android 界隈は依然にぎやかで次々に新しい製品が発売されています。そのため複数の端末を持っている人も少なくないでしょう。まだまだ使える端末を遊ばせておくのはもったいないので、これを外出中の自宅の監視カメラとして使うことにしました。 端末を室内の対象物に向けて固定しておき、出先や仕事場から GCM 経由で端末へメッセージを送出、それをトリガーにアプリが撮影したスナップを Dropbox 経由で確認します。

シンプルな実装の割に結構役に立っています。 アプリ本体とソースコードを以下で公開しています。

RemoteWand - Google Play
RemoteWand - github

処理の流れ

端末の登録

遠隔操作の対象とする端末上で「RemoteWand」を起動して「登録」ボタンを押下すると GCM サーバへ端末が登録されトリガー発信用のフォームを含む HTML ファイルの添付された自分あてのメールが生成されます。

トリガーの送出〜撮影

PC やスマホのウェブブラウザに上記のフォームをロードし登録時に指定したパスワードを添えてサブミットするとアプリケーションサーバから GCM サーバへ要求が送出され GCM サーバが当該端末へ所定のメッセージをプッシュします。端末にインストールずみの RemoteWand はこのメッセージをトリガーにカメラで静止画の撮影を行います。Dropbox の「カメラアップロード」機能は自動的に撮影画像のアップロードを行うためあらかじめ端末にインストールしておけばリモートで簡単に写真を確認できます。


(tanabe)

klab_gijutsu2 at 15:39│Comments(2)TrackBack(0)Android | win

トラックバックURL

この記事へのコメント

1. Posted by 藤井   2013年03月21日 13:11
5 これは、素晴らしいアイディアだと思います。
このアプリを改造させて頂ければ、いいのですが
実装の方法が、初心者の私では良くわかりません。
御教授いただくことは可能でしょうか?
2. Posted by tanabe   2013年03月21日 13:41
藤井さん、お褒めのコメントをありがとうございます。ソースコードを公開していますのでまずはゆっくり様子をご覧になるのが最良だと思うのですが、GCM の概要や最初の TODO (APIキー等の取得等) については次のページがご参考になると思います。
<1. GCM をはじめよう> 「ソフトウェア技術ドキュメントを勝手に翻訳」様の記事:
http://www.techdoctranslator.com/android/guide/google/gcm/gs
なお、アプリケーションサーバにはいわゆる PaaS のひとつである「dotCloud」のサービスを利用しており、そこで使用しているサーバ側コードは github 上の server/dotCloud/ 配下にあります→ https://github.com/mkttanabe/RemoteWand/tree/master/server/dotCloud
<dotCloud - One home for all your apps> dotCloud 公式サイト
https://www.dotcloud.com/
何かをきっかけに新しいことを頑張って覚えるのは楽しいですね。良い展開をお祈りしています。


この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Blog内検索
Archives
このブログについて
DSASとは、KLab が構築し運用しているコンテンツサービス用のLinuxベースのインフラです。現在5ヶ所のデータセンタにて構築し、運用していますが、我々はDSASをより使いやすく、より安全に、そしてより省力で運用できることを目指して、日々改良に勤しんでいます。
このブログでは、そんな DSAS で使っている技術の紹介や、実験してみた結果の報告、トラブルに巻き込まれた時の経験談など、広く深く、色々な話題を織りまぜて紹介していきたいと思います。
最新コメント