『iOS11』の「CoreNFC」でサンワサプライ社製のタグを読み込んでみた

『iOS11』の「CoreNFC」でサンワサプライ社製のタグを読み込んでみた

前回は『iOS11』新搭載の「Core ML」を試してみました。
<bitWave関連記事『「iOS11」新搭載の「Core ML」を駆使してMNISTの手書き数字認識を試してみた』>

しかし、私の『iOS11』に対する興味はこれだけに留まりません。
今回は『iOS11』で新搭載の「CoreNFC」を試してみたいと思います!

『CoreNFC』の実力はいかほど!?

前回の記事で軽く触れたとおり、ApplePay搭載端末であるiPhone(7以上が対象)で、NFCタグの読み取りができるようになりました。
早速試してみたいと、いろいろオフィスを探し回ってみたのですが、無い!!!
圧倒的に “NFCタグ” が無い!!!

モノがなければ検証もままなりませんので、仕方なくAmazonで探してみることにしました。
<参照:Amazon『サンワサプライ NFCタグ(10枚入り) 白 MM-NFCT』>

当然ながら「CoreNFC」を実装する『iOS11』はまだベータ版の段階。正式リリースは今秋を予定しています。
しかし、ご覧の商品はすでに発売されている代物です。つまり、Android対応用という感じなんでしょうね!

もちろん、メーカーが保証する対応機種・対応OS一覧の中には『iOS11』は含まれていません。
<参照:サンワサプライ株式会社『MM-NFCT【NFCタグ(10枚入り・ホワイト)】』>

本当に買ってしまって大丈夫なのか……?
そんな一抹の不安を覚えつつも、試してみたい欲求の方が勝り、Amazonでポチることになりました。
(葛藤時間:正味5秒)

審判の時 ~届いたNFCタグに命を吹き込む

そんなこんなでサンワサプライ社製のNFCタグが手元に。

比較対象としてオライリー社の缶バッジを隣においてみましたが、バッジよりもやや小さめのサイズ。
重なって10個も入っていました!

さてこのタグですが、永久磁石が貼り付けられた “家庭用磁気治療器” ではないですから、このままでは何の役にも立ちません。
つまり、何の情報も入っていない、真っさらな状態です。

このNFCタグに情報を書き込もうにも、『iOS11』の「CoreNFC」は読み取り専用となっているため、iPhoneだけでは何もできません。
ここは書き込み用にメーカー動作対象保証のされたAndroidで専用アプリを使うことになります。


NFCかんたん設定アプリ
無料
販売元:サンワサプライ株式会社

さっそくダウンロードしてみましょう。


こんな感じで2種類のタグを書き込めるようになっているようです。
内容を見てみる限りでは、『iOS11』の「CoreNFC」でも読み取れるようにするには、オープンタグで設定しないといけないようですね。
ということで、オープンタグで作成します。


なんと!!
上の画像のとおり、基本的には決められた9つの中からでしか、データ書き込きが行えないようです。。。

個人的にはjson形式で以下のような感じにしてみたかったのですが……。

「はい、終了~」
なんて言いません。今年のricemanは一味違うのです。何と言ってもお金をかけたんですから!

まずは「ブラウザでWebページを表示」を選択し、bitWaveのサイトURLを登録してみることにします。

NFCタグの書き込みが完了したら、次はiOS側の読み取り設定に入ります。
こんな手順でiOS側の設定をしてみました

手順①:NFCNDEFReaderSessionインスタンスの生成

手順②:NFCの読み取り開始

複雑なことをしても仕方がないので、“ボタンが押されたら” のようなカンタンなトリガーでいいかと思います。

手順③:delgate関数内でイベントを受け取る

そして試してみたログがコチラ。

ん? この先頭にある「\0」ってなんだ???
気になってはしまいましたが、解明にどれだけ時間を要するのかが検討もつかなかったので、ここは一旦目をつぶり実装を進めてしまいましょう。。。

こんな感じで先頭の文字を削除。

そして、UIWebViewをaddします。

ちなみに「DispatchQueue.main.async」としているのは、UIView等の操作はメインスレッドでやってくれと怒られるためです!
ここで出来上がったものがコチラです!

一度読み取りのUIが立ち上がってしまう “残念な” 部分もありますが、検証は大成功!
これならiPhoneもNFCでの活用の幅が広がるってもんです!!

後々調べてみて判明したのですが、NFCタグって電池いらないんです!
これは環境を選ばずに使うことも可能になりますね。

検証完了後に分かったこと

先ほどサンワサプライ社のNFCタグのご紹介をした際、“独自の情報は埋め込めず、デフォルトの9つの中から……” なんて記載しましたが、実際にはURLを入力する項目で、自由に文字列を入れることができました。

{“hoge”:”huga”}
みたいな感じでデータを渡すことは可能でしたね。

ありがとうサンワサプライさん!
そして弊社の製品もどうぞよろしくお願いいたしますw

コメント