Hatena::ブログ(Diary)

touchRLの日記

2011-12-08

iPhone4SからAndroid BEAM !?

Android Advent Calendar

本エントリは、Android Advent Calendar 2011の裏エントリにもなっています。
普段、ブログ書かないのですが、そうそうたるAndroiderが名を連ね注目度も高いだろうということで、こっそり参加させてもらいました。

iPhoneからAndroid BEAM !?

Galaxy Nexusが発売されて、入手された皆さんはきゃっきゃうふふとAndroid BEAMしてますよね?きっと。

残念ながら僕は持ってません。。。
後輩はGalaxy Nexusを入手したようです。ええのう。

iPhone4Sにしたばかりの僕には、Galaxy Nexusに手を出せませんが、
僕のiPhone4Sから後輩のGalaxy NexusAndroid BEAMなら出せる気がします。

というわけで、この動画を見て下さい!
D

iPhone4Sで表示しているGoogle MapをタッチしてGalaxy Nexusへ!
見事な あんどろいどびーむ いや、あいふぉんびーむ か。

iPhone4SNFCなんか載ってないですよね?
どーなってんの??
ふふふふふ。

あいふぉんびーむ タネあかし

f:id:touchRL:20111205163220j:image:w360
!?
そーです。RL-700Sで作成したNFCラベルをiPhone4Sのケースに貼り付けていたんですねー。

あ、NFCラベルプリンタについて知らない方はこちらの資料をご覧下さい。ちょっと古いですが、2011/5/23に名古屋ギークバーで行ったLT資料。

まぁ正確に言ったらNFCタグからビームが出ているわけではなく、Galaxy NexusNFCタグの内容を読み取っているだけなのでコレをAndroid BEAMと呼ぶのは間違ってると思いますが、ユーザから見える挙動は一緒でしょ?
iPhoneAndroid BEAMしたみたいに見えるよね!

ビーム用ラベルの作り方

初めに便利なアプリ2つ紹介します。
NFC TagInfo
f:id:touchRL:20111205194938j:image
NFCタグの内容を確認できるアプリですね。機能が充実しています。

NFC TagWriter
f:id:touchRL:20111205194937j:image
NFCタグの読み書きができるアプリですね。テキストやURLなどのデータをNDEF形式でNFCタグに書き込めるのでNFCタグ作成に大いに役立ちます。

まずは先ほどの あいふぉんびーむ したNFCタグをNFC TagInfoアプリで内容確認してみましょう。

アプリ起動するとタグを読めと出ます。
f:id:touchRL:20111205203310p:image:w240

タグハケーン!
f:id:touchRL:20111205203309p:image:w240

NDEF messageの内容を確認してみると...
中身は?そうGoogle mapのURLです。
f:id:touchRL:20111205203308p:image:w240

ふむ。じゃあ本物のAndroid BEAMはどんなビーム(情報)を出しているのでしょう?
後輩君のGalaxy NexusAndroid BEAMするのを、開発用のNexusSでNFC TagInfo起動して待ち構えてみましょう!
f:id:touchRL:20111206164217j:image:w360
動画と同じように今度はGalaxy NexusGoogle mapで地図を表示した状態で、NexusSと背面同士タッチさせると、Galaxy Nexus側でビームするか?と出るのでビームしてみました。
f:id:touchRL:20111206164236j:image:w360

結果は?
そう。NDEFでGoogle mapのURLを渡しているわけですよ。
f:id:touchRL:20111205203308p:image:w240

YouTubeの動画の場合
f:id:touchRL:20111206171419p:image:w240

標準ブラウザURL渡した場合
f:id:touchRL:20111206171456p:image:w240

ね。基本的にNDEFでデータを渡している。

ちなみに自作アプリは?
f:id:touchRL:20111206171844p:image:w240
マーケットでアプリ検索のURLのNDEFとEXTERNAL_TYPEでパッケージ名のNDEFの2つ渡してる。
特にアプリ側でAndroid BEAMでこういうデータ渡したいって作りこみをしなければ、起動のためのアプリパッケージ名とインストールされていない場合にインストールを促すURLを送信するって挙動ですかね。(想像)


さぁそうとわかれば、このNDEFのNFCタグを作成すればいいわけですよ。
そこで活躍するのがTagWriterのアプリです。

今度はGalaxy NexusからGoogle MapのAndroid BEAMするのをNexusSではTagWriterを立ち上げ、
f:id:touchRL:20111206001753p:image:w240

Viewの状態で待ち構えてみましょう。
f:id:touchRL:20111206001751p:image:w240

来ました。隊長!NDEF捕捉しました。
f:id:touchRL:20111206170304p:image:w240

うむ。次はCreateしてみろ。
f:id:touchRL:20111206001753p:image:w240

おぉHistoryに先ほど捕捉したNDEF URLの内容があります。
f:id:touchRL:20111206101109p:image:w240

うむ。そのまま書き込んでおしまい!
f:id:touchRL:20111206101244p:image:w240

f:id:touchRL:20111206101242p:image:w240

イエッサー!
f:id:touchRL:20111206103746j:image:w360

こうしてビーム用NDEFタグが出来上がります。
f:id:touchRL:20111206101331p:image:w240

皆さんもNFCタグ用意して遊んでみて下さい。
え、手元にNFCタグが無い?
そんな方はこんなとこから調達してみてはいかがでしょう?20枚1,050円から買えますよ。

あ、でもICSにはこのバグがありますからね。
NDEF未フォーマットな生タグ買ってもNDEF書き込めません。。
これは早急に修正して欲しいですね。

あと、注意点としてはビームする内容は固定ですし、iPhoneに貼るならビームする内容の画面表示を自分であわせておくことがポイントです。にっかり。

XXビーム その他の例

RL-700Sで作成するNFCラベルはステッカーになってますからね。
別にスマホでなくても貼り付けたものからビームうてちゃうわけですよ!

例えば、
うちの娘の作ったあんどろいど(かまぼこの板製)
f:id:touchRL:20111206080021j:image:w360
びーむ。
f:id:touchRL:20111206080736j:image:w240

例えば、
うちの息子そのもの
f:id:touchRL:20111206201719j:image:w360
おぉ、まさか...
f:id:touchRL:20111206075022j:image:w240
あんどろいどび〜む!
f:id:touchRL:20111206201857j:image:w360

あはは。超楽しい。

NFCアプリ楽しいよ

何もNFCNFC搭載のスマホを2台用意しないと遊べないわけじゃないんです。
NFCタグとアプリの組合せでも楽しいこといっぱいできるわけですよ。

参考になればということで、3つほどNFCアプリAndroidマーケットにアップしていますので、
それぞれ、どんなアプリでどんなNFCタグになっているか解説しておきますね。

twitterラベル診断

D
普通に読めばその人のtwitterページにとぶラベルを2枚読むことで、その2人がお互いフォローしてるか、twitter上での会話、ふぁぼり具合などから親密度を診断するアプリです。

実際のタグにはどんな情報が書き込まれているのでしょう?
本日表エントリ@kakenaviさんのタグを作成してみたので、これで確認してみましょう!
f:id:touchRL:20111205162943j:image:w360

はい。普通にtwitterのその人のURLですね。
f:id:touchRL:20111206010952p:image:w240
ということでこの http://twitter.com/kakenavi のkakenavi部分をそれぞれのtwitter idに変更したURL情報を書き込んだタグ用意すれば、このアプリ遊べますよ!

せっかくなんで親密度診断してみましょ。
f:id:touchRL:20111206012022p:image:w240
片思いでした。。

共通でフォローするユーザ137人はAndroidクラスタの方々いっぱい。
f:id:touchRL:20111206094205p:image:w240
@kakenaviさんのtwitterブログは超面白いですからね。
来年はお会いして、このラベルどっかでお渡しできるといいなぁ。

touch!ATND

D
WebアプリCheck!ATNDと連携してATNDのイベント出席確認するアプリです。
ATNDユーザにその人のATNDタグを用意してあげる。
イベントの際にそれを持ってきてもらい読み取ることで出席確認をとるわけです。

この辺りの人に絡むタグはNFCスマホ標準搭載になったら、それこそAndroid BEAMみたいにP2Pで確認する実装にすべきでしょうが、こんな使い方もあるよっていう参考に。

実際のタグにはどんな情報が書き込まれているのでしょう?確認してみましょう。
f:id:touchRL:20111205163032j:image:w360
こちらはこのアプリ専用のデータとしています。
NDEF MIME_MEDIAのタグでtypeがapplication/vnd.touchrl.atnd、PayloadはtextでATND id,nicknameって感じにしています。
f:id:touchRL:20111206014235p:image:w240

このタグで起動するアプリを作成するにはManifestファイルのintent-filterに

            <intent-filter>
                <action android:name="android.nfc.action.NDEF_DISCOVERED" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="application/vnd.touchrl.atnd" />
            </intent-filter>

なんて書けばいいわけです。

このタグはTagWriterからは作成できませんが、作るべきタグの仕様が分かればタグ作成アプリを作るのはそんなに難しくありませんので挑戦してみてはいかがでしょうか?

あ、このtouch!ATND x Check!ATNDのアプリMashup Awardsで何らかの賞を貰えるらしく表彰式に呼ばれています。(交通費自腹...)あざーす
当日参加される方には懇親会時に各種タグお作りしますし、デモ用ATND立てましたので、参加登録しておいて頂けると実際に挙動を確認できますので、是非参加登録してみて下さい。

ロケタッチRL

D
位置情報チェックイン系サービスは今後、GPS情報だけでなく、NFCラベルにタッチしてチェックインという形式も一般化するだろう。ロケタッチで作ってみたよ!

ロケタッチRLラベルにはどんな情報が書き込まれているのでしょう?
Bar AndroidロケタッチRLラベルで確認してみましょう。
f:id:touchRL:20111205163006j:image:w360
こちらもロケタッチRL用のラベルとわかるように、NDEF MIME typeをapplication/vnd.touchrl.loctouchとしたNDEFを書き込んでいますが、Payload部分には何もデータ入れていません。
f:id:touchRL:20111206020833p:image:w240
こちらに関してはタグの固有ID(下図のUID)とロケタッチのスポット情報を紐付けて、ロケタッチRLサーバで管理しています。
まぁタグにロケタッチのスポットIDを格納しても良いのですが、実際にその場所に行って、そこに貼り付けてあるNFCタグの固有IDがわからないとロケタッチRLできない。エアタッチRLできない。という効果が少しはあるかなと思って、そういう実装にしています。
f:id:touchRL:20111206020832p:image:w240

今年は運よく2回東京出張とあわせてBar Androidへ行くことができました。
来年もこっそりこのタグ貼り付けにお邪魔できればいいなーなんて思ってます。

最後に

さぁ、こんな楽しいことできるNFC搭載AndroidスマホNFCラベルプリンタRL-700S。

既に販売完了してますが、評価機貸出活動中です。コチラから申込み可能ですので、
あなたも何かNFCアプリ作ってみませんか?

それではよいクリスマスをー!

Special thanks to @wof_moriguchi ← Android BEAMを放つガキんちょネタ考案者

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証