初めましてと相談(質問)

1,073 views
Skip to first unread message

tadashi

unread,
Apr 15, 2013, 10:36:19 AM4/15/13
to nfc...@googlegroups.com
初めまして。tadashiと申します。
NFCを使用してインスタレーション作品を作りたいと考えているのですが
普段は中々こうしたものを使用しないので早速つまづいております。。

初心者過ぎ、相談だらけになりますがどうかお付き合いいただけますと幸いです。

現在使用している材料
今、NFCのリーダ/ライタとして下記のNFC shieldというものをarduinoと接続して使用しています。

そしてNFCのタグとして安価なこちらを購入しました。

行いたい事・ゴール
行いたい事は、タグにそれぞれを識別可能な情報(A,B,Cなどのパラメータ)を事前に記録・設定し、
本番で、リーダ/ライタの上を流れていくそれらのタグから情報をで読み取りたいと考えております。
(その先はprocessingというソフトに送信し、PCからそれぞれの情報に合わせた音を流すインスタレーション作品になります)

困っている事
まずは試しと思い、リーダ/ライタにこのタグをかざしたのですが、うんともすんともなりません。。
(リーダ/ライタが正常に動いている事は確認しております。)

リーダ/ライタ側のコードはサンプルのdemo1をそのまま走らせているのですが、
そこに下記の気になる記述があります。
Read the complete memory of a MIFARE card
まずこのNFCのタグはmifareではないのですが、一体どう記述を変更すれば良いのか、
目をさらにして読んでもわからず。。
これはmifare規格?のタグを購入した方がよいでしょうか?
mifareは他のNFCとはずいぶん仕様が違うという印象をもっているのですが。。
もしご存知であれば、なるべく小さいサイズのものを安価で購入可能なサイトを
ご教授いただけますと幸いです。
(amazonですと丸いシールのもので1枚315円でした。セットで安いのありませんでしょうか。。)

今手元にある種類のNFCタグか、felica liteなどに対応させる方法をご存知の方がいらっしゃったら
ご教授たまわれますと大変嬉しいです。。

個人的に、まずここを修正すべきなのかなと思っているのは下記コード(ドキュメントから引用)です。

uint32_t readPassiveTargetID(uint8_t cardbaudrate)

This method reads the Passive Target ID and returns it as a 32-bit number. At the moment only reading MIFARE ISO14443A cards/tags are supported. Hence use PN532_MIFARE_ISO14443A as parameter. Returns 32 bit card number

Usage:

uint32_t cid;
// look for MiFare type cards/tags
cid = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A);

PN532_MIFARE_ISO14443AというパラメーターがMIFAREだけを読むように限定しているのであれば
ここをfelicaのものなどに変更すれば良いのかと思いますが、felicaや購入したNFCタグではここをどういったパラメータ
にすればいいのかすらわからず。。

全部教えてちゃんになっていますが、1週間なやんでわからず。。
残された時間もなく、藁にもすがる思いです。。

やりたいことが単純(事前準備として指定した情報-A,B,Cなど-の書き込みと、リーダ/ライタの上を流れてくタグからの情報の読み取り)
だと思ったので簡単にできると思った自分が甘かったようです。。

足りない情報がありましたらご指摘ください。。
arduinoのことなんか知らないよというご意見もあるかと思いますが、何卒よろしくお願いいたします。。

hiro99ma

unread,
Apr 15, 2013, 12:29:26 PM4/15/13
to nfc...@googlegroups.com
はじめまして、hiro99maと申します。
私もarduinoを持ってますが、NFC shieldは持ってません。。
手元に資料がないのですが、覚えてる範囲で書いていきます。
(たぶん、誰かフォローしてくれると思います。)

----------------
まず、購入されたNFCタグから。

こちらは、NTAG203という種類で、MIFARE Ultralight / Ultralight Cというタグと同じ種類になります。
MIFAREにはだいたい大きく分けて3種類あります(もっといっぱいあるのですが)。
 ・MIFARE Classic
 ・MIFARE Ultralight
 ・MIFARE DESFire
カードの検出だけであれば、たぶんこれらはどれでもMIFAREとして検出できるんじゃないかと思います。
(Classicは安くて手に入りやすいのですが、今のところNFC Forumの規格外です。)

-------------------
次にソフト側です。

まず、起動させるとシリアルにログが出ると思いますが、確認できるでしょうか?
もし出てなければ、違うところでうまくいってないと思います。

Hello!
Found chip PN532
Firmware ver. 01.06
Supports 07

のような感じに出力されるかと思ってます。
ここまで来なければ、NFC shieldと通信できていないか、シリアルからログが出ていないか、そんなのだと思います。
リーダライタは正常に動いているということなので、ここはOKかと。

------------------
NFC shieldのライブラリを使われていると思いますが、それはこちらですか?
https://github.com/jmgjmg/PN532

他に見つけてないので、これを元にお話しします。
違うバージョンでも、そんなに内容は変わらないと思います。

PN532.cppのL.290からreadPassiveTargetID()が始まってます。
この引数を何に使っているかというと、PN532にそのまま渡しています。

    pn532_packetbuffer[0] = PN532_INLISTPASSIVETARGET;
    pn532_packetbuffer[1] = 1; // max 1 cards at once (we can set this to 2 later)
    pn532_packetbuffer[2] = cardbaudrate;

これはPN532に対して「自分がInitiator(無線を出す人)になって、Passiveなターゲット(タグなど)のリストを作れ」
みたいなコマンドになっています。
Demo1では、cardbaudrateがPN532_MIFARE_ISO14443Aになっています。
PN532.hを見ると、定義はこうなってます。

#define PN532_INLISTPASSIVETARGET 0x4A
    #define PN532_MIFARE_ISO14443A 0x0

つまり、PN532に対して「4A 00 01」というデータを送っています。
説明が長くなってきたので端折ると、この「4A 00 01」というのは、
MIFAREなどのNFC-Aタイプのカードを検出するときに使う典型的なコマンドです。
(どうでもいい話ですが、PN532にはInAutoPollという面白いコマンドもあります。)

この「4A 00 01」をPN532に送信して、PN532がそのコマンドを受け入れると、
PN532は搬送波という無線を出します。
おサイフケータイなどを持っているなら、かざすとLEDが光ったりするんじゃないでしょうか。

------------
readPassiveTarget()の戻り値cidは、うまくいった場合は0x00以外を返します。
0x00を返すのは、
 ・PN532がInListPassiveTargetコマンドを受け付けなかった
 ・タグが見つからなかった
くらいのようです。


なので、あまり助けにならないことを言うと、その組み合わせなら「動くはず」です。
もうちょっとログを埋め込むなどして、ここがエラーを返している、とか、
ここで処理が止まっている、とか、そういうのがわかるといいかもしれませんね。


2013年4月15日月曜日 23時36分19秒 UTC+9 tadashi:

Hiroaki Ninomiya

unread,
Apr 15, 2013, 12:31:54 PM4/15/13
to nfc-lab
tadashi さん、

はじめまして、二宮と申します。

Arduino、いいですね。今はめっきりですが、私も使ったことあります。NFC Shieldもやってました。
何分昔の話であやふやな部分もあるかもですが、答えられそうな部分だけでも答えさせていただきたいと思います。

> まずこのNFCのタグはmifareではないのですが、一体どう記述を変更すれば良いのか、

ご提示いただいたNTAG203という製品ですが、個人的にはこちらは「NFCに特化した」MIFAREタグ(MIFARE Ultralight)という認識です。
ですので、

> Read the complete memory of a MIFARE card

は何ら間違ってない出力なのかな、と思います。
(demo1がどちらのファイルを指しているのか分からないのですが、Serialモニタかなんかでそう出てるんですよね?)

となれば、あとは予めタグに値を書き込んでおく処理と、本番でその値を読み込む処理を書いてあげれば
tadashiさんのおっしゃるようなインスタレーション作品のNFCまわりは実現できるのかな、と思います。

何かご不明な点がございましたら、遠慮なくご相談ください。
その際、NFC処理部分のみで構いませんので、コードを添えていただけますと幸いです。

それでは、上手く実現できますことをお祈りします。

##

参考までに過去私がNFC Shieldを使った時の作品へのリンクを張っておきますね。

ただし、ちょろっと見た感じ公式のライブラリが昨年の12月に更新されているようですので、
こちらをきちんと使ってあげたほうがスマートだとは思います(その点、上記のコードで使っているライブラリは古いものになります)。

よろしくお願いします。

2013年4月15日 23:36 tadashi <cyo...@gmail.com>:

--
このメールは Google グループのグループ「NFCラボ」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、nfc-lab+u...@googlegroups.com にメールを送信します。
このグループに投稿するには、nfc...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/nfc-lab?hl=ja からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
 
 

tadashi

unread,
Apr 15, 2013, 2:09:24 PM4/15/13
to nfc...@googlegroups.com
hiro99maさま
二宮さま

早速のご回答ありがとうございます。

まずはじめに自分で書いた事の訂正を。。
1週間試行錯誤したとありますが、このNFC Shieldを手に入れたのは今日の事で、
それまではスイッチサイエンスで販売してるFelica リーダ/ライタ RC-S620Sを使っていました。
が、これがもうわけがわからなかったのと、こいつはシリアルポートを使用してしまい
processingとのやり取りができない(SoftwareSerialもうまく出来ず...)のでNFC Shieldに逃げました。。


そして、本題ですが、安価な手元にあるタグ、読めました!(´;ω;`)ブワッ

お二人が指摘してくださってるライブラリを使用しており、
サンプルコードreadAllMemoryBlocksを使っていました。
Hello!
Found chip PN532
Firmware ver. 1.6
Supports 7
まではでて、そこからいくらタグをかざしても反応しない状況でした。
そして先ほどライブラリとにらめっこして気がついたのが。。。
まず、サンプルコードの拡張子が.pde(スケッチの例から開いてたので気がつかず...)
ということはこのコードはバージョンの古いarduino向けなのでもしかしてと思って.cppと.hを確認したところ、
#include "WProgram.h"
の記述を見つけました。。ここでした。。

最新のarduinoでは拡張子が.inoになっており、WProgram.hはArduino.hになっています。
(これもRC-S620sのサンプルスケッチいじってて知ったのですが)
なのでこれを置き換え、タグをかざしたところ、うごきました。。
自分が嫌いになりました。。

というか、この手元のタグ、MIFAREタグなのですね。。どこ探してもそんな記述を見つけられず
なんなんだこれはいったいとなっていました。。お恥ずかしい限りです。。


hiro99maさま
実はC++はoFでちらっと触った程度でまだ理解しておらず、コードの解読に手間取っていました。
それにくわえNFCの規格やら電気系の言葉やらをしらずでパニックでした。。
おっしゃっている、0xd4やらなんやらも、16進数?あれ?ってなっていたりと、、(初心者丸出してすみません。。)
NFCの規格の解説、とても助かります。。
ひとつ気になったのですが、
pn532_packetbuffer[1] = 1; // max 1 cards at once (we can set this to 2 later)
ここは、たとえば2にした場合、2つ以上を一度に返してくれるという事でしょうか?(ためしてないです。。)

二宮さま

NFC キャンドル、検索すると真っ先にでてきてslideshareでもなんども見てましたw
そして、なんで俺はできないんだよ。。となっていました(笑

そして言葉足らずでしたが、そうですserialモニタで確認しておりました。


まずは動いたので良かったです。。
お二方ともご丁寧にご回答いただき本当にありがとうございます。
これからここをたよりに沢山質問させていただくかもしれませんが
どうかよろしくお願いいたします。。
明日からはR/Wの検証が出来そうです。。


もしご存知であれば教えていただきたいのですが、
電波を少しでも遠くへ送る方法ってあるのでしょうか?
下の方にアルミホイルを敷くとかでしょうか。
というのも、上もそうですが左右にももう少し範囲が広がればなと思っております。。

ひとまず、ジャマになるのでNFC shieldの上部にあるシールド接続ピンはハンダとかして外してしまおうと思ってます。



##
NFC、それぞれが情報をもてるなんてとてもいいですよね。
これから活用していきたいと思いますっ。


2013年4月16日火曜日 1時31分54秒 UTC+9 treby:
よろしくお願いします。

このグループから退会し、メールの受信を停止するには、nfc-lab+unsubscribe@googlegroups.com にメールを送信します。

Hiroaki Ninomiya

unread,
Apr 15, 2013, 2:40:01 PM4/15/13
to nfc-lab
二宮です。

ひろくまさんに先を越されていましたね。しかもすごく詳しく解説されていますし。さすがです。
NFC Shieldのライブラリが更新されているらしい、ということでArduinoとNFC Shieldをひっぱり出して試してみました。

結果として多少の修正は要りましたが、新しいライブラリで動作確認できました。
が、諸般の事情(私のものぐさ)により上記コードはいろいろ酷いことになっております故、別にサンプルコードを書いてみました。
こちらも相当酷いですが、公式ライブラリそのままで動くようになっています。

接続としてはD2~D7ピンにそれぞれ入力やら出力やら入れているイメージです。
コード内でNTAG203のユーザーメモリの最初を直にいじくっています。

#include <PN532.h>
#include <SPI.h>

/*Chip select pin can be connected to D10 or D9 which is hareware optional*/
/*if you the version of NFC Shield from SeeedStudio is v2.0.*/
#define PN532_CS 10
 
#define BUTTON_A 2
#define LED_A 3
#define BUTTON_B 4
#define LED_B 5
#define LED_C 6
#define BUTTON_C 7
 
PN532 pn532(PN532_CS);
 
void setup(void) {
  pinMode(BUTTON_A, INPUT);
  pinMode(BUTTON_B, INPUT);
  pinMode(BUTTON_C, INPUT);
  pinMode(LED_A, OUTPUT);
  pinMode(LED_B, OUTPUT);
  pinMode(LED_C, OUTPUT);
  
  pn532.begin();
  Serial.begin(9600);
  
  uint32_t versiondata = pn532.getFirmwareVersion();
  if (!versiondata) {
    Serial.println("Error - Didn't find PN53x board");
    while(1);
  }
}
 
void loop(void) {
  uint32_t id;
 
  id = pn532.readPassiveTargetID(PN532_MIFARE_ISO14443A);
  
  if (id != 0) {  // Tag がある
    boolean flg = false;
    uint8_t blockData[16];
  
    // タクトスイッチの監視
    if (digitalRead(BUTTON_A) == HIGH) {
      flg = true;
      blockData[0] = 0xAA;
    } else if (digitalRead(BUTTON_B) == HIGH) {
      flg = true;
      blockData[0] = 0xBB;
    } else if (digitalRead(BUTTON_C) == HIGH) {
      flg = true;
      blockData[0] = 0xCC;
    }
    
    if(flg) { // タクトスイッチが押されているなら書き込み
      digitalWrite(LED_A, LOW);
      digitalWrite(LED_B, LOW);
      digitalWrite(LED_C, LOW);
      pn532.writeMemoryBlock(1, 4, blockData);
    } else { // 違うなら読み込み
      pn532.readMemoryBlock(1, 4, blockData);
      switch(blockData[0]) {
        case 0xAA:
          digitalWrite(LED_A, HIGH);
          digitalWrite(LED_B, LOW);
          digitalWrite(LED_C, LOW);
          break;
        case 0xBB:
          digitalWrite(LED_A, LOW);
          digitalWrite(LED_B, HIGH);
          digitalWrite(LED_C, LOW);
          break;
        case 0xCC:
          digitalWrite(LED_A, LOW);
          digitalWrite(LED_B, LOW);
          digitalWrite(LED_C, HIGH);
          break;
        default:
          digitalWrite(LED_A, HIGH);
          digitalWrite(LED_B, HIGH);
          digitalWrite(LED_C, HIGH);
          break;
      }
    }
  } else {  // Tag がない
    digitalWrite(LED_A, LOW);
    digitalWrite(LED_B, LOW);
    digitalWrite(LED_C, LOW);
  }
  
  delay(5);
}

writeMemoryBlock / readMemoryBlockの2番目の引数を4にしているのは、
NTAG203のユーザメモリが4ページ目からだからという地味目な理由があります。
(1~3ページ目はシリアル番号だとか別の情報が入っていて自由に取り扱えません)

とても荒削りですが、少しでも助けになればと思います。
以上、連投で恐縮ですがよろしくお願いします。



2013年4月16日 1:31 Hiroaki Ninomiya <treb...@gmail.com>:

tadashi

unread,
Apr 16, 2013, 1:43:57 AM4/16/13
to nfc...@googlegroups.com
この投稿、審査?に入ったらしく、
だいぶ時間経ってから反映されてしまいましたね。。

夜中に書いてたのでだいぶめちゃくちゃなところありますが。。

端的に、紹介していただいた最新のライブラリではない古いライブラリを使っていて、
それが古い事に気がついて手直しして動くようになった。という状況です。。
次は新しいライブラリに差し替えて試したいと思います。。
ありがとうございました。

2013年4月16日火曜日 3時09分24秒 UTC+9 tadashi:

tadashi

unread,
Apr 16, 2013, 1:46:32 AM4/16/13
to nfc...@googlegroups.com
二宮さま

お二人ともわかりやすくとても助かります。。
二宮さまのNFC キャンドルは何回も目を通してますしw。。

試していただいたんですか!深い時間にすみません。。ありがとうございます。
ソースまで手直ししていただいて。。これは、ほぼ答えをいただいてしまっていますね(苦笑
本当にありがとうございます。
ちょっとこちらのソースいじりながら試したいと思います!

ぜひまた相談させてください:)


2013年4月16日火曜日 3時40分01秒 UTC+9 treby:
よろしくお願いします。

このグループから退会し、メールの受信を停止するには、nfc-lab+unsubscribe@googlegroups.com にメールを送信します。

hiro99ma

unread,
Apr 16, 2013, 12:13:18 PM4/16/13
to nfc...@googlegroups.com
こんばんは。

Arduinoについては二宮さんがソース付きで説明されているので、安心ですね。


>おっしゃっている、0xd4やらなんやらも、16進数?あれ?ってなっていたりと、、(初心者丸出してすみません。。)
ああ、説明不足ですみません。
簡単に説明します(・・・と思ったら、長くなってしまった)。
以下、全部16進数です。

こちらが、PN532のユーザーズマニュアルです。英語です。。
http://www.nxp.com/documents/user_manual/141520.pdf
読みたくないと思いますが、とりあえずp.115を開いてみてください。
「InListPassiveTarget」と書いてあると思います。
そして、 D4 4A MaxTg BrTy InitiatorData 、という枠が見えます。
このデータを、PN532に送ります(正確にはこの前後にヘッダやフッタがつきますが、今回は省略)。

「D4」は呪文のようなもので、PN532に命令を送るときには必ず送ります。
コマンド、と呼んでたと思います。
その次のデータが、PN532に実行してほしい命令です。
今回は「4A」で、4Aという値は「InListPassiveTarget」コマンド、ということになってます。
こっちは、サブコマンド、と呼んでいたように思います。

PN532にコマンドデータを送ると、まずPN532はそれが正しいかどうか判定します。
正しければ、ACKというデータを送り元に返します。
正しくなかったら、無反応です。。

そしてそのあとで、実際にコマンドを実行した結果を返してきます。
「InListPassiveTarget」の場合は、p.116に載っています。
D5 4B NbTg TargetData1 TargetData2、がかえってくるのです。
この結果をうまいこと解釈して関数の戻り値としているのが、readPassiveTargetID()です。



>ひとつ気になったのですが、
>pn532_packetbuffer[1] = 1; // max 1 cards at once (we can set this to 2 later)
>ここは、たとえば2にした場合、2つ以上を一度に返してくれるという事でしょうか?(ためしてないです。。)

この部分は、枠で言うとMaxTgに当たります。
私も知らなかったのですが、PN532はここに「2」まで指定できるようですね。
この次に出たPN533やRC-S956(RC-S620/Sに載ってるチップ)では、「1」までになっています。
MaxTgは、Max Targetの略だと思いますが、最大取り扱い可能なタグの数でしょう。

MaxTgを2にすると何が変わるかというと、PN532が返すデータが変わってきます。
NbTg(Number Target)が、0~2のどれかを返すようになります。
タグが見つからなければ、NbTgは0です。
MaxTgが1でタグが検出できたら、NbTgは1です。

では、MaxTgを2にしたらどうなるか?
NbTgの説明に「Number of initialized Target」と書いてあるので、初期化した(=検出した)タグの数がかえるってことですかね。

ではでは、これをどう使うかというと・・・p.127を開いてください。
「InDataExchange」というコマンドが出てきます。
これはタグにデータを送るコマンドなのですが、ここの枠には「Tg」というものがあります。
ここに「1」とか「2」とか指定して、どっちのタグに対して送るのかを決めることになります。


なお、タグの読み書きをするときには、このコマンドを使ってタグに「読め」「書け」などを行いますが、
InDataExchange自体はは「読め」「書け」のコマンドではありません。
何をするかというと、引数に書いてあるデータをタグに送りつけ、
それにタグが応答したら戻り値を返す、というだけのコマンドです。
郵便配達の人が封筒を送るようなイメージですかね。

ライブラリを使うのであれば気にする必要はないのですが、
自分でPN532のドキュメントを読んで何か作ってみよう、と思ったときには
知っておいた方がいいかもしれませんね。

では、がんばってください!


2013年4月16日火曜日 3時09分24秒 UTC+9 tadashi:

tadashi

unread,
Apr 18, 2013, 1:35:38 PM4/18/13
to nfc...@googlegroups.com
こんばんは!

すごく丁寧なご説明ありがとうございます。
これから先、NFCは理解したいので勉強します!


ちょっと話がずれるのですが、実はNFC shield使う前に
スイッチサイエンスさんでSONYのrc-s620/sを購入してためしていました。
(正直arduinoとドッキングしなくていいのでこっちのが使いたいのですが。。)
PASMOなどは読み込めたのですが、このRC-S620/sは、
MIFAREタグ(MIFARE Ultralight)は読み込めるでしょうか?
自分でやった限りはうまくいきませんでした。。
コードはこちらのサイトを参考にし、RC-S620/sのarduinoライブラリについてるexamplesのコードを
ためしました。

MIFAREタグを読めるはずだよ。という場合、
exsamplesのここを書き換えるといいよ。などありましたらご教授いただけますでしょうか。
ソースはこちらのFeliCaPush.pdeを使用しました。

また、あわせてこれはNFC関係ないのですが、arduinoのSoftwareSerialでのRC-620/sとの
通信がうまくいきません。。
具体的な説明するためのソースコードが手元にないので説明できないのですが。。
もしこちらの方法もご存知でしたら合わせてご教授いただけますと幸いです

hiro99ma

unread,
Apr 19, 2013, 10:53:06 AM4/19/13
to nfc...@googlegroups.com
こんばんは。

RC-S620/Sも、NFC shieldと同じくMIFAREを読み書きできます。
ただ、SONY様提供のライブラリは、FeliCa用になっています。
http://blog.felicalauncher.com/sdk_for_air/?page_id=2699

RCS620S.cppをテキストエディタで開いて編集すればよいのですが・・・。
ソフトの改造をここに書いてしまうと、使用許諾契約から逸脱してしまいそうなので、
やめておきます。
ヒントとしては、InListPassiveTargetを使っている箇所があると思うので、
そこをNFC shieldで使ったコマンドと同じようにすればよいはずです。

私が作った、どうやって使うか忘れてしまったArduino用ライブラリもあります。
もともと、Android Beamをするために作ったものなので、サイズがでかいです。
#defineで小さくできるようにはしていたと思いますが、ソースファイルが多いので難しいかもしれませんね。
とりあえず、リンクを貼っておきます。
https://github.com/hirokuma/ArduinoHkNfcRw


ArduinoのSoftwareSerialは、私の認識では通信速度が38400bpsくらいまでだったような気がします。
(57.6kだったかも。)
私も、SoftwareSerialではダメでした。
RC-S620/Sのデフォルトは115.2kbpsなので、速度が足りずにデータが化けてるんじゃないかと思います。
あまり詳しくないので、間違ってるかもしれませんが。


2013年4月19日金曜日 2時35分38秒 UTC+9 tadashi:

tadashi

unread,
Apr 30, 2013, 4:47:49 AM4/30/13
to nfc...@googlegroups.com
ひろくまさん

お返事がだいぶ遅くなりすみません。
なるほど。ライブラリの問題だったんですね。。
そうかなと思いつつもまったくわからないのであきらめていました。
とはいえ、Serialportを塞がれるしSoftwareSerialもダメとなるのと、
arduino megaを使うとかしかなさそうですね。。

後学のためにリンクの方参考にさせていただきます!

そんなこんなで悩んでたNFCですがwriteしたいデータは簡単な数値だったので
作品をつくるにあたり悩んだのはNFCよりももっと別の部分でしたw。。。
ただ、NFC、半端な読ませ方をするとかえってくるデータが欠けるのか
おかしな事になるのは、ちょっと困りましたが。。

宣伝になるのですが、
NFCを使った作品を下記の展示にて展示しております。
5/3までですが、もし恵比寿にお越しの際はお立ち寄りください。
他にもkinectなどを使用した展示もございます。
(こちらの宣伝は別スレッドも立てさせていただきますっ)

僕の身近な所でもNFC面白そうだねーとなっているので
今後もっと色々と活用していければと思います。

また、なにかありましたら相談させてください(´-`)




2013年4月19日金曜日 23時53分06秒 UTC+9 hiro99ma:
Reply all
Reply to author
Forward
0 new messages