2012年10月23日火曜日
2012年10月11日木曜日
前回SDK for NFC Wrapper Libraryのプロトタイプを作りました。
ここから各NFCデバイスに向けての機能を肉付けしていきたいと思います。
現段階ではコマンドを発行することができないので、コマンド発行まで実装したいと思います。
SDK for NFC Wrapper Library - Polling
前回SDK for NFC Wrapper Libraryのプロトタイプを作りました。
ここから各NFCデバイスに向けての機能を肉付けしていきたいと思います。
現段階ではコマンドを発行することができないので、コマンド発行まで実装したいと思います。
2012年10月5日金曜日
呼び出しが大変
新しいプロジェクト立ち上げの度に、毎回API呼び出し手順にしたがって呼び出すのも、なかなかめんどうです。またこのSDKでは各NFCデバイス(NFC-A,NFC-B,NFC-F)の検出までは共通化できますが、そこからのコマンド発行については個別に実装していかなければなりません。
ライブラリ化してより簡単にNFCデバイスにアクセスできるようにします。
SDK for NFC Wrapper Library
呼び出しが大変
新しいプロジェクト立ち上げの度に、毎回API呼び出し手順にしたがって呼び出すのも、なかなかめんどうです。またこのSDKでは各NFCデバイス(NFC-A,NFC-B,NFC-F)の検出までは共通化できますが、そこからのコマンド発行については個別に実装していかなければなりません。
ライブラリ化してより簡単にNFCデバイスにアクセスできるようにします。
2012年10月4日木曜日
NFC対応アプリケーションを作る
Windows7にPaSoRi(RC-S330)を接続してNFCタグをかざすと、そのIDを表示するアプリケーションを作成します。API呼び出し順序については前回のエントリを参照してください
NFC-IDを表示するWindowsアプリケーションを作る
NFC対応アプリケーションを作る
Windows7にPaSoRi(RC-S330)を接続してNFCタグをかざすと、そのIDを表示するアプリケーションを作成します。API呼び出し順序については前回のエントリを参照してください
2012年10月3日水曜日
SDK for NFCのライブラリのAPIを見る
SDK for NFCを使ったプログラムを作成するには、”felica_nfc_library.dll“というライブラリを使用します。ライブラリのAPIについて簡単にまとめます。
この内容はSDKに含まれるマニュアルに書かれていますので、詳しくはそちらを御覧ください。
APIアクセスの順序
簡単に図にまとめました。SDK for NFCのライブラリのAPIを見る
WindowsでのNFC開発環境を整える
WindowsでNFC開発するための環境を整えます。PC
Windows 7 SP1 .NET Framework 4.0開発にはC#を使用するため、.NET Frameworkが必要です。
NFC-R/W
PaSoRi RC-S330/SPaSoRi RC-S370
PaSoRi RC-S380
店頭では確定申告のコーナーにおいてあるかも…。
ネット通販で買うのがお勧めです。
ドライバ
Sony Japan | FeliCa | 個人のお客様 | ダウンロード | NFCポートソフトウェアhttp://www.sony.co.jp/Products/felica/consumer/download/felicaportsoftware.html
SDKに同梱されています。
SDK
Sony Japan | FeliCa | 法人のお客様 | 製品情報 | ICS-D010・D004・D002・D003http://www.sony.co.jp/Products/felica/business/products/ICS-D004_002_003.html
NFCのSDKは「SDK for NFC Starter Kit」と「SDK for NFC Lite」です。
個人利用や評価の場合のみ「SDK for NFC Starter Kit」が使用できます。
商用利用の場合、「SDK for NFC Lite」を購入しましょう。
IDE
Microsoft Visual Studio 2010http://www.microsoft.com/japan/visualstudio/products/2010-editions
C#で開発します。
カスタマー開発部 山下智樹
WindowsでのNFC開発環境を整える
WindowsでのNFC開発環境を整える
WindowsでNFC開発するための環境を整えます。PC
Windows 7 SP1 .NET Framework 4.0開発にはC#を使用するため、.NET Frameworkが必要です。
NFC-R/W
PaSoRi RC-S330/SPaSoRi RC-S370
PaSoRi RC-S380
店頭では確定申告のコーナーにおいてあるかも…。
ネット通販で買うのがお勧めです。
ドライバ
Sony Japan | FeliCa | 個人のお客様 | ダウンロード | NFCポートソフトウェアhttp://www.sony.co.jp/Products/felica/consumer/download/felicaportsoftware.html
SDKに同梱されています。
SDK
Sony Japan | FeliCa | 法人のお客様 | 製品情報 | ICS-D010・D004・D002・D003http://www.sony.co.jp/Products/felica/business/products/ICS-D004_002_003.html
NFCのSDKは「SDK for NFC Starter Kit」と「SDK for NFC Lite」です。
個人利用や評価の場合のみ「SDK for NFC Starter Kit」が使用できます。
商用利用の場合、「SDK for NFC Lite」を購入しましょう。
IDE
Microsoft Visual Studio 2010http://www.microsoft.com/japan/visualstudio/products/2010-editions
C#で開発します。
カスタマー開発部 山下智樹
2012年10月2日火曜日
前回に引き続きロボットを作っている住友です。
今回は筐体の設計とプロトタイプの作成までです。
FreeCAD
筐体の設計にはFreeCADというオープンソースの3Dモデラーを使用しました。
FreeCADでは立方体、球体、円柱、円錐などの基本的な形状を組み合わせて形を作ることができます。
Ubuntuを使っている人ならapt-getで直ぐに使うことができます。
住友はDebianを使っていて、新しいバージョン(0.13)が使いたかったのでビルドしました。
外観
外観は球体をベースに手足を生やしたものにしようと思います。
デフォルメしたロボットで2足歩行は難しそうなので手足を使って動けるようにしようと思います。
頭も振り向けるようにしたいです。
眼にもレンズを埋め込み、LEDでチカチカさせるつもりです。
フレーム
筐体に埋め込むフレームです。
サーボモータを手足の4つと頭の合計5つを埋め込むことを想定しています。
フレームの原型を作成
ボディまで一気に作ってみたいところですが、
とりあえず今回はフレームだけ作ってみようと思います。
3Dプリンタがあれば簡単に作れるのですが生憎持っていないので手作りです。
取り出したるは厚さ5mmのスチレンボート、これを切って貼ってして形状を作ります。
切り出せた部品をピンやスチロール用のボンドで繋げていき、形状ができあがりました。
出来上がったのはいいのですがスチレンボードは柔らかく、
このままではフレームには使えないのでシリコンで型を取ってレジンで整形します。
市販の型取り用ブロックにフレームを入れてシリコンを流しこめば型が作れます。
2ピースの型にしようと思うので粘土で片面を包み、ブロックに入れてシリコンを流し込みます。
一度固まったらひっくり返してもう片面の粘土を剥がし、再度ブロックに入れてシリコンを流し込みます。
これで2ピースの型が出来上がりました。
フレームのレジンキャスト
出来上がった型に剥離剤を塗ってウレタン樹脂を流し込めば
レジン製の頑丈なフレームの出来上がりです。
※:使用するレジンによっては有毒なガスが出ますので換気をしっかりしましょう。
3つ作ったのですが、1つは気泡が入ってしまい三叉の部分がボコボコになってしまいました。
出来上がったものにサーボモータを4つ乗せて、ついでにスチロール性の足をつけて見ました。
この段階で既に歩けるのか心配になったのですが気にせず続けていこうと思います。
というわけで筐体の設計からフレームのプロトタイプ制作まででした。
(ソフト屋さんのはずなのにソフトの話が一つもありませんでしたが、、、)
次はこのフレームに乗せるための制御用のボードの作成をしていく予定です。
文責:カスタマー開発部 住友孝郎
根性試しにロボットを作る~筐体設計編~
前回に引き続きロボットを作っている住友です。
今回は筐体の設計とプロトタイプの作成までです。
FreeCAD
筐体の設計にはFreeCADというオープンソースの3Dモデラーを使用しました。
FreeCADでは立方体、球体、円柱、円錐などの基本的な形状を組み合わせて形を作ることができます。
Ubuntuを使っている人ならapt-getで直ぐに使うことができます。
住友はDebianを使っていて、新しいバージョン(0.13)が使いたかったのでビルドしました。
外観
外観は球体をベースに手足を生やしたものにしようと思います。
デフォルメしたロボットで2足歩行は難しそうなので手足を使って動けるようにしようと思います。
頭も振り向けるようにしたいです。
眼にもレンズを埋め込み、LEDでチカチカさせるつもりです。
フレーム
筐体に埋め込むフレームです。
サーボモータを手足の4つと頭の合計5つを埋め込むことを想定しています。
フレームの原型を作成
ボディまで一気に作ってみたいところですが、
とりあえず今回はフレームだけ作ってみようと思います。
3Dプリンタがあれば簡単に作れるのですが生憎持っていないので手作りです。
取り出したるは厚さ5mmのスチレンボート、これを切って貼ってして形状を作ります。
切り出せた部品をピンやスチロール用のボンドで繋げていき、形状ができあがりました。
出来上がったのはいいのですがスチレンボードは柔らかく、
このままではフレームには使えないのでシリコンで型を取ってレジンで整形します。
市販の型取り用ブロックにフレームを入れてシリコンを流しこめば型が作れます。
2ピースの型にしようと思うので粘土で片面を包み、ブロックに入れてシリコンを流し込みます。
一度固まったらひっくり返してもう片面の粘土を剥がし、再度ブロックに入れてシリコンを流し込みます。
これで2ピースの型が出来上がりました。
フレームのレジンキャスト
出来上がった型に剥離剤を塗ってウレタン樹脂を流し込めば
レジン製の頑丈なフレームの出来上がりです。
※:使用するレジンによっては有毒なガスが出ますので換気をしっかりしましょう。
3つ作ったのですが、1つは気泡が入ってしまい三叉の部分がボコボコになってしまいました。
出来上がったものにサーボモータを4つ乗せて、ついでにスチロール性の足をつけて見ました。
この段階で既に歩けるのか心配になったのですが気にせず続けていこうと思います。
というわけで筐体の設計からフレームのプロトタイプ制作まででした。
(ソフト屋さんのはずなのにソフトの話が一つもありませんでしたが、、、)
次はこのフレームに乗せるための制御用のボードの作成をしていく予定です。
文責:カスタマー開発部 住友孝郎
2012年9月25日火曜日
AndroidでRTD URIを書く
RTD URIを書く
AndroidでRTD URIを書き込みますNdefMessageの作成
- TNF
- TYPE
- ID
- PAYLOAD
NDEFを書き込む
NDEFの書き込みに関しては以前書きましたので、そちらをご参照ください。ソースコード
AndroidでRTD URIを書く
AndroidでRTD URIを書く
RTD URIを書く
AndroidでRTD URIを書き込みますNdefMessageの作成
- TNF
- TYPE
- ID
- PAYLOAD
NDEFを書き込む
NDEFの書き込みに関しては以前書きましたので、そちらをご参照ください。ソースコード
2012年9月21日金曜日
ものを作るのが好きで、Androidを使ったロボットアームなど、
ADKを使用したロボットを勉強会やイベントの展示に持って行っている住友です。
私自身、ソフトウェア開発を生業にしているのですが、
フィジカルコンピューティングという言葉が浸透しつつある昨今ですので
一からロボットを作って見ることにしました。
今回は構想と材料の準備と紹介です。
根性試しにロボットを作る~準備編~
ものを作るのが好きで、Androidを使ったロボットアームなど、
ADKを使用したロボットを勉強会やイベントの展示に持って行っている住友です。
私自身、ソフトウェア開発を生業にしているのですが、
フィジカルコンピューティングという言葉が浸透しつつある昨今ですので
一からロボットを作って見ることにしました。
今回は構想と材料の準備と紹介です。
2012年9月20日木曜日
RTD URIを読む
AndroidでRTD Textを読み取ります。AndroidではNdefMessageとNdefRecordのクラスが用意されています。
NdefRecordはヘッダまでしかパースされないので
PAYLOADを自分でパースする必要があります。
Ndef Recordを取得する
Ndef Recordの取得までは前回解説したので、省略します。RTD URIを判定する
RTD Uriをパースする
PAYLOADを、RTD URIの仕様に従いパースしていきます。例ではURIを作成した後にブラウザを起動します。
実行イメージ
AndroidでRTD URIを読む
RTD URIを読む
AndroidでRTD Textを読み取ります。AndroidではNdefMessageとNdefRecordのクラスが用意されています。
NdefRecordはヘッダまでしかパースされないので
PAYLOADを自分でパースする必要があります。
Ndef Recordを取得する
Ndef Recordの取得までは前回解説したので、省略します。RTD URIを判定する
RTD Uriをパースする
PAYLOADを、RTD URIの仕様に従いパースしていきます。例ではURIを作成した後にブラウザを起動します。
実行イメージ
2012年9月19日水曜日
RTD URIとは
Record Type DefinitionのURIフォーマットのことを指します。仕様書はこちらにあります
NFC Forum : Technical Specifications
http://www.nfc-forum.org/specs/spec_list/#rtds
URIフォーマットの構造
- Uri Identifier Code
- 1Byte
- 接頭辞のコードを表します。
以下が代表的なコードです - 0x01 -> http://www.
- 0x02 -> https://www.
- 0x03 -> http://
- 0x04 -> https://
- 0x06 -> mailto://
- 0x0D -> ftp://
- 0x1D -> file://
- 詳しくは仕様書を御覧ください。
- Uri FIeld
- Uri Identifier Codeで省略した文字を除くURIを格納します。
- UTF-8でエンコード/デコードします。
URIを格納したNDEFの例
"http://bs-nfc.blogspot.jp"を表したNDEFは以下のようになります。D1 01 13 55
03 62 73 2D
6E 66 63 2E
62 6C 6F 67
73 70 6F 74
2E 6A 70
- FLAGS
- MB 0x01
- ME 0x01
- CF 0x00
- SR 0x01
- IL 0x00
- TNF 0x01 (Well Known Type)
- TYPE LENGTH 0x01
- PAYLOAD LENGTH 0x13
- TYPE 0x55 -> 'U'
- PAYLOAD
- Uri Identifier Code 0x03 -> "http://"
- Uri Field 0x62 0x73 0x2D 0x6E 0x66 0x63 0x2E 0x62 0x6C 0x6F 0x67 0x73 0x70 0x6F 0x74 0x2E 0x6A 0x70
-> "bs-nfc.blogspot.jp"
RTD URIとは
RTD URIとは
Record Type DefinitionのURIフォーマットのことを指します。仕様書はこちらにあります
NFC Forum : Technical Specifications
http://www.nfc-forum.org/specs/spec_list/#rtds
URIフォーマットの構造
- Uri Identifier Code
- 1Byte
- 接頭辞のコードを表します。
以下が代表的なコードです - 0x01 -> http://www.
- 0x02 -> https://www.
- 0x03 -> http://
- 0x04 -> https://
- 0x06 -> mailto://
- 0x0D -> ftp://
- 0x1D -> file://
- 詳しくは仕様書を御覧ください。
- Uri FIeld
- Uri Identifier Codeで省略した文字を除くURIを格納します。
- UTF-8でエンコード/デコードします。
URIを格納したNDEFの例
"http://bs-nfc.blogspot.jp"を表したNDEFは以下のようになります。D1 01 13 55
03 62 73 2D
6E 66 63 2E
62 6C 6F 67
73 70 6F 74
2E 6A 70
- FLAGS
- MB 0x01
- ME 0x01
- CF 0x00
- SR 0x01
- IL 0x00
- TNF 0x01 (Well Known Type)
- TYPE LENGTH 0x01
- PAYLOAD LENGTH 0x13
- TYPE 0x55 -> 'U'
- PAYLOAD
- Uri Identifier Code 0x03 -> "http://"
- Uri Field 0x62 0x73 0x2D 0x6E 0x66 0x63 0x2E 0x62 0x6C 0x6F 0x67 0x73 0x70 0x6F 0x74 0x2E 0x6A 0x70
-> "bs-nfc.blogspot.jp"
2012年9月11日火曜日
HTML5 Conference 2012に行ってきました。
2012年8月31日金曜日
SNEP通信してみた
用意するもの
| Windows8 |
| Android 4.0 |
カードを読み取る
カードをRC-S380にかざします。
ブラウザに表示することができました。
これはRC-S330/Sでも可能でしたね。
SNEP通信をする
| 弊社のホームページ見てます。 |
AndroidをRC-S380にかざします。
タップしてビームを送信するとWindows8に
カードの時同様、通知が表示されます。
| さっきとは違うアングルから |
こちらも通知をクリックすることでブラウザが表示されます。
| 大きい画面で見れた! |
無事SNEPでも通信することができました。
まとめ
今回SNEP通信をしましたが、ドライバのインストールをしただけで、プログラムは一切書かずに実現することができました。今後パソコンにもNFCが搭載されていきます。今回はその片鱗が少し見えたような気がしました。利用シーンで考えると、帰宅時に見ていたホームページを、家に帰ってきてから大きい画面で見たいなと思った時に便利なのではないでしょうか。
Windows8用ドライバは評価用にお借りしたものなので一般公開はされていませんが
今後Windows8のリリース後に公開されるのではないでしょうか。
さらに今後のアップデートに期待です。
カスタマー開発部 山下智樹
Windows8とAndroidでSNEP通信してみた
SNEP通信してみた
用意するもの
| Windows8 |
| Android 4.0 |
カードを読み取る
カードをRC-S380にかざします。
ブラウザに表示することができました。
これはRC-S330/Sでも可能でしたね。
SNEP通信をする
| 弊社のホームページ見てます。 |
AndroidをRC-S380にかざします。
タップしてビームを送信するとWindows8に
カードの時同様、通知が表示されます。
| さっきとは違うアングルから |
こちらも通知をクリックすることでブラウザが表示されます。
| 大きい画面で見れた! |
無事SNEPでも通信することができました。
まとめ
今回SNEP通信をしましたが、ドライバのインストールをしただけで、プログラムは一切書かずに実現することができました。今後パソコンにもNFCが搭載されていきます。今回はその片鱗が少し見えたような気がしました。利用シーンで考えると、帰宅時に見ていたホームページを、家に帰ってきてから大きい画面で見たいなと思った時に便利なのではないでしょうか。
Windows8用ドライバは評価用にお借りしたものなので一般公開はされていませんが
今後Windows8のリリース後に公開されるのではないでしょうか。
さらに今後のアップデートに期待です。
カスタマー開発部 山下智樹
2012年映像情報メディア学会の2日目となりました。学会自体は明日8/31(金)までありますが、本日大阪に帰らなければいけなかったので、私にとっては最終日となりました。3日目のキネクトやARなどのデモが本当は出席したかったので、実に残念です。
さて、本日は朝の9:00から夕方の17:30までいろいろな講演・研究発表を回ってきました。簡単に見てきたことを書きます。今日はもう遅いので詳しくはまたの機会に。。。
映像情報メディア学会 2日目
2012年映像情報メディア学会の2日目となりました。学会自体は明日8/31(金)までありますが、本日大阪に帰らなければいけなかったので、私にとっては最終日となりました。3日目のキネクトやARなどのデモが本当は出席したかったので、実に残念です。
さて、本日は朝の9:00から夕方の17:30までいろいろな講演・研究発表を回ってきました。簡単に見てきたことを書きます。今日はもう遅いので詳しくはまたの機会に。。。
2012年8月30日木曜日
映像情報メディア学会 アンドロイド講習会
2012年8月21日火曜日
街コンって?
みなさんは街コンというイベントをご存知でしょうか
街コンとは、地域振興を目的とした大規模な合コンイベントです。
参加者は少ない場合でも100名、多い時は1000名を超えます。
街コンは地域の商店街で開催されることが多く、地域活性化の側面をもっていますが
合コンなので、参加者が出会いを求められるという側面ももっています。
座席指定で男女が必ずテーブルを囲むように案内されることや
気になる異性に声をかけやすくする仕組みがある場合があります。
街コン - Wikipedia
http://ja.wikipedia.org/wiki/%E8%A1%97%E3%82%B3%E3%83%B3
濱コンって?
[こののぼりが目印!]
横浜最大の街コンイベントです。
横浜市関内を中心に、横浜市のさまざまな場所で開催されています。
完全事前受付制となっており
受付でリストバンドを受け取った後、街コン参加店舗で
食べ放題、飲み放題となります。
濱コンオフィシャルサイト | 濱コン
http://www.hamacon.jp/
濱コン@横濱 | Facebook
http://www.facebook.com/hamacon.jp
NFCがやってきた!
今回濱コン事務局さんと協力して、街コンにNFCを組込みました。
全国初!NFCを街コンに実戦投入しましたので、そちらのレポートを書きます。
プレスリリースはこちら
街コン支援システム「NFCで街コンつく~る」を提供開始
http://www.brilliantservice.co.jp/press/pdf/nfc-machikon.pdf
濱コン行ってきたよ!
今回参加したイベントは20代限定のイベントでした。
通常は年齢制限のない濱コンですが、今回は20代のみの参加者となります。
濱コンUnder30~【20代限定】横浜へ集え!素敵な出会いをGet!(街コン) | 横濱史上最大規模の地域活性化イベント・濱コン
http://www.hamacon.jp/satellite_120817/index.html
受付
受付では事前に登録した情報と、リストバンドをひもづけるために
パソコンとPaSoRiを使ってヒモ付作業をします。
リストバンドを装着
参加者にはひもづけられたリストバンドを装着してもらい
街コンに参加してもらいます。
今回使ったリストバンド
今回使用したリストバンドがこちらです。
裏にシール型のNFCタグが貼られています。
NFCタグにはFeliCa Liteを使用しております。
今回もSonyさんにご協力いただきました!ありがとうございます!
店頭でリストバンドを読み取り!
参加者は店舗入退店時に、スタッフのもつスマホにリストバンドをかざしてもらうことで
入店状況を記録します。
ここは仕組み上不安なところでした。
リストバンドをタッチするということが馴染みないので
実施にやってみたら、みんな面倒がってタッチしてくれないんじゃないかな…と考えていました。
しかし実際にやってみると、慣れないのは最初だけで
慣れてくると積極的にタッチしていただけていたので、無駄な不安だったみたいです(笑)
混雑状況が分かる!
サーバに蓄積されたデータから、参加者に直接混雑状況を配信します。
楽しい街コン!
店内ではみなさん楽しそうに過ごしていました。
ぱっと見は普通の居酒屋さんっぽいですが
リストバンドをつけていることで、「あ、この人も同じイベントに参加しているんだ」という一体感とか安心感がありますね(笑)
個人的な感想など
私自身街コンを目にすることが初めてだったのですが
さまざまな人が参加し、非常に活気のあるイベントでした。(私も参加したかった!!)
街コンの中でも、特に濱コンは大人気です。応募総数を明かすことはできないのですが
多くの参加希望者が集まったそうです。
ちなみに次回開催は9月8日に1000人規模で開催されますので、参加されてはいかがでしょうか。
受付もまもなく開始と聞いていますので、濱コンホームページをこまめにチェックしてみてください!
もちろんそちらでもNFCが使われますよ!
今回、参加人数は男女200名とあまり大きいものではありませんでしたが
貴重なデータが得られましたので、今後に活かしてもっとよいシステムに改良していきたいと思います!
文責:カスタマー開発部 品川開発課 山下 智樹
NFCが濱コンにやってきた!
街コンって?
みなさんは街コンというイベントをご存知でしょうか
街コンとは、地域振興を目的とした大規模な合コンイベントです。
参加者は少ない場合でも100名、多い時は1000名を超えます。
街コンは地域の商店街で開催されることが多く、地域活性化の側面をもっていますが
合コンなので、参加者が出会いを求められるという側面ももっています。
座席指定で男女が必ずテーブルを囲むように案内されることや
気になる異性に声をかけやすくする仕組みがある場合があります。
街コン - Wikipedia
http://ja.wikipedia.org/wiki/%E8%A1%97%E3%82%B3%E3%83%B3
濱コンって?
[こののぼりが目印!]
横浜最大の街コンイベントです。
横浜市関内を中心に、横浜市のさまざまな場所で開催されています。
完全事前受付制となっており
受付でリストバンドを受け取った後、街コン参加店舗で
食べ放題、飲み放題となります。
濱コンオフィシャルサイト | 濱コン
http://www.hamacon.jp/
濱コン@横濱 | Facebook
http://www.facebook.com/hamacon.jp
NFCがやってきた!
今回濱コン事務局さんと協力して、街コンにNFCを組込みました。
全国初!NFCを街コンに実戦投入しましたので、そちらのレポートを書きます。
プレスリリースはこちら
街コン支援システム「NFCで街コンつく~る」を提供開始
http://www.brilliantservice.co.jp/press/pdf/nfc-machikon.pdf
濱コン行ってきたよ!
今回参加したイベントは20代限定のイベントでした。
通常は年齢制限のない濱コンですが、今回は20代のみの参加者となります。
濱コンUnder30~【20代限定】横浜へ集え!素敵な出会いをGet!(街コン) | 横濱史上最大規模の地域活性化イベント・濱コン
http://www.hamacon.jp/satellite_120817/index.html
受付
受付では事前に登録した情報と、リストバンドをひもづけるために
パソコンとPaSoRiを使ってヒモ付作業をします。
リストバンドを装着
参加者にはひもづけられたリストバンドを装着してもらい
街コンに参加してもらいます。
今回使ったリストバンド
今回使用したリストバンドがこちらです。
裏にシール型のNFCタグが貼られています。
NFCタグにはFeliCa Liteを使用しております。
今回もSonyさんにご協力いただきました!ありがとうございます!
店頭でリストバンドを読み取り!
参加者は店舗入退店時に、スタッフのもつスマホにリストバンドをかざしてもらうことで
入店状況を記録します。
ここは仕組み上不安なところでした。
リストバンドをタッチするということが馴染みないので
実施にやってみたら、みんな面倒がってタッチしてくれないんじゃないかな…と考えていました。
しかし実際にやってみると、慣れないのは最初だけで
慣れてくると積極的にタッチしていただけていたので、無駄な不安だったみたいです(笑)
混雑状況が分かる!
サーバに蓄積されたデータから、参加者に直接混雑状況を配信します。
楽しい街コン!
店内ではみなさん楽しそうに過ごしていました。
ぱっと見は普通の居酒屋さんっぽいですが
リストバンドをつけていることで、「あ、この人も同じイベントに参加しているんだ」という一体感とか安心感がありますね(笑)
個人的な感想など
私自身街コンを目にすることが初めてだったのですが
さまざまな人が参加し、非常に活気のあるイベントでした。(私も参加したかった!!)
街コンの中でも、特に濱コンは大人気です。応募総数を明かすことはできないのですが
多くの参加希望者が集まったそうです。
ちなみに次回開催は9月8日に1000人規模で開催されますので、参加されてはいかがでしょうか。
受付もまもなく開始と聞いていますので、濱コンホームページをこまめにチェックしてみてください!
もちろんそちらでもNFCが使われますよ!
今回、参加人数は男女200名とあまり大きいものではありませんでしたが
貴重なデータが得られましたので、今後に活かしてもっとよいシステムに改良していきたいと思います!
文責:カスタマー開発部 品川開発課 山下 智樹
2012年8月8日水曜日
RTD Textを書く
AndroidでRTD Textを書き込みます。反応するタグの種類の限定
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this,
getClass()), 0);
IntentFilter[] intentFilter = new IntentFilter[] {
new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED),
};
String[][] techList = new String[][] {
{
android.nfc.tech.NdefFormatable.class.getName()
}, {
android.nfc.tech.Ndef.class.getName()
}
};
mNfcAdapter.enableForegroundDispatch(this, pendingIntent, intentFilter, techList);
NdefMessageの作成
- TNF
- TYPE
- ID
- PAYLOAD
TYPEはTextRecord#RTD_TEXT を使用します。
IDは今回使用しないので空の配列を渡します。
PAYLOADは自作する必要があります。
NDEFを書き込む
タグの判定
どのタグなのか判定した上で、処理を別にする必要があります。
Ndefの書き込み
Ndefの場合、書き込み禁止やサイズを見ることができるので判定した上で書き込みます。
NdefFormatableの書き込み
ソースコード
カスタマー開発部 山下智樹
AndroidでRTD Textを書く
RTD Textを書く
AndroidでRTD Textを書き込みます。反応するタグの種類の限定
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this,
getClass()), 0);
IntentFilter[] intentFilter = new IntentFilter[] {
new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED),
};
String[][] techList = new String[][] {
{
android.nfc.tech.NdefFormatable.class.getName()
}, {
android.nfc.tech.Ndef.class.getName()
}
};
mNfcAdapter.enableForegroundDispatch(this, pendingIntent, intentFilter, techList);
NdefMessageの作成
- TNF
- TYPE
- ID
- PAYLOAD
TYPEはTextRecord#RTD_TEXT を使用します。
IDは今回使用しないので空の配列を渡します。
PAYLOADは自作する必要があります。
NDEFを書き込む
タグの判定
どのタグなのか判定した上で、処理を別にする必要があります。
Ndefの書き込み
Ndefの場合、書き込み禁止やサイズを見ることができるので判定した上で書き込みます。
NdefFormatableの書き込み
ソースコード
カスタマー開発部 山下智樹
2012年8月7日火曜日
SNEPとは
原文
和訳
SNEP(Simple NDEF Exchange Protocol)の仕様書を和訳しました。
SNEPとは
原文
和訳
2012年8月3日金曜日
RTD Textを読む
AndroidでRTD Textを読み取ります。AndroidではNdefMessageとNdefRecordのクラスが用意されています。
NdefRecordはヘッダまでしかパースされないので
PAYLOADを自分でパースする必要があります。
NDEF Messageを取得する
NdefMessageはActivity#onNewIntent(:Intent):void のIntentのExtraにNfcAdapter.EXTRA_NDEF_MESSAGESという名前で格納されています。
形式はParcelable[]なので一時的にParcelable[]で保持しておき
その中のNdefMessageを取り出します。
Ndef Recordを取得する
NdefRecordはNdefMessage#getRecords():NdefRecord[] で取得します。RTD Textの判定をする
Textの判定はTNFがWELL_KNOWNになっていることと、TYPEが'T'になっていることを確認します。NdefRecordからTNFを取得するにはNdefRecord#getTnf():shortを使います。
また、各TNFはNdefRecordに定義されているのでその定数を使います。
NdefRecordからTYPEを取得するにはNdefRecord#getType():byte[]を使います。
また、RTDのTYPEはNdefRecordに定義されているのでその定数を使います。
RTD Textをパースする
NdefRecordからPAYLOADを取得するにはNdefRecord#getPayload():byte[]を使用します。PAYLOADが取得できたので、RTD Textの仕様に従いパースしていきます。
RTD Textの仕様についてはこちらを御覧ください。
ブリリアントサービス NFC技術ブログ: RTD Textとは
例では文字列(言語コード)という内容で返しています。
実行イメージ
ソースコード
https://github.com/bs-nfc/ReadRTDTextカスタマー開発部 山下智樹
AndroidでRTD Textを読む
RTD Textを読む
AndroidでRTD Textを読み取ります。AndroidではNdefMessageとNdefRecordのクラスが用意されています。
NdefRecordはヘッダまでしかパースされないので
PAYLOADを自分でパースする必要があります。
NDEF Messageを取得する
NdefMessageはActivity#onNewIntent(:Intent):void のIntentのExtraにNfcAdapter.EXTRA_NDEF_MESSAGESという名前で格納されています。
形式はParcelable[]なので一時的にParcelable[]で保持しておき
その中のNdefMessageを取り出します。
Ndef Recordを取得する
NdefRecordはNdefMessage#getRecords():NdefRecord[] で取得します。RTD Textの判定をする
Textの判定はTNFがWELL_KNOWNになっていることと、TYPEが'T'になっていることを確認します。NdefRecordからTNFを取得するにはNdefRecord#getTnf():shortを使います。
また、各TNFはNdefRecordに定義されているのでその定数を使います。
NdefRecordからTYPEを取得するにはNdefRecord#getType():byte[]を使います。
また、RTDのTYPEはNdefRecordに定義されているのでその定数を使います。
RTD Textをパースする
NdefRecordからPAYLOADを取得するにはNdefRecord#getPayload():byte[]を使用します。PAYLOADが取得できたので、RTD Textの仕様に従いパースしていきます。
RTD Textの仕様についてはこちらを御覧ください。
ブリリアントサービス NFC技術ブログ: RTD Textとは
例では文字列(言語コード)という内容で返しています。
実行イメージ
ソースコード
https://github.com/bs-nfc/ReadRTDTextカスタマー開発部 山下智樹
2012年8月2日木曜日
NDEFとは
NFC Data Exchange Formatと呼ばれるもので、NFCでデータのやり取りをする際に使われるデータ・フォーマットです。
仕様書はこちらにあります
NFC Forum : Technical Specifications
http://www.nfc-forum.org/specs/spec_list/#ndefts
この内容についてNFC Labにて発表をしました。
資料はこちらです。
http://www.slideshare.net/tomorrowkey/ndef-13784268
Ndefの構成
NDEFには一つのNdef Messageが含まれます。
またNdef Messageには0個以上のNdef Recordが含まれます。
Ndef Recordの構成
Ndef Recordは大きくヘッダとペイロードの2つに分けることができます。
- ヘッダ
- MB(Message Begin)
- 1bit
- このフラグが1になっていると、最初のNdef Recordであることを表します。
- ME(Message End)
- 1bit
- このフラグが1になっていると、最後のNdefRecordであることを表します。
- CR(Chunked Flag)
- 1bit
- このフラグが1になっていると、分割されたNdef Messageであることを表します。
- SR(Short Record)
- 1bit
- このフラグが1になっていると、Ndef Message全体が255Byte以下であることを表します。
- またその場合、Payload Lengthが1Byteになります。(データサイズの節約になります)
- IL(ID Length)
- 1bit
- このフラグが1になっていると、IDが格納されていることを表します。
- TNF(Type Name Format)
- 3bit
- TYPEの種類を表します。
- 0x00 Empty
- 0x01 NFC Forum well-known-type
- 0x02 Media-type as define in RFC2046
- 0x03 Absolute URI as define in RFC 3986
- 0x04 NFC Forum external type
- 0x05 Unknown
- 0x06 Unchanged
- 0x07 Reserved
- ここの内容によってTYPE の解釈が変わります。
- TYPE LENGTH
- 1Byte
- TYPEフィールドの長さを表します。
- 符号なし整数
- PAYLOAD LENGTH
- 1Byte or 4Byte
- PAYLOADの長さを表します。
- ビッグエンディアン、符号なし整数
- SRが1だった場合、1Byteになります。
- ID LENGTH
- 1Byte
- IDの長さを指定します。
- 符号なし整数
- TYPE
- TYPE LENGTHによって長さが変わります。
- TNFの値によって内容の解釈が変わります。
- 例えば0x01 NFC Forum well-known-type だった場合
- 'T' -> Text
- 'U' -> URI
- 'Sp' -> Smart Poster
- ID
- ILによって存在しない場合があります。
- ID LENGTHによって長さが変わります。
- Ndef RecordのIDを設定することができます。
- MB(Message Begin)
- ペイロード
- データ本体
- TYPEとTNFによってフォーマットが異なります。
- well-known-typeについては別エントリにて解説します。
カスタマー開発部 山下智樹
NDEFとは
NDEFとは
NFC Data Exchange Formatと呼ばれるもので、NFCでデータのやり取りをする際に使われるデータ・フォーマットです。
仕様書はこちらにあります
NFC Forum : Technical Specifications
http://www.nfc-forum.org/specs/spec_list/#ndefts
この内容についてNFC Labにて発表をしました。
資料はこちらです。
http://www.slideshare.net/tomorrowkey/ndef-13784268
Ndefの構成
NDEFには一つのNdef Messageが含まれます。
またNdef Messageには0個以上のNdef Recordが含まれます。
Ndef Recordの構成
Ndef Recordは大きくヘッダとペイロードの2つに分けることができます。
- ヘッダ
- MB(Message Begin)
- 1bit
- このフラグが1になっていると、最初のNdef Recordであることを表します。
- ME(Message End)
- 1bit
- このフラグが1になっていると、最後のNdefRecordであることを表します。
- CR(Chunked Flag)
- 1bit
- このフラグが1になっていると、分割されたNdef Messageであることを表します。
- SR(Short Record)
- 1bit
- このフラグが1になっていると、Ndef Message全体が255Byte以下であることを表します。
- またその場合、Payload Lengthが1Byteになります。(データサイズの節約になります)
- IL(ID Length)
- 1bit
- このフラグが1になっていると、IDが格納されていることを表します。
- TNF(Type Name Format)
- 3bit
- TYPEの種類を表します。
- 0x00 Empty
- 0x01 NFC Forum well-known-type
- 0x02 Media-type as define in RFC2046
- 0x03 Absolute URI as define in RFC 3986
- 0x04 NFC Forum external type
- 0x05 Unknown
- 0x06 Unchanged
- 0x07 Reserved
- ここの内容によってTYPE の解釈が変わります。
- TYPE LENGTH
- 1Byte
- TYPEフィールドの長さを表します。
- 符号なし整数
- PAYLOAD LENGTH
- 1Byte or 4Byte
- PAYLOADの長さを表します。
- ビッグエンディアン、符号なし整数
- SRが1だった場合、1Byteになります。
- ID LENGTH
- 1Byte
- IDの長さを指定します。
- 符号なし整数
- TYPE
- TYPE LENGTHによって長さが変わります。
- TNFの値によって内容の解釈が変わります。
- 例えば0x01 NFC Forum well-known-type だった場合
- 'T' -> Text
- 'U' -> URI
- 'Sp' -> Smart Poster
- ID
- ILによって存在しない場合があります。
- ID LENGTHによって長さが変わります。
- Ndef RecordのIDを設定することができます。
- MB(Message Begin)
- ペイロード
- データ本体
- TYPEとTNFによってフォーマットが異なります。
- well-known-typeについては別エントリにて解説します。
カスタマー開発部 山下智樹


























