LoginSignup
11
11

More than 5 years have passed since last update.

Raspberry PIでFeliCaモジュールからidmを読む

Last updated at Posted at 2015-02-11

はじめに

Raspberry PiでFeliCaのidmを読みたかったのですが、
手元のPaSoRiはlibpafeの未対応のRC-S380でした。
なのでFelicaモジュールからidmを読み込むようにしました。

この記事では次のようなことをしています。

  • Raspberry Piを使います
  • OSはRaspbianを使います
  • FelicaモジュールはRC-S620Sを使用します
  • Arduino UnoをRC-S620Sのドライバ代わりに使用します
  • Raspberry Piでidmを読めるようにすることが目標です
  • 値の読み出しのみでWebに連携するなどは行なっていません

image
image

FeliCa リーダー・ライター RC-S620S

ArduinoでFeliCaを読めるようになるモジュールです。
サンプルコードは何故かArduinoのD0(RX)とD1(TX)に接続していて、UARTが塞がってしまっています。
また接続先をSoftwareSerialに書き換えると動かなかったのでハードウェア的に罠が多そうです。
さらにArduino Leonardoではサンプルコードは動作しませんでした。
かなり癖のあるモジュールのようです。

サンプルコードを書き換えれば直接Raspberry Piからでも動かせそうですが、
Arduino Unoを間に挟んだほうが無難そうです。
(サンプルコードを書き換えたものはライセンス的に引っかかって公開できなさそう)

参考サイト

アプローチと配線

RC-S620SとArduino Unoはサンプルコードで指定されている通りに接続します。
Arduino UnoとRaspberry PiはSoftwareSerialで接続します。
Arduino Unoには弄ったサンプルコードを入れます。Push処理を消して、読み取ったidmをSoftwareSerialに出力させるように変えます。
Raspberry PiのGPIOのUARTにArduino UnoのSoftwareSerialに指定したピンを接続します。

image

Raspberry Piの設定

RaspbianのUARTは標準でシリアルコンソールに設定されているため、そのままでは普通のUARTとして使用できません。
設定を書き換える必要があります。

/boot/cmdline.txtの修正

次のコマンドで

$ sudo vi /boot/cmdline.txt

次のように書き換えます。

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait

dwc_otg.lpm_enable=0 rpitestmode=1 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait

/etc/inittabの修正

次のコマンドで

$ sudo nano /etc/inittab

次の行をコメントアウトします。

#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

参考サイト

動作確認

$ cu -s 9600 -l /dev/ttyAMA0 
Connected.
01290001xxxxxxxx   ←タッチすると読み込まれたカードのidmが表示される
01120212xxxxxxxx
01160500xxxxxxxx
01100A10xxxxxxxx

おわりに

できたといっていいのか怪しいですが、Raspberry Piでidmが読めました。
正直libpafeに対応したPaSoRiを買ってきたほうが早いような気がします。
間にArduinoを挟まずにできたらもう少しスッキリするので、その辺りは今後の課題ということにします。

11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11