目的
社内の数値目標/現在値を可視化する
現場にリアルタイムで近い時間間隔で現在値をシェア/フィードバックする
利用した物
- 社内で破棄待ちのモニタ
- 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ライブラリをインストール
1 | # pip install requests |
ファイル配置
- /prj
- /kafun_display
- hanako.py (https://gist.github.com/mursts/2156713)
- kafun_display.py (下記ソース)
- /kafun_display
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #!/usr/bin/env python# coding:utf-8import smbus import time import json import re from hanako import Hanako# initbus = smbus.SMBus(1) ## set 7seg bright min 0x00 max 0xffbus.write_byte_data(0x12, 0x80, 0x50) ## clear displaybus.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 APIdef 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 Displayhour, 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
1 | */5 * * * * root /prj/kafun_display/kafun_display.py 2>&1 >/dev/null |
投稿者プロフィール
-
Japan AWS Ambassadors 2023, 2024
開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て
2010年よりスカイアーチネットワークスに在籍しております
機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。









