SDK for NFCのライブラリのAPIを見る
SDK for NFCを使ったプログラムを作成するには、”felica_nfc_library.dll“というライブラリを使用します。ライブラリのAPIについて簡単にまとめます。
この内容はSDKに含まれるマニュアルに書かれていますので、詳しくはそちらを御覧ください。
前回に引き続きロボットを作っている住友です。
今回は筐体の設計とプロトタイプの作成までです。
筐体の設計にはFreeCADというオープンソースの3Dモデラーを使用しました。
FreeCADでは立方体、球体、円柱、円錐などの基本的な形状を組み合わせて形を作ることができます。
Ubuntuを使っている人ならapt-getで直ぐに使うことができます。
住友はDebianを使っていて、新しいバージョン(0.13)が使いたかったのでビルドしました。
外観は球体をベースに手足を生やしたものにしようと思います。
デフォルメしたロボットで2足歩行は難しそうなので手足を使って動けるようにしようと思います。
頭も振り向けるようにしたいです。
眼にもレンズを埋め込み、LEDでチカチカさせるつもりです。
筐体に埋め込むフレームです。
サーボモータを手足の4つと頭の合計5つを埋め込むことを想定しています。
ボディまで一気に作ってみたいところですが、
とりあえず今回はフレームだけ作ってみようと思います。
3Dプリンタがあれば簡単に作れるのですが生憎持っていないので手作りです。
取り出したるは厚さ5mmのスチレンボート、これを切って貼ってして形状を作ります。
切り出せた部品をピンやスチロール用のボンドで繋げていき、形状ができあがりました。
出来上がったのはいいのですがスチレンボードは柔らかく、
このままではフレームには使えないのでシリコンで型を取ってレジンで整形します。
市販の型取り用ブロックにフレームを入れてシリコンを流しこめば型が作れます。
2ピースの型にしようと思うので粘土で片面を包み、ブロックに入れてシリコンを流し込みます。
一度固まったらひっくり返してもう片面の粘土を剥がし、再度ブロックに入れてシリコンを流し込みます。
これで2ピースの型が出来上がりました。
出来上がった型に剥離剤を塗ってウレタン樹脂を流し込めば
レジン製の頑丈なフレームの出来上がりです。
※:使用するレジンによっては有毒なガスが出ますので換気をしっかりしましょう。
3つ作ったのですが、1つは気泡が入ってしまい三叉の部分がボコボコになってしまいました。
出来上がったものにサーボモータを4つ乗せて、ついでにスチロール性の足をつけて見ました。
この段階で既に歩けるのか心配になったのですが気にせず続けていこうと思います。
というわけで筐体の設計からフレームのプロトタイプ制作まででした。
(ソフト屋さんのはずなのにソフトの話が一つもありませんでしたが、、、)
次はこのフレームに乗せるための制御用のボードの作成をしていく予定です。
文責:カスタマー開発部 住友孝郎
前回に引き続きロボットを作っている住友です。
今回は筐体の設計とプロトタイプの作成までです。
筐体の設計にはFreeCADというオープンソースの3Dモデラーを使用しました。
FreeCADでは立方体、球体、円柱、円錐などの基本的な形状を組み合わせて形を作ることができます。
Ubuntuを使っている人ならapt-getで直ぐに使うことができます。
住友はDebianを使っていて、新しいバージョン(0.13)が使いたかったのでビルドしました。
外観は球体をベースに手足を生やしたものにしようと思います。
デフォルメしたロボットで2足歩行は難しそうなので手足を使って動けるようにしようと思います。
頭も振り向けるようにしたいです。
眼にもレンズを埋め込み、LEDでチカチカさせるつもりです。
筐体に埋め込むフレームです。
サーボモータを手足の4つと頭の合計5つを埋め込むことを想定しています。
ボディまで一気に作ってみたいところですが、
とりあえず今回はフレームだけ作ってみようと思います。
3Dプリンタがあれば簡単に作れるのですが生憎持っていないので手作りです。
取り出したるは厚さ5mmのスチレンボート、これを切って貼ってして形状を作ります。
切り出せた部品をピンやスチロール用のボンドで繋げていき、形状ができあがりました。
出来上がったのはいいのですがスチレンボードは柔らかく、
このままではフレームには使えないのでシリコンで型を取ってレジンで整形します。
市販の型取り用ブロックにフレームを入れてシリコンを流しこめば型が作れます。
2ピースの型にしようと思うので粘土で片面を包み、ブロックに入れてシリコンを流し込みます。
一度固まったらひっくり返してもう片面の粘土を剥がし、再度ブロックに入れてシリコンを流し込みます。
これで2ピースの型が出来上がりました。
出来上がった型に剥離剤を塗ってウレタン樹脂を流し込めば
レジン製の頑丈なフレームの出来上がりです。
※:使用するレジンによっては有毒なガスが出ますので換気をしっかりしましょう。
3つ作ったのですが、1つは気泡が入ってしまい三叉の部分がボコボコになってしまいました。
出来上がったものにサーボモータを4つ乗せて、ついでにスチロール性の足をつけて見ました。
この段階で既に歩けるのか心配になったのですが気にせず続けていこうと思います。
というわけで筐体の設計からフレームのプロトタイプ制作まででした。
(ソフト屋さんのはずなのにソフトの話が一つもありませんでしたが、、、)
次はこのフレームに乗せるための制御用のボードの作成をしていく予定です。
文責:カスタマー開発部 住友孝郎
| Windows8 |
| Android 4.0 |
| 弊社のホームページ見てます。 |
| さっきとは違うアングルから |
| 大きい画面で見れた! |
| Windows8 |
| Android 4.0 |
| 弊社のホームページ見てます。 |
| さっきとは違うアングルから |
| 大きい画面で見れた! |
みなさんは街コンというイベントをご存知でしょうか
街コンとは、地域振興を目的とした大規模な合コンイベントです。
参加者は少ない場合でも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で街コンつく~る」を提供開始
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名とあまり大きいものではありませんでしたが
貴重なデータが得られましたので、今後に活かしてもっとよいシステムに改良していきたいと思います!
文責:カスタマー開発部 品川開発課 山下 智樹
みなさんは街コンというイベントをご存知でしょうか
街コンとは、地域振興を目的とした大規模な合コンイベントです。
参加者は少ない場合でも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で街コンつく~る」を提供開始
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名とあまり大きいものではありませんでしたが
貴重なデータが得られましたので、今後に活かしてもっとよいシステムに改良していきたいと思います!
文責:カスタマー開発部 品川開発課 山下 智樹
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);
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);
NFC Data Exchange Formatと呼ばれるもので、NFCでデータのやり取りをする際に使われるデータ・フォーマットです。
仕様書はこちらにあります
NFC Forum : Technical Specifications
http://www.nfc-forum.org/specs/spec_list/#ndefts
NDEFには一つのNdef Messageが含まれます。
またNdef Messageには0個以上のNdef Recordが含まれます。
Ndef Recordは大きくヘッダとペイロードの2つに分けることができます。
カスタマー開発部 山下智樹
NFC Data Exchange Formatと呼ばれるもので、NFCでデータのやり取りをする際に使われるデータ・フォーマットです。
仕様書はこちらにあります
NFC Forum : Technical Specifications
http://www.nfc-forum.org/specs/spec_list/#ndefts
NDEFには一つのNdef Messageが含まれます。
またNdef Messageには0個以上のNdef Recordが含まれます。
Ndef Recordは大きくヘッダとペイロードの2つに分けることができます。
カスタマー開発部 山下智樹
Record Type DefinitionのTextフォーマットのことを指します。
仕様書はこちらにあります。
NFC Forum : Technical Specifications
http://www.nfc-forum.org/specs/spec_list/#rtds
"Hello, World." を表したNDEFは以下のようになります。
D1 01 10 54
02 65 6E 48
65 6C 6C 6F
2C 20 57 6F
72 6C 64 2E
カスタマー開発部 山下智樹
Record Type DefinitionのTextフォーマットのことを指します。
仕様書はこちらにあります。
NFC Forum : Technical Specifications
http://www.nfc-forum.org/specs/spec_list/#rtds
"Hello, World." を表したNDEFは以下のようになります。
D1 01 10 54
02 65 6E 48
65 6C 6C 6F
2C 20 57 6F
72 6C 64 2E
カスタマー開発部 山下智樹
Record Type Definitionの略称で、NDEFのTNFにWell Known Typeが指定された際に、使用できるTYPEです。
仕様書はこちらにあります。
NFC Forum : Technical Specifications
http://www.nfc-forum.org/specs/spec_list/#rtds
カスタマー開発部 山下智樹
Record Type Definitionの略称で、NDEFのTNFにWell Known Typeが指定された際に、使用できるTYPEです。
仕様書はこちらにあります。
NFC Forum : Technical Specifications
http://www.nfc-forum.org/specs/spec_list/#rtds
カスタマー開発部 山下智樹
AndroidManifest.xml
1. NFCのIntentFilterを定義する
タグの種類によって制限をかけたいので、TECH_DISCOVEREDというアクションを設定します。
2. 制限するタグの定義ファイルを設定する
タグを制限するにはxmlファイルを定義する必要があります。
/res/xml/nfc_tech_filter.xml
1. 制限するタグを定義する
NfcFのみ反応したい場合、以下のように定義します。
NfcFかつNdefが定義されている場合のみ反応したい場合、以下のように定義します。
NfcFとNfcA両方に反応したい場合、以下のように定義します。
HomeActivity.java
1. Intentを受信したらNFC-IDを表示する
NFCのIntentが呼ばれた時にNFC-IDを取得し、Toastに表示します。
Intentを受信するイベントはアプリが起動する場合と、バックスタックにいる場合があるので
onCreate(:Bundle):void とonNewIntent(:Intent):void の2ヶ所から呼び出しています。

https://github.com/bs-nfc/NFCHandlerOnHome
カスタマー開発部 山下智樹
AndroidManifest.xml
1. NFCのIntentFilterを定義する
タグの種類によって制限をかけたいので、TECH_DISCOVEREDというアクションを設定します。
2. 制限するタグの定義ファイルを設定する
タグを制限するにはxmlファイルを定義する必要があります。
/res/xml/nfc_tech_filter.xml
1. 制限するタグを定義する
NfcFのみ反応したい場合、以下のように定義します。
NfcFかつNdefが定義されている場合のみ反応したい場合、以下のように定義します。
NfcFとNfcA両方に反応したい場合、以下のように定義します。
HomeActivity.java
1. Intentを受信したらNFC-IDを表示する
NFCのIntentが呼ばれた時にNFC-IDを取得し、Toastに表示します。
Intentを受信するイベントはアプリが起動する場合と、バックスタックにいる場合があるので
onCreate(:Bundle):void とonNewIntent(:Intent):void の2ヶ所から呼び出しています。

https://github.com/bs-nfc/NFCHandlerOnHome
カスタマー開発部 山下智樹
AndroidでNFC対応アプリを作成する場合、どのタグに反応するかを指定することができます。(ACTION_TAG_DISCOVEREDの場合必要ありません)
指定できるタグの種類は以下があります。
これらのクラスはandroid.nfc.techパッケージに定義されています。
それぞれを説明します。
どのようなタグが該当するか、私の手持ちのタグをかざしてみます。
Suica
Taspo
運転免許証
Edy
Clipper Card
Brother ラベルプリンター RL-700S
ネットカフェの会員証
名刺
(中にNDEFフォーマットにvCardを書き込んだFeliCa Liteを仕込んでいます)
OCTOPUS
NFC QUEST Card
カスタマー開発部 山下智樹
AndroidでNFC対応アプリを作成する場合、どのタグに反応するかを指定することができます。(ACTION_TAG_DISCOVEREDの場合必要ありません)
指定できるタグの種類は以下があります。
これらのクラスはandroid.nfc.techパッケージに定義されています。
それぞれを説明します。
どのようなタグが該当するか、私の手持ちのタグをかざしてみます。
Suica
Taspo
運転免許証
Edy
Clipper Card
Brother ラベルプリンター RL-700S
ネットカフェの会員証
名刺
(中にNDEFフォーマットにvCardを書き込んだFeliCa Liteを仕込んでいます)
OCTOPUS
NFC QUEST Card
カスタマー開発部 山下智樹
Android KitKat Hacks プロが教えるテクニック & ツール
株式会社ブリリアントサービス 著
NFC Hacks プロが教えるテクニック&ツール
株式会社ブリリアントサービス 著
Androidプログラミングの教科書
藤田 竜史、要 徳幸、住友 孝郎、日高 正博、小林 慎治、木村 尭海 著
入門Androidアプリケーションテスト
瀬戸 直喜/株式会社ブリリアントサービス 著
実践スマートフォンアプリケーション開発
株式会社ブリリアントサービス、八木 俊広、原 昇平、かわかみ ひろき 著
ジオモバイルプログラミング
郷田まり子/宅間俊志/近藤昭雄 著
ANDROID HACKS プロが教えるテクニック&ツール
株式会社ブリリアントサービス 著