こんばんは、お久しぶりです。
今回は(も)、パソリの続きです。
前回↓
Felica(Pasori)とエクセル(とDelphiとかで)で自動勤怠アプリを作て見た2
前回作った勤怠アプリの問題点は、媒体となるPCが、全く音が出ない事。
どうやらドライバが当たっていない様。
これでは、打刻ができましたの合図ができない。
また、媒体はノートpcなのですが、置き場が固定される。
決して小さくは無いものなので、玄関先にこんなもん置けない。
さて困った。
あ、社会人学生してた時のラズパイ(RasBerreyPI:初代ラズパイ)が余ってたっけ。
こいつを使おう。
さて思い立ったが吉日。
用意するもの:
ラズベリーパイ本体
キーボード、マウス
Wifi無線子機ドングル
有線LANケーブル
モニタ
ラズパイを遠隔操作する為のPC一台
です。
先ず、ラズパイ本体を引っ張り出してくる。
試しに何かインストールしてみる。
が、OS古すぎて、apt-get installできない。
更に、日本語が文字化けしていて、良く判らない。
最高に不便だ。
しかも、動作が重い。
参った。
そんな時はグーグル先生に限ります。
ググってみると、最新のラズパイ事情は大分進化してるのね。
こちらからOS(のインストーラ)をダウンロードします。
https://www.raspberrypi.org/downloads/
NOOBSとラズビアン、どちらにするか、選択肢があるので、
Noobsをダウンロードします。
Noobsがダウンロード終わったら、
こいつを解凍して、ラズパイに挿してあるSDカードに、
コピーします。
(前のラズパイOSは削除なりバックアップ取るなりして、空にしてください)
そしたら、ラズパイ起動!
が、選択肢が空。
先へ進めん。
良くみると、ネット接続が必要な様ですね。
初代ラズパイは、Wifiが内蔵されていないので、
有線Lanを接続してインターネットに接続します。
するとどうでしょう、選択肢がたくさん出て、
どのOSをインストールするか確認されます。
要はこれ、インストーラだったのね。
今回は、無難に奨励されている、ラズビアンOSを選択します。
20分から30分で、インストールは完了しました。
あと、文字化けは嫌なので、言語は英語にしておきました。
インストールしたら、最初にする事。
sudo apt-get update
で、更新分をアップデートして最新版にします。
で、次にするのはsambaのインストール。
こいつがないと、ネットワークディスクアクセスや、
遠隔操作する時に、PC名でVNC接続出来ません。
素ではIP名で接続しかできないので。
sudo apt-get install -y samba
で、サンバをインストールします。
次に、VNCをインストールします。
sudo apt-get install x11vnc
と入力、x11vncをインストールします。
次に詳細を設定します。
x11vnc -storepasswd
と入力して、ラズパイのVNCのパスワードを設定します。
設定が終わったら、ラズパイにアクセスしてみます。
因みに、クライアントソフトはこちら。
http://www.uvnc.com/
クライアントをインストールして、
RASPBERRY:0
と、接続先に入力します。
すると、アクセス出来た筈です。
次に、VNCを自動起動に対応させます。
/home/pi/.config/ フォルダに、autostartというフォルダを作ります。
sudo mkdir /home/pi/.config/autostart
で、フォルダができた筈です。
sudo leafpad /home/pi/.config/autostart/x11vnc.desktop
で、ファイルを作成、編集します。
中身は、
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=X11VNC
Comment= Exec=x11vnc -forever -display :0 -ultrafilexfer
StartupNotify=false
Terminal=false
Hidden=false
と入力、保存します。
次は、
sudo raspi-config
と入力、3番を入力し、ついのメニューで2番目を選択します。
設定完了したら、コンフィグレータを終了します。
できたら再起動します。
起動したら、PCからVNCでアクセスしてみてください。
ログインできた筈です。
次は、ネットワークディスクにGuiからアクセスできるアプリを入れます。
sudo apt-get install ~ydolphin
と入力します。
このアプリは、ネットワークドライブにアクセスできる機能を持った、
ファイルマネージャになります。
インストールが終わったら、
次は音を出す設定をします。
まず、タスクバー(画面の上にある、Windowsで言う所のスタートバー)
にある、サウンド関連のアイコンを右クリックして設定を出します。
(だったと思う)
そして、音声出力先を、アナログ音声に設定します。
cd /opt/vc/src/hello_pi/
./rebuild.sh
と、入力します。
/opt/vc/src/hello_pi/hello_audio/hello_audio.bin
と入力し、音が出るのを確認します。
音が出たら、サウンド関連はこれで完了です。
次はいよいよ、パソリの設定です。
sudo apt-get install libusb-dev
で、libusbをインストールします。
それがおわったらlibpafeをインストールします。
git clone https://github.com/rfujita/libpafe.git
cd libpafe
./configure
make
sudo make install
と入力し、libpafeをインストールします。
しかし、これだけでは動きません。
ラズパイの場合。
sudo leafpad /etc/ld.so.conf.d/local.conf
と入力し、
/usr/local/lib
を追加します。
終わったら、
ldconfig -v
sudo leafpad /lib/udev/rules.d/60-libpafe.rules
————————–
ACTION!=”add”, GOTO=”pasori_rules_end”
SUBSYSTEM==”usb_device”, GOTO=”pasori_rules_start”
SUBSYSTEM!=”usb”, GOTO=”pasori_rules_end”
LABEL=”pasori_rules_start”
ATTRS{idVendor}==”054c”, ATTRS{idProduct}==”006c”, MODE=”0664″, GROUP=”plugdev”
LABEL=”pasori_rules_end”
————————–
ATTRS{idVendor}==”054c”, ATTRS{idProduct}==”006c”, MODE=”0664″,
は、パソリ(フィリカカードリーダー)のアドレスです。
lsusb
と、端末に打ち込んで、
表示されたフェリカカードリーダーのアドレスを書きます。
これで、パソリが使えるようになった筈です。
端末に、
pasori_test、
フェリカカードをカードリーダーに乗せて、
felica_dump
と、それぞれ入力してください。
パソリが動いてコンソールに何やら表示された筈です。
次は、漸くシェルスクリプトの出番。
以下のシェルスクリプトを作成します。
ここより下スクリプト↓
#!/bin/bash
while :
do
felica_dump | sudo tee ./temp.txt
grep “SN ” temp.txt | sudo tee ./temp.txt
if [ ! -s ./temp.txt ]; then
echo “待機中…”
else
cut -c 21-27 temp.txt | sudo tee ./temp.txt
date | sudo tee ./temp2.txt
echo ” , ” | sudo tee ./dlmt.txt
paste temp.txt dlmt.txt temp2.txt dlmt.txt | sudo tee ./temp3.txt
felica_dump | sudo tee ./loop.txt
while [ -s ./loop.txt ];
do
felica_dump | sudo tee ./loop.txt
echo “カードをお戻しください”
done
echo “書き込み中…”
cat ./temp3.txt | sudo tee -a ./kintai.txt
aplay 「任意のWAVファイル.wav 」
fi
done
ここより上スクリプト↑
これで、勤怠記録のスクリプトができました。
次は、これを自動起動させます。
以下のファイルを編集して、自動起動の処理を書きます。
sudo leafpad /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will “exit 0” on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ “$_IP” ]; then
printf “My IP address is %sn” “$_IP”
fi
# 自動起動させる
sh /home/pi/kintai/kintai.sh &
exit 0
ここでは、/home/pi/kintai/というフォルダを作成し、
kintai.shというスクリプトファイルを実行させます。
以上になります。
以下、参考にさせていただいたページです。
ラズパイを買ったらそのあとは?地獄の初期設定をしよう【OSインストール・日本語設定編】
Raspberry Piを別のPCからリモート操作
Raspberry Piで音を出すまで
Rasberry piでfelica(edy/suica)を読む
raspberrypiでFeliCaのIDmを読み取る(pasori RC-S320版)
ラズベリーパイ:起動時に自動実行したい