メールとFelicaとのコラボレーションシステム


今日は、寒いですね。平成28(2016)年11月23日(水)勤労感謝の日の祝日にこの記事を書いています。
今晩の遅い時間から明日朝にかけて、関東でも北部の山間部では、雪が降るという予想が出ています。
もしも、都区内で雪が降ることになれば54年ぶりの早い時期の降雪になるといわれています。

ところで、Webで確定申告を行うためにe-Taxというシステムがあります。
かつて、家電量販店のチラシで、このe-Taxを引き合いに出して、Felicaのカードリーダーを販促していたので、飛びついて買ったものがパソコンにつながったまま置いてありました。
記事を書くにあたり、Amazonでリーダの価格を確認したところ、3000円程度で販売しているようでした。
Felicaのカードは、Felica Lite-Sという規格のものを使います。デモや研究に使うには手ごろな価格で手に入ります。こちらもAmazonで、白カードが10枚で3000円程度となっていました。
予算のある方は、購入してみることができる手軽さがあると思います。

今回、Webシステムとのコラボ企画で、久しぶりにC言語を扱ってみたいと考えています。
題材は、Felicaです。この仕組みを応用すれば、デバイスにアクセスするためのSDKを作ることができたり、調達してくることができれば、という限定つきではありますが、
マーシャリングという技術を用いて.NET Frameworkでの利用が可能であるということを証明しています。




【目次】:
  1. システム概要
  2. メール送信サーバの作成
  3. Felicaリーダ及びメール送信トリガーの作成(Felica編)
  4. Felicaリーダ及びメール送信トリガーの作成(トリガー編)


1.システム概要


まず、Azureクラウドサービス上に、ASP.NETフォームサービスを構築します。
このWebシステムの概要は、受け取ったリクエストパラメータを解析して、Azureで利用できるメール送信サービスのSendGridを使って、メールを送信するというものです。
そして、このWebシステムにパラメータをセットしてリクエストパラメータを送信するクライアントを作るというものなんですが、このクライアント、それだけじゃないんです。
Felica Lite-sというFelica下位互換のカードをリーダを使って読み取って、カードの中に書かれたメールアドレスに対してメールの送信を行うという、ちょっと手の込んだ仕組みなんです。
この記事に書かれた通りに再現してみるもよし、使っている技術を部分的に参照してもよし、という感じで読者が何らかの形で得られるものがあるようにと工夫して書いていきますので、
ぜひ、読み進めていただければ嬉しい限りです。


最低限必要な機材や準備するもののリスト





アプリケーション連携イメージ





ユーザ定義したFelica Lite-Sのブロックイメージ





システム作成ステップのイメージ