M5Stack:RFIDカードで遊ぼう!

M5Stack本家ショップで通販すると、時々RFIDカードがおまけについてくることがあります。

全8種類らしい。僕はいまのところ3種類。目指せコンプリート!(遠い)


これは単純なRFIDカードなので、RFIDリーダーがあればIDの読み込みが可能です。

Androidアプリで読み込んでみました。シリアルナンバーのところに、カードのIDが表示されます。

Google Play : NFC TOOLS
https://play.google.com/store/apps/details?id=com.wakdev.wdnfc&hl=ja

M5Stackでも読み込みしてみたいところなのですが、RFID読み取り部品は技適関連を考えると日本で使っていいのかどうか微妙…なんですよね。

Arduinoで近距離無線通信 RFID-RC522 NFC : 高周波利用設備に関して
https://bokunimo.net/arduino/rfid.html#telec

ELEGOOキットで RFID読み取り部品自体は持ってるのですけど、電波強度確認する方法が無いので、安全を取って使わないようにしてます。

M5StackのRFIDリーダーユニットも日本では販売されてないです。許可取って発売してほしい…!

M5Stack Store : Mini RFID Reader/Writer Unit (MFRC522)
https://m5stack.com/products/rfid-sensor-unit?_pos=2&_sid=49094b636&_ss=r

日本で問題なく RFIDリーダーのパーツとして使えそうなのは、RC-S620Sぐらいですかね。

FeliCa リーダー・ライター RC-S620S
https://www.switch-science.com/catalog/353/


USB接続のRFIDリーダーを使う方法も検討しました。

PaSoRi RC-S310、一番最初の PaSoRi です。M5Stack USB モジュールと繋いでみました。

M5Stack Store : USB Module with MAX3421E
https://m5stack.com/products/usb-module?_pos=1&_sid=ae360360d&_ss=r

PaSoRi 接続ライブラリを使った M5Stack での実装が公開されていましたので、試してみました。

mokjpn / M5Suica
https://github.com/mokjpn/M5Suica

ArduinoでFeliCaリーダー & ケータイにURLをプッシュ
https://neocat.hatenablog.com/entry/20101123/1290514516

Arduino で NFC(PaSoRi)を使ってみた
http://twinklesmile.blog42.fc2.com/blog-entry-172.html

RC-S310は、対象機種には入ってなかったので、libpafe を参考にRC-S310のロジック追加。

結果、通信して初期化まではできてるっぽいのですが、カード情報は読み込んでくれなかったです…。RC-S310が古すぎてRFID読めないのかもしれないので、ここはいったんあきらめます。(RC-320が大丈夫なので、行けそうな気もする。また後日再チャレンジしてみます。)


Androidなら読み込めたわけですので、ちょっと大掛かりですが、読み込みはAndroidで行い、M5StackにWebサーバを立てて、http通信する仕掛けで組んでみます。

Android側のソース。

M5RFIDCardDisp: MainActivity.java
https://github.com/shikarunochi/M5RFIDCardDisp/blob/main/Android/M5CardDetect/app/src/main/java/com/example/m5carddetect/MainActivity.java

NFC読み込みは、こちらを参考にしました。

1年に1回くらいAndroidでNFC(FeliCa)をいじる人間のメモ(2019年初夏)
https://qiita.com/zaburo/items/6a34dfd8f87d7ffba56a

M5Stack側のソース。IDを受け取ると、ソース内で各IDに設定した画像表示/音声再生をする仕掛けです。
登録されてないIDが来ると、画面クリアします。IDは、各自のカードに合わせて変えてくださいー。

M5RFIDCardDisp: M5RFIDCardDisp.ino
https://github.com/shikarunochi/M5RFIDCardDisp/blob/main/M5Stack/M5RFIDCardDisp.ino

起動するとWi-Fi接続して、IPアドレス表示されますので、Androidアプリ側に IPアドレスを入力。読み取りスタート。


シャキーン!


画像は実際のRFIDカードを写真撮影して加工しました。

音声はこちらで作成しました。

Free Text-To-Speech and Text-to-MP3 for US English
https://ttsmp3.com/

効果音はこちらのサイトからお借りしました。

効果音ラボ
https://soundeffect-lab.info/sound/battle/