サーバー

インストール

TomcatやGlassfishなどのアプリケーションサーバーにデプロイします。 デプロイ後、アプリケーションのURLを開くと使用できます。

クライアント

以下は、タイムカードクライアントの設定方法を記述している。 なお、リファレンス環境は、Raspberry Piを7inchディスプレイに接続しスピーカーとカードリーダ Pasori RC-S380 を用いて作成したので、使用したコマンド類はRaspberry Pi(Raspbian)に準じている。

実行環境を整える

OSの更新

Raspberry Pi(Raspbian) の場合は、

sudo apt update
sudp apt upgrade -y
sudo apt upgrade -dist

Javaの動作する環境を整える Raspberry Pi(Raspbian)の場合は、最初からJavaがインストールされているので、Javaはインストール不要。

Linuxで動かす場合は、日本語フォントのインストールを忘れずしておく必要がある。

 sudo apt install fonts-ipa-gothic -y

nfcpyをインストールする

python 2.7とpipをインストールする。Raspberry Pi(Raspbian)の場合は、すでに入っているので不要

nfcpyをインストールする。

sudo pip install nfcpy

続いて、nfcpyのツールをgitで取得する。

git clone https://github.com/nfcpy/nfcpy.git

クローンしてできるフォルダ nfcpy を、任意の場所に移動する。リファレンス環境では、nfcpy-masterというフォルダに中身を移動している。

sudo mv nfcpy nfcpy-master
sudo mv nfcpy-master /var/lib

nfcpyの配置直後は、rootのみがカードリーダを使える状態なので、以下のコマンドで権限を一般ユーザーにも与えておく。

sudo sh -c 'echo SUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"054c\", ATTRS{idProduct}==\"02e1\", GROUP=\"plugdev\" >> /etc/udev/rules.d/nfcdev.rules'
sudo udevadm control -R

アプリケーションの配置

OSDNより、タイムカードクライアント org.clearfy.timecard.client-1.0-SNAPSHOT-jar-with-dependencies.jar をダウンロードしてくる。 このjarファイルは必要なライブラリをひとまとめにしているので、javaのパスが通っていればそのまま以下のコマンドで実行できる。

java -jar <ファイルの場所>/org.clearfy.timecard.client-1.0-SNAPSHOT-jar-with-dependencies.jar

リファレンス環境では、/var/lib/timecardというフォルダを作成し配置している。

sudo mkdir /var/lib/timecard
mv org.clearfy.timecard.client-1.0-SNAPSHOT-jar-with-dependencies.jar /var/lib/timecard

リファレンス環境では、以下のshファイルを配置先のフォルダに作成してメニューから起動している。

#!bin/sh
cd /var/lib/timecard
java -jar org.clearfy.timecard.client-1.0-SNAPSHOT-jar-with-dependencies.jar

アプリケーションの設定

以下の設定は、サーバーの設置とデータ登録が事前に済んでいる前提で記述する。

クライアントアプリケーションを起動し、設定変更タブを選択する。

800x600_0.png

  1. 'nfcpy'のパスにtagtools.pyの保存先を記入し、適用をクリックしアプリを再起動する。再起動すると、この設定画面のカードテストに読み込んだnfcカードのIDを表示できるようになる。
  2. 'APIキー'に、サーバーから取得したAPIキーを登録し適用をクリックする。
  3. 'URL'に、サーバーのパスを登録し適用をクリックし、アプリを再起動する。
  4. '接続'をクリックすると、サーバーに登録した店舗のリストが表示されるので、対象店舗を選択する。
  5. アプリを再起動する。