【M6E-NANO】RFID-UHFタグの読み取り実験

こんにちは。
今回はRFIDの読み書きを行うことのできる基盤M6E-NANOを使用してみたレビューを書きます。
M6E-NANOは"SparkFun Simultaneous RFID Reader"としてSparkfunのページで購入することができます。
SparkfunからはStart Guideが提供されており、これを見ればできることが大体わかりました。
こちらはArduino IDEをつかって書き込みを行うことができます。

IMG_2144のコピー

今回やること

・RFIDタグの読み取り環境準備
・RFIDタグの読み取り検証
・複数のタグの読み取り

環境
・MacBookPro16inchi 2019

RFID(Radio Frequency Identification)とは

RFIDタグと呼ばれる媒体に記憶された人やモノの個別情報を、無線通信によって読み書き(データ呼び出し・登録・削除・更新など)をおこなう自動認識システムのこと。(富士通フロンテックより)

電源を持たないタグに対してリーダーがから信号を送りデータの読み取りや書き込みを行うことができます。
周波数帯により規格が異なり、中でも身近にあるのが短距離通信(HF帯・NFC)と長距離通信(UHF帯)です。

HF帯は13.56MHzの周波数帯を指します。
近距離通信に向いています。
この周波数帯の送電方式にNFC(Near Field Communication)というものがあります。
身の回りでは、交通系ICカードなどがこれにあたります。

UHF帯は860~960MHzの周波数帯を使用した送電方式です。
HF帯よりも長距離の通信を可能にします。
工場の在庫管理に使用されている様ですが、身の回りでは、UNIQLOの自動決済システムにこれが用いられている様です。
初めてUNIQLOで商品を置いて認識されたときは、その正確さと速さ、また、タグが使い捨てというレベルまで安価になっていることに驚きました。

UHF帯のタグは安価ですが、水分や金属の影響を受けやすいです。
そのため金属接触状態に対応した水分、金属対応タグの開発もされています。

と、このへんはここここのサイトを参考に説明しました。
今回使用するのはUHF帯になります。
以下に載っていた表を引用します。

画像1


・RFIDタグの読み取り環境準備

準備するもの(Sparkfunのサイトから購入可能)
・M6E-NANO
・SparkFun RedBoard - Programmed with Arduino 書き込み、電源供給
・USB micro B to A(orC) 書き込み用
・UHF RFID Antenna (TNC) 拡張アンテナ
・Interface Cable for TNC to RP-SMA アンテナ接続用
・Interface Cable RP-SMA to U.FL アンテナ接続用
・UHF tag 
・5V-2A DC電源 

 全体のセットアップはStartGuideにしたがっていきます。

基盤本体にも読み取り部分はついていますが、外部アンテナの使用でより長距離の読み取りができます。
その場合、基盤の一部を半田でジャンパさせる必要があります。

アセット 8@4x

Arduino IDEのメニュー内のツール→ライブラリを管理に移動し、
出てきたウィンドウの検索窓にm6eとうちこむと以下のライブラリが出てくるのでインストールしてください。
うまくいかなければこちらを参考に直接ダウンロードを。

画像4

これで、Arduino IDEのスケッチ例からSparkfunのRFID用のサンプルが開けるようになります。


・RFIDタグの読み取り検証

まずはExample1_Constant_Readを開いて動かしてみます。
M6E-NANOは、以下の部分で電波強度を5.00dbmから27cBmまで調整することができます。
以下の部分の記述で変更できますが、5.00dbm以上は外部電源の使用が良いみたいです。
5VのDC電源がベストだそうです。

nano.setReadPower(500);

書き込んで実行すると、シリアルモニタで a キーを入力後にScaningの表示がはじまり、タグを近づけるとタグの電波強度や周波数、EPCなどが表示されます。
ここでは薄型の非接着タイプのタグを使用しました。
ここの販売元のようなタイプです。
Sparkfunでも購入可能です。
タグは手の指など、が接触している時は読み取りがなされませんでした。
水分の影響がでているためかと思います。
手を少し離せば影響はなくなります。

・複数のタグの読み取り

SparkFun Simultaneous RFID Readerとあるようにこのリーダーの特徴は同時に複数のタグを読み取れることにあるそうです。
Example1_Constant_Readをつかってだんだんタグを増やしていってみました。


アンテナは机の下に設置しています。
動画の様にタグをだんだん増やしていくと読み取りの精度が悪くなっていきました。
これはタグの種類?や電波強度、電波環境によるものなのか原因は特定できていません。
UHFタグの中には積層タグという近距離でも互いのタグが影響を受けづらいものもあるそうです。
この対応での検証の必要を感じました。

Sparkfunの公式フォーラムページでこの問題と同様の質問をしている方を見つけました。(ログインが必要なページのため、直接のリンクがはれません。。。)
そこでは電波強度やタグの配置を変えるという対応が提案されていました。
また、スケッチを書き換えて、一度見つけたタグを無視するという対応も提案されていました。

電波強度については試してみましたが、あまり変化はありませんでした。
スケッチを書き換えてを試してみようと思いますが今回の記事では保留になっています。。。

・金属の影響について

動画の後半で、現れる黒色のものは金属対応タグです。
これはYhooで購入したものです。
金属対応タグは一般での販売がほとんどないようです。
検証していて気づいた点として、少しでも金属が含まれているものと接した場合は読み取れなくなるというものがありました。
たとえば、カードゲームなどでキラキラの加工がされたもの(ホログラム加工というのでしょうか)がありますが、このタイプのカードと接した場合は読みとりが行えなくなりました。
金属対応タグで試したところ、読み取りが行えたのでやはり加工部分の金属素材の影響だと思われます。


今回のM6E-NANOをつかったUHFタグの検証はここまでになります。

[実証]
・導入が簡単。
・高速な読み取りが可能。

[課題]
・金属や水分を含むものとの影響が思ったよりも遥かに大きい。
・複数タグの干渉が起こる。

といったところが得られた知見でした。

この記事が気に入ったらサポートをしてみませんか?