== サーバー ==== インストール 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 }}} アプリケーションの設定 以下の設定は、サーバーの設置とデータ登録が事前に済んでいる前提で記述する。 クライアントアプリケーションを起動し、設定変更タブを選択する。 [[Embed(https://static-cdn.osdn.net/thumb/g/5/519/800x600_0.png)]] 1. 'nfcpy'のパスにtagtools.pyの保存先を記入し、適用をクリックしアプリを再起動する。再起動すると、この設定画面のカードテストに読み込んだnfcカードのIDを表示できるようになる。 2. 'APIキー'に、サーバーから取得したAPIキーを登録し適用をクリックする。 3. 'URL'に、サーバーのパスを登録し適用をクリックし、アプリを再起動する。 4. '接続'をクリックすると、サーバーに登録した店舗のリストが表示されるので、対象店舗を選択する。 5. アプリを再起動する。