Raspberry Piと7セグLEDを利用して社内目標を可視化①

目的

社内の数値目標/現在値を可視化する
現場にリアルタイムで近い時間間隔で現在値をシェア/フィードバックする

利用した物

  1. 社内で破棄待ちのモニタ
  2. Raspberry Pi
  3. HDMI → VGA 変換アダプタ
    Amazon最安値でRaspberry Pi利用報告があったものを使いました。
  4. 7セグディスプレイ
    下記で販売されている i2Cプロトコル対応の物です
    http://www.akafugu.jp/ja/posts/products/twidisplay/
  5. ディスプレイ吊りアーム
    本来机に挟んで利用するタイプの物ですが、パーティションに無理やり噛ませました

とりあえず何か表示してみる

マジメな話では、MSPとして残インシデントチケット数や障害対応クローズ時間の平均値を表示する予定なのですが

この時期という事もあり、下記のようなコードで現在の花粉量を5分毎に表示してみます(笑

IMG_2418
動作イメージ

i2cディスプレイ制御/Raspberry Pi設定について

下記をご参考に下さい
raspberrypi i2c で検索して出てきた情報を利用しました。
Linuxのカーネルモジュール動作設定が必要となりました。

Pythonのはなこさん情報取得ライブラリを利用

利用させて頂きます、ありがとうございます
https://gist.github.com/mursts/2156713
requestsライブラリをインストール

# pip install requests

ファイル配置

ソースコード

#!/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

投稿者プロフィール

takashi
Japan AWS Ambassadors 2023-
開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て
2010年よりスカイアーチネットワークスに在籍しております

機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

ABOUTこの記事をかいた人

Japan AWS Ambassadors 2023- 開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て 2010年よりスカイアーチネットワークスに在籍しております 機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。