目的
社内の数値目標/現在値を可視化する
現場にリアルタイムで近い時間間隔で現在値をシェア/フィードバックする
利用した物
- 社内で破棄待ちのモニタ
- Raspberry Pi
- HDMI → VGA 変換アダプタ
Amazon最安値でRaspberry Pi利用報告があったものを使いました。 - 7セグディスプレイ
下記で販売されている i2Cプロトコル対応の物です
http://www.akafugu.jp/ja/posts/products/twidisplay/ - ディスプレイ吊りアーム
本来机に挟んで利用するタイプの物ですが、パーティションに無理やり噛ませました
とりあえず何か表示してみる
マジメな話では、MSPとして残インシデントチケット数や障害対応クローズ時間の平均値を表示する予定なのですが
この時期という事もあり、下記のようなコードで現在の花粉量を5分毎に表示してみます(笑
i2cディスプレイ制御/Raspberry Pi設定について
下記をご参考に下さい
raspberrypi i2c で検索して出てきた情報を利用しました。
Linuxのカーネルモジュール動作設定が必要となりました。
Pythonのはなこさん情報取得ライブラリを利用
利用させて頂きます、ありがとうございます
https://gist.github.com/mursts/2156713
requestsライブラリをインストール
# pip install requests
ファイル配置
- /prj
- /kafun_display
- hanako.py (https://gist.github.com/mursts/2156713)
- kafun_display.py (下記ソース)
- /kafun_display
ソースコード
#!/usr/bin/env python # coding:utf-8 import smbus import time import json import re from hanako import Hanako # init bus = smbus.SMBus(1) ## set 7seg bright min 0x00 max 0xff bus.write_byte_data(0x12, 0x80, 0x50) ## clear display bus.write_byte(0x12, 0x82) def display(seg, num): bus.write_byte(seg, 0x82) for i in list(str(num)): bus.write_byte(seg, int(i)) time.sleep(0.01) # GetKafun Data from API def get_kafun(area, mst): hanako = Hanako(area, mst) enc = json.dumps(hanako.now()) dec = json.loads(enc) return dec['hour'], dec['pollen'] ## get Kafun and Display hour, kafun = get_kafun('03', '51300100') display(0x12, re.match("\d*", hour).group()) time.sleep(5) bus.write_byte(0x12, 0x82) display(0x12, kafun)
/etc/crontab
*/5 * * * * root /prj/kafun_display/kafun_display.py 2>&1 >/dev/null