ブログ

株式会社ECN

非接触ICカードな勤怠管理的デバイスをRasberry Piで作ってみた(準備編)

非接触ICカードな勤怠管理的デバイスをRasberry Piで作ってみた(準備編)の画像

こんにちは、天野です。

弊社の勤怠管理は、弊社内の社内専用Webサイト内にある「出勤」「退社」などのボタンを各々が押す仕様となっています。 ただこのシステム、出社退社ボタンを押すためにわざわざブラウザを開かなくてはいけなかったり、出社・退社ボタンがたまに押せなくなるなど、あまり評判が良くありませんでした(涙)。

というわけでアナログなタイムカードもありかと思い、安易にAmazonで探してみることに。

要求仕様としては、

  • ・集計がダルいんで、ネットワーク上のサーバに記録されてほしい
  • ・非接触ICカードを使えたらいいな


こんなもんです。
この程度の商品なら絶対ある。それも多分1万円くらいで!!!

あった

高い。

かっこいいけど高すぎる。
もっと安いやつはないのかと探したが、ない。
しかしよくよく考えてみると、この程度の機能なら自分で作れそうな気が・・・DIY協会にも加盟してるし・・・

というわけで自分で作ることにしました。

流れ的にはこんな感じ。

1.自作デバイスでICカード情報を読み取る
2.ICカード内に保存されてる固有情報を付与し、APIを叩く
3.サーバ側で受信したIDとユーザ情報を紐付け、出退勤情報を登録

うん、このくらいならチョロっとできそうな予感。

■ 自作デバイスについて まずはプラットフォーム選び。
Arduino Duemilanoveが余っていたが、昔実験で使ったZigbeeモジュールはある(涙)けど、Ethernetシールドがないことに気づく。しかもなんかSocketとか書かないといけなさそうでだるそう。多分ググれば出来るんだろうけど、できればこの辺は気にせずPerlで書きたい。

というわけでArduinoは却下

この流れでPICやその他の基盤は全て却下となり、最初から使いたいと思っていたRasberry piが残りました。めでたしめでたし。

次に、ICカードをどうやって読み取るか。

これは結構悩みました。何せ非接触ICカードもType-A, Type-B, Type-F(Felicaとかはこれ)とありそれぞれ特徴が違ったり、読み取る機器もそれらのTypeに合わせて選ばなければなりません。
ていうかFelica、NFC、RFIDがどうのこうのって、もう名前の時点で面倒くさい。
簡単に解説すると、

Type-A・・・フィリップスが開発。通称Mifare。安いけど暗号が単純で解析されやすい。
Type-B・・・モトローラが開発。セキュアだけど高い。
Type-F・・・Sonyが開発。通称Felica。高速だけど高い。
※これらを総称してNFC(Near Field radio Communication: 近距離無線通信)と言います。(本当はちょっと違いますが・・・)
※日本のICカード(PasmoやSUICAなど)はほとんどType-FのFelicaです。
今回はRasberry Piを使うので大抵どんな読み取り機器でも行けると思っていたのですが、なんとこんな便利そうなものがありました。


※せんごくネット通販様サイトにとびます

NXPといえばNXPセミコンダクターズN.V.社のことで、元々フィリップス社の半導体部門だった超大手企業。
カードにMifare規格を使えばフィリップスで固められるので安心やわぁ!!
てわけで千石電商さん本店に行き、RasberryPiとNFCモジュールを購入しました。

長くなってしまったので今回はここまで。

構築編に続きます。

ECNは、AI駆動開発・AI導入支援・AI・DXコンサルティングを手がけています。
サービスを見る お問い合わせ

ブログ一覧へ