off記事にも書いたように、現在取り組んでいるプロジェクトではRC-S620/Sをカードとして取り扱うこと(カードエミュレーション)を根幹に据えている。この根幹技術について、機能としては実現することができたので、記録を残すこととする。注:本記事でのカードエミュレーションは、R/WのPollingに任意のIDmで応答させることを指しているので、厳密にはカードエミュレーションではない。IDmのみで認証しているシステムにとってはカードエミュレーションになるのかもだけど。Tweet先日実行したRC-S620/Sライブラリ付属のサンプルスケッチでは、RC-S620/Sにおサイフケータイ(モバイルFeliCa搭載端末)をかざすと@SDK4FeliCaのURLがPushされるようになっている。Push)というのは、おサイフケータイに対して別のおサイフケータイやリーダ・ライタからURL(ブラウザ起動)や、メールアドレス(メーラ起動)、AndroidであればアプリのIntent情報を投げる機能のことである。私の身近で使われている例では、カラオケ館受付のケータイ会員証表示端末(PitTouch端末と言うらしい)やほっともっとのほっとポイントくらぶなどがある。Tweet飛行機の出発が30分遅れるらしい。多少睡眠不足で寝ておきたい気分もあるが、ただボーっとするのも時間の浪費のような気がして筆を執ることとした。内容は、現時点での進捗状況と今後の予定である。Tweet昨日試したサンプルプログラムのソフトウェアシリアル通信対応版の作成に挑戦している。Arduinoでソフトウェアシリアル通信を行うためには、Arduino標準ライブラリのSoftwareSerialを使うと良いと思われる。この標準ライブラリ、かつては機能制限が多くNewSoftSerialというものが代替としてよく利用されていたようだ。1.0になってそのNewSoftSerialライブラリが本家のSoftwareSerialに置き換わった。1.0からのSoftwareSerialと同等であるとみなして問題ない(多分)。ソースコードの改造はほぼ機械的で、ハードウェアシリアル通信を表すSerialを、ソフトウェアシリアル通信のものに置き換えるだけだ。修正にあたっては「なんでも作っちゃう、かも。JPEGカメラモジュールで写真を撮る」を参考にした。RCS620S.h、そして付属するサンプルスケッチFeliCaPush.inoである(つまり全部)。次にコードの修正部分を示す。