目的
社内の数値目標/現在値を可視化する
現場にリアルタイムで近い時間間隔で現在値をシェア/フィードバックする
利用した物
- 社内で破棄待ちのモニタ
- 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
投稿者プロフィール
-
Japan AWS Ambassadors 2023, 2024
開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て
2010年よりスカイアーチネットワークスに在籍しております
機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。









