2010/06/07(月)mbed + RFIDリーダーで入室管理

2010/06/07 12:46 mbedimportnucho


100607-113419.jpg


 mbed + 前回使ってみたRFIDリーダー + twitterという組み合わせで、誰がいつ入室したか、退室したかの簡単な管理を行うものを作ってみました。
今回はその紹介を行いたいと思います。



概要

 Mifare仕様の非接触ICカードを使って、部屋の入退室を管理する装置です。
今回は非接触ICカードとして学生証を使っていますが、同じMifare仕様であるtaspoなんかでも使えるんじゃないかと思います。

見た目

上、横、下からの写真です。
100607-113419.jpg
100607-113622.jpg
100607-113459.jpg

処理の流れ

フローチャートとしては以下のようになっています。
flowchart.png


使い方

 カードIDを登録して、あとはそのカードをかざすことで利用できます。
以下にその方法を示しました。

カードIDの登録

  1. 登録していないカードをカードリーダにかざすとLCDにカードIDが表示されるので、IDをメモします。
  2. メモしたIDをmbedの中のmember.txtに「任意の名前,カードID」というように記入します。
  3. 一度リセットすることで、登録した名前とIDが反映されるようになります。
カードID登録の記入例
JAVATER,3016338752
JASMINETEA,2791635704

利用

 普段はLCDに現在日時と時刻*1を表示しています。
 入室時にカードリーダーにカードをかざすとtwitterに「登録した名前 is login now.(現在時刻)」*2と投稿されます。そして退室時にカードリーダにカードをかざすとtwitterアカウントに「登録した名前 is logout now(現在時刻)」と投稿されます。

logintest.jpg

こんな風です。

*1 : 起動時にネットワークから現在時刻を取得します

*2 : twitterは全く同じ投稿は一日一度しかできないため、現在時刻を追加して回避しています

回路図

 こういった感じになっています。
TextLCDライブラリは新しいほうを使っているので、TextLCDのR/WはGNDに接続しています。
Readerschematic.PNG


プログラム

 今のところエラー処理もオブジェクト指向も何も考えていないプログラムで本当にテキトーで非常に恥ずかしいのですが、一応ここにおいておきます。なんか一応動いてるっぽい動作をしていますが、何の保証もできません。
 時間を見つけてC++を勉強し、手直しをしたいなとは考えています。


以上、お粗末ですが紹介でした。