Python
RaspberryPi
rfid
RDM880

Raspberry Pi で RFIDタグリーダー RDM880 を使う

More than 1 year has passed since last update.
株式会社XSHELL デベロッパー 植田歩

概要

RDM880というRFIDリーダー。
rfid1.jpg

Seeed Studio 113990022 13.56Mhz RFIDモジュール IOS/IEC 14443 type a

リーダーの周波数は13.56MHzということで、NFCと周波数は同じ。NFCは有名なのが交通系電子マネー(Suicaなど)で使われているFeliCa。

このRFIDモジュールを使ってRFIDやNFCタグを読みとりRaspberry Piとシリアル通信を行う。

RFIDのしくみ

  1. リーダーについてるアンテナから情報と一緒に電波(電磁波)を出す
  2. 電波を受け取ったタグ側は電磁誘導などで給電
  3. 搭載しているICで処理を行い(読み書き)、
  4. タグからリーダーに電波を送信。
  5. リーダーはこれを受信してデータを取得する。

RFID周りの規格や概念の住み分けは結構混乱する。
タグとリーダーの規格や周波数が違う組み合わせだと動かないので購入前に確認する。

仕様

千石電商の販売ページから引用
千石電商 Seeed Studio 113990022 13.56Mhz RFIDモジュール IOS/IEC 14443 type a

モデル:RDM880 周波数:13.56MHz
スタンダード: ISO/IEC 14443 type a
R/Wチップ: MFRC500,MFRC400,MFRC531,MFRC632
ボーレート: 9600-115200bit/s(configurable, default9600)
電源電圧: DC5V(5%) 電流: <70mA
動作範囲:30~100mm(読み取り範囲は、アンテナ/カード/タグに依存)
インターフェイス: TTL electrical level
基板サイズ:39×19×9mm(DIP28Pサイズ)
アンテナサイズ:54.20×72.70mm,ケーブル:80mm

環境

  • Mac OS X El Capitan
  • Raspberry Pi 3
    • OS 2017-08-16-raspbian-stretch-lite.img
  • Seeed Studio 113990022 13.56Mhz RFIDモジュール IOS/IEC 14443 type a

手順

Raspberry PiとRDM880の接続は公式に乗ってる説明参照。
ここでは簡単に説明すると、モジュールを横向きにおいて左上に2本のピンヘッダが来るように見て
RDM880側:
- 左上に付属のアンテナを接続
- 右上使わない。
- 右下 5V, GND, TX, RX, なし(今回使わない。)の順で接続していく。
rfid2.jpg

RDM880というライブラリ使う

https://github.com/JeremyGrosser/rfid/blob/master/rdm880.py
使いやすさ優先で下記プログラムをいじってtestを使用する。こちらもRDM880のライブラリを使っている。

git clone https://github.com/gm-stack/overlook
vim test.py

設定

  • 通信規格
    • ISO14443A
  • デバイス
    • /dev/ttyUSB0
  • 通信速度
    • 9600

上記のように変更する。USBデバイス名は適宜変更。

実行

python test.py

出力

何もないor失敗

msgtype        reply
stationid      00
length         02
status         01 (Command failed)
data           
bcc            80

成功時

msgtype        reply
stationid      00
length         06
status         00 (Command OK)
data           4E 65 32 AA
bcc            B5

この data 4E 65 32 AAの部分がカードのシリアルナンバー。

参考サイト

その他プロジェクトは弊社ブログ記事参照!
XSHELLブログ記事一覧


株式会社XSHELL デベロッパー 植田歩

XSHELLはSBCを使いやすくするソリューションを提供しています。
isaaxIoTitぜひご使用になってご意見を頂きたく思います。
共に素晴らしいプロジェクトを実現させましょう!