raspberry pi イジリ 起動時に勝手にログインしてバーコード読み取りプログラムを起動
クラウド+Raspberry pi の組み合わせで簡単なタイムレコーダーのプロトタイプを作ってみてるところ。
Raspberry piが起動したら、あとはバーコードを読み取るだけ!みたいな部分を作成。
肝心なタイムレコーダ部分はサーバ側で記録するのでシンプルなC/Sモデルで作ってます。
Raspberry piが起動した際に、自動でログインする状態に
/etc/inittab ファイルを修正
1:2345:respawn:/sbin/getty 38400 tty1
↓
#1:2345:respawn:/sbin/getty 38400 tty1
1:2345:respawn:/bin/login -f pi tty1 </dev/tty1>/dev/tty1 2>&1
ログイン後に起動するプログラムの作成
バーコードの読み取り結果をHTTPでPOSTするプログラムを記述。 単純にバーコードを読み取ると、キーボード入力で値を受け取れるので、その値をpostするだけという簡単仕様
#!/usr/bin/ruby require 'net/http' while str = STDIN.gets http = Net::HTTP.new('mitsugeek.net') #接続先ドメイン response = http.post('/test.php', 'barcode='+str.strip) #接続先パスとPOSTパラメータ if response.body = "OK" then system('aplay -D plughw:0,0 -q ok.wav') #結果に問題なかった場合スピーカーで音声出力 end end
ログイン後にプログラムが起動するように設定
piユーザでログイン時に起動するプログラムとして、.bash_profile に記述
aplay -D plughw:0,0 -q init.wav #システム起動の音声出力 ruby barcode.rb #バーコード読み取りプログラムを起動
そしてreboot
起動した際に、起動音声が出力される。 起動音声や、バーコード読み取り時に出力する音声は、Open JTalkで、 「システムを起動しました」とか「読み取りました」みたいな音声ファイルを作成してみた。
バーコードを読み取ると、バーコードの読み取った値がサーバにPOSTされて、「読み取りました」の音声ファイルが再生される。
感想
クラウド+Raspberry pi の組み合わせはプロトタイプの作成にものすごく相性がよさそう。
今回はバーコードを利用したタイムレコーダーのプロトタイプだけども、
タイムカードの機械を買うより安上がりだったりする。
本格的に利用するとなると、セキュリティ部分が要になるのでこのままだと使えないけども。
通信の暗号化とか。アクセスキーとか。
参考
http://raspi.noob.jp/howto/auto-login/raspi.noob.jp
アマノ タイムカード タイムレコーダー ホワイト BX2000
- 発売日: 1996/07/01
- メディア: オフィス用品