3.5インチIPSディスプレイでパソコン情報をモニタリング!!「turing-smart-screen-python」の設定と新規Themeの作成方法

Rの解析に役に立つ記事
スポンサーリンク

「3.5インチIPSディスプレイ」はパソコンのCPUやメモリなどの使用状況をリアルタイムに表示するガジェットです。

本ガジェットはオリジナルソフトウェアもしくは「turing-smart-screen-python」で動作しますが、オリジナルソフトウェアはGoogle ドライブでの提供が多いことや作成者が良くわからず使用するには不安です。

そのため、何とか使用する方法はないかと調査したところ、Pythonを利用したオープンソースの「turing-smart-screen-python」で動作することがわかりました。

そこで、windows11で設定と新規Themeの作成方法を確認し、まとめたので紹介します。

本記事を参考にするとTheme作成が少し面倒ですが、オリジナルのThemeでモニタリングが可能です。

記事が誰かの役に立ちますように。

スポンサーリンク

「turing-smart-screen-python」のURL

最新情報は下記より確認してください。

・turing-smart-screen-python

https://github.com/mathoudebine/turing-smart-screen-python

検証に使用した3.5インチIPSディスプレイ

turing-smart-screen-pythonのサイトに対応機種が示されているので参考にしてください。

・検証に使用したディスプレイ

https://amzn.to/3NTaU9q

https://amzn.to/3yMjdPS

・作業中にゆったり音楽を聴ける環境に最適です。オーディオテクニカ ATH-M20xBT

https://amzn.to/3z6nA8I

もしかすると興味が沸くデバイスの紹介

必要ソフトウェアの準備

必要なソフトウェアを以下のリンクからダウンロードします。

【turing-smart-screen-pythonのダウンロード】

リンク先から「Source code (zip)」をダウンロードします。紹介ではRelease 3.3.3を使用しました。

https://github.com/mathoudebine/turing-smart-screen-python/releases

【Python 3.11.6のダウンロード】

現在のところ、turing-smart-screen-pythonに対応するPythonは Version 3.12以下です。ソフトウェアの導入時にVersion 3.12だとエラーが出て先に進めることが出来ません。

https://www.python.org/downloads/

【M PLUS 1フォントのダウンロード】

作成Themeで日本語を使用する場合にはフォントを準備する必要があります。オープンソースで理宇用可能なM PLUS 1フォントがGoogle Fontsよりダウンロード可能です。既読性も高くお勧めです。

https://fonts.google.com/specimen/M+PLUS+1

【favicon.pngの保存】

下記のからだにいいもの「favicon.png」ファイルを右クリックで保存します。

turing-smart-screen-pythonとpythonインストール時注意

【turing-smart-screen-python-3.3.3について】

turing-smart-screen-python-3.3.3の「Source code (zip)」を適切な場所へ解凍します。解凍後のフォルダの保存場所はCドライブの直下でも構いません。保存場所は必ずメモ帳などに記録しましょう。

解凍後、ファイルのプロパティでセキュリティを確認します。大抵は写真で赤枠で囲ったセキュリティのように「このファイルは他のコンピューターから取得したものです。・・・」になっています。

このままだと、turing-smart-screen-python-3.3.3の構築がエラーとなります。

解決方法は、解凍後のフォルダをzipファイルに圧縮後、解凍することです。手間ですが本作業をおこなうことで問題発生のリスクが低減します。

【Python 3.11.6のインストールについて】

Phthonのインストールで注意する点は、赤枠で囲った「パスの設定」にチェックを入れるだけです。インストールファイルを実行すると下記写真の画面がすぐに表示されます。

turing-smart-screen-pythonの導入

コマンドプロンプトを管理者として実行で起動します。個人的には「スタート」を右クリック、「ファイル名を指定して実行」をクリック、「cmd」と入力後に「shift+ctrl, enter」の同時押しで起動するのが簡単だと思います。

その他のやり方には「すべてのアプリ」から「windowsツール」をクリック、表示されるフォルダから「コマンドプロンプト」を右クリックし「管理者として実行」で起動します。

コマンドプロンプトで以下を順番に実行します。

1.【Pythonのインストール先を確認】

コマンドプロンプトに「where pythonw.exe」を入力して実行します。表示されたパスは後で使用するので必ずメモ帳などにコピーし保存します。

2.【turing-smart-screen-python-3.3.3の導入コマンド】

コマンドは先ほど準備した「turing-smart-screen-python-3.3.3」のフォルダへ移動し、フォルダ内の「requirements.txt」から必要なPythonライブラリを導入する内容です。以降のコマンドは環境によっては「python.exe」の部分を「python3」、「py -3」に変更する必要があるかもしれません。適時、修正してください。

: 「turing-smart-screen-python-3.3.3」のフォルダへ移動
cd C:\turing-smart-screen-python-3.3.3
: 「requirements.txt」から必要なPythonライブラリを導入
python.exe -m pip install -r requirements.txt

3.【turing-smart-screen-pythonの動作を確認】

上記作業が完了したら、コマンドプロンプトで下記コマンドを実行します。

: Turing System Monitor configurationの起動
python.exe .\configure.py

下記の写真のように「Turing System Monitor configuration」が起動します。Themeの表示が異なりますが作業に問題はありません。

なお、例ではSmart screen modelは「Turing Smart Screen」を選択しています。購入先によりモデルが異なりますので、動作しない場合はモデルを変更し試してみてください。モデルが適切でないとSave and runをクリックしても、コマンドプロンプトでCOM portエラーが表示されて動作しません。

「Turing System Monitor configuration」からはThemeの編集や表示設定を調整可能です。「Edit theme」をクリックするとThemeの「config.yaml」が開き、リアルタイムにThemeの編集が可能です。「Save and run」をクリックすると3.5インチIPSディスプレイにThemeが表示されます。

以上で「turing-smart-screen-python」の導入が完了です。

新規Themeの作成方法

Theme作成で必須なファイルは表示設定を記述する「config.yaml」と「ベース画像」です。「ベース画像」は3.5 inchモニタであれば「横表示: 480*320 もしくは 縦表示: 320*480」のサイズです。例ではRの「aRtsy」パッケージを使用して「横表示: 480*320」を作成しました。下記がコマンドです。

# Rで解析:Rでアート「aRtsy」パッケージ:https://www.karada-good.net/analyticsr/r-644/
# パッケージのインストール
install.packages("aRtsy")
# パッケージの読み込み
library(aRtsy)
# 画像作成
set.seed(19800328)
canvas_collatz(colors = c("#deb7a0", "pink", "yellow", "#4b61ba", "white"),
               background = "black", n = 550,
               angle.even = 0.0079, angle.odd = 0.01459, side = FALSE) 

そして、以下の手順を実行することで新規Themeの作成が可能です。また、記事冒頭写真のTheme「KARADA-GOOD」の「config.yaml」を記事最後尾に紹介しますので記述の参考としてください。

【新規Themeの作成方法】

  1. 自身で作成するTheme名のフォルダをデスクトップなどに作成します。例えば「KARADA-GOOD」とします。
  2. 「turing-smart-screen-python-3.3.3」フォルダの「res\themes」にある、「theme_example.yaml」を「KARADA-GOOD」にコピー後に「theme.yaml」と名前を変更します。
  3. 「theme.yaml」をメモ帳で開き、「display:」の「DISPLAY_ORIENTATION: portrait」を「DISPLAY_ORIENTATION: landscape」に変更します。「static_images:」、「BACKGROUND:」の「WIDTH: 480, HEIGHT: 320」に変更します。
  4. ファイル名「background.png」のpng画像を作成し「KARADA-GOOD」に保存します。ファイルサイズなどは先ほどの紹介を参考にしてください。また、ダウンロードした「favicon.png」も保存します。
  5. 「KARADA-GOOD」フォルダを「turing-smart-screen-python-3.3.3」フォルダの「res\themes」に移動します。
  6. Theme「KARADA-GOOD」は一部に日本語を表示しているので、「turing-smart-screen-python-3.3.3」フォルダの「res\fonts」に「NPLUS1」フォルダを作成、準備した「MPLUS1-Bold.ttf」をコピーします。
  7. コマンドプロンプトを管理者として実行し、以下のコマンドを実行します。
: 「turing-smart-screen-python-3.3.3」のフォルダへ移動
cd C:\turing-smart-screen-python-3.3.3
: 「KARADA-GOODのThemeをtheme-editor」で編集する
python.exe theme-editor.py KARADA-GOOD

Windows起動時に自動でプログラムを開始する方法

いちいち、コマンドプロンプトからモニターを起動するのは面倒ですので、タスクスケジューラーで自動的にモニタリングを開始するように設定します。設定は下記手順でおこないます。手順は多いですが、作業自体は簡単です。

  1. 「スタート」、「windows管理ツール」から「タスクスケジューラ」を起動します。
  2. 上部メニューの「操作」から「基本タスクの作成」を選択します。
  3. 基本タスクの作成ウィザードのダイアログが表示されます。
  4. 名前は仮に「turing-smart-screen-python」として、次へをクリックします。名前は好きに設定してかまいません。
  5. トリガーは「コンピューターの起動時」を選択します。
  6. 操作は「ログオン時」を選択します。
  7. 「プログラム/スクリプト」には「turing-smart-screen-pythonの導入」の「where pythonw.exe」で確認したパスを入力します。
  8. 引数の追加(オプション)には「main.py」と入力します。
  9. 開始(オプション)には「Source code(zip)を解凍したフォルダの場所」を入力します。記事の例では「C:\turing-smart-screen-python-3.3.3\」です。必ず末尾に「\」を加えてください。
  10. 次へをクリックすると完了のダイアログが表示されます。
  11. 下部の「完了」をクリックしたときに、このタスクの【プロパティ】ダイアログを開くにチェックします。
  12. 完了をクリックします。
  13. プロパティが表示されるので「セキュリティオプション内」の「最上位の特権で実行する」にチェックを入れて「OK」をクリックします。

なお、各種エラーは「turing-smart-screen-python-3.3.3」フォルダの「log.log」ファイルで確認します。

Theme「KARADA-GOOD」の「config.yaml」

実行環境により、全ての情報が表示されるとは限りません。例えば、インテルN100搭載のCHUWI LarkBox X2023ではGPU Infometionは表示されません。

author: "KARADA-GOOD https://www.karada-good.net/"
display:
  DISPLAY_SIZE: 3.5"
  DISPLAY_ORIENTATION: landscape
static_images:
  BACKGROUND:
    PATH: background.png 
    Y: 0
    X: 0
    WIDTH: 480
    HEIGHT: 320
  KARADA_LOGO:
    PATH: favicon.png
    Y: 225
    X: 437
    WIDTH: 32
    HEIGHT: 32
static_text:
  TEXT_CPU:
   TEXT: CPU Infometion
   Y: 20
   X: 10
   FONT: roboto-mono\RobotoMono-Bold.ttf
   FONT_SIZE: 20
   FONT_COLOR: 168, 121, 99
   BACKGROUND_IMAGE: background.png
   
  TEXT_Memory:
   TEXT: Memory Infometion
   Y: 115
   X: 10
   FONT: roboto-mono\RobotoMono-Bold.ttf
   FONT_SIZE: 20
   FONT_COLOR: 75, 97, 186
   #BACKGROUND_COLOR: 255, 255, 255
   BACKGROUND_IMAGE: background.png
  TEXT_GPU:
   TEXT: GPU Infometion
   Y: 210
   X: 10
   FONT: roboto-mono\RobotoMono-Bold.ttf
   FONT_SIZE: 20
   FONT_COLOR: 210, 217, 114
   #BACKGROUND_COLOR: 255, 255, 255
   BACKGROUND_IMAGE: background.png
  TEXT_DISK:
   TEXT: DISK Infometion
   Y: 20
   X: 300
   FONT: roboto-mono\RobotoMono-Bold.ttf
   FONT_SIZE: 20
   FONT_COLOR: 214, 195, 225
   #BACKGROUND_COLOR: 255, 255, 255
   BACKGROUND_IMAGE: background.png
STATS:
  CPU:
    PERCENTAGE:
      INTERVAL: 1
      TEXT:
        SHOW: true
        SHOW_UNIT: true
        Y: 52.5
        X: 98
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 18
        FONT_COLOR: 168, 121, 99
        BACKGROUND_IMAGE: background.png
      GRAPH:
        SHOW: True
        Y: 40
        X: 12
        WIDTH: 155
        HEIGHT: 6
        MIN_VALUE: 0
        MAX_VALUE: 100
        BAR_COLOR: 168, 121, 99
        BAR_OUTLINE: True
        BACKGROUND_IMAGE: background.png
      RADIAL:
        SHOW: True
        Y: 82
        X: 42
        RADIUS: 30
        WIDTH: 10
        MIN_VALUE: 0
        MAX_VALUE: 100
        ANGLE_START: 120
        ANGLE_END: 60
        ANGLE_STEPS: 20
        ANGLE_SEP: 5
        CLOCKWISE: True
        BAR_COLOR: 168, 121, 99
        SHOW_TEXT: True
        SHOW_UNIT: True
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 13
        FONT_COLOR: 168, 121, 99
        BACKGROUND_IMAGE: background.png
    FREQUENCY:
      INTERVAL: 5
      TEXT:
        SHOW: True
        SHOW_UNIT: True
        Y: 73
        X: 87
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 18
        FONT_COLOR: 168, 121, 99
        BACKGROUND_IMAGE: background.png
    TEMPERATURE:
      INTERVAL: 5
      TEXT:
        SHOW: True
        SHOW_UNIT: True
        Y: 95
        X: 90
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 18
        FONT_COLOR: 168, 121, 99
        #BACKGROUND_COLOR: 0, 0, 0
        BACKGROUND_IMAGE: background.png
  MEMORY:
    INTERVAL: 5
    VIRTUAL:
      GRAPH:
        SHOW: True
        Y: 135
        X: 11
        WIDTH: 155
        HEIGHT: 6
        MIN_VALUE: 0
        MAX_VALUE: 100
        BAR_COLOR: 75, 97, 186
        BAR_OUTLINE: True
        # BACKGROUND_COLOR: 0, 0, 0
        BACKGROUND_IMAGE: background.png
      RADIAL:
        SHOW: True
        Y: 177
        X: 42
        RADIUS: 30
        WIDTH: 8
        MIN_VALUE: 0
        MAX_VALUE: 100
        ANGLE_START: 120
        ANGLE_END: 70
        ANGLE_STEPS: 20
        ANGLE_SEP: 5
        CLOCKWISE: True
        BAR_COLOR: 75, 97, 186
        SHOW_TEXT: True
        SHOW_UNIT: True
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 13
        FONT_COLOR: 75, 97, 186
        BACKGROUND_IMAGE: background.png
      USED:
        SHOW: True
        SHOW_UNIT: True
        Y: 148
        X: 87
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 18
        FONT_COLOR: 75, 97, 186
        BACKGROUND_IMAGE: background.png
      FREE:
        SHOW: True
        SHOW_UNIT: True
        Y: 169
        X: 87
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 18
        FONT_COLOR: 75, 97, 186
        BACKGROUND_IMAGE: background.png
      PERCENT_TEXT:
        SHOW: True
        SHOW_UNIT: True
        Y: 190
        X: 87
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 18
        FONT_COLOR: 75, 97, 186
        BACKGROUND_IMAGE: background.png
  GPU:
    INTERVAL: 1
    PERCENTAGE:
      GRAPH:
        SHOW: true
        Y: 229
        X: 11
        WIDTH: 155
        HEIGHT: 6
        MIN_VALUE: 0
        MAX_VALUE: 100
        BAR_COLOR: 210, 217, 114
        BAR_OUTLINE: true
        # BACKGROUND_COLOR: 0, 0, 0
        BACKGROUND_IMAGE: background.png
      RADIAL:
        SHOW: true
        Y: 272
        X: 42
        RADIUS: 30
        WIDTH: 8
        MIN_VALUE: 0
        MAX_VALUE: 100
        ANGLE_START: 110
        ANGLE_END: 70
        ANGLE_STEPS: 20
        ANGLE_SEP: 5
        CLOCKWISE: True
        BAR_COLOR: 210, 217, 114
        SHOW_TEXT: True
        SHOW_UNIT: True
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 13
        FONT_COLOR: 210, 217, 114
        # BACKGROUND_COLOR: 0, 0, 0
        BACKGROUND_IMAGE: background.png
      TEXT:
        SHOW: true
        SHOW_UNIT: True
        Y: 243
        X: 87
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 18
        FONT_COLOR: 210, 217, 114
        # BACKGROUND_COLOR: 132, 154, 165
        BACKGROUND_IMAGE: background.png
    TEMPERATURE:
      TEXT:
        SHOW: true
        SHOW_UNIT: True
        Y: 264
        X: 95
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 18
        FONT_COLOR: 210, 217, 114
        # BACKGROUND_COLOR: 50, 50, 50
        BACKGROUND_IMAGE: background.png
    FPS:
      TEXT:
        SHOW: true
        SHOW_UNIT: true
        Y: 285
        X: 95
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 18
        FONT_COLOR: 210, 217, 114
        # BACKGROUND_COLOR: 50, 50, 50
        BACKGROUND_IMAGE: background.png
  
  DISK:
    INTERVAL: 10
    USED:
      GRAPH:
        SHOW: true
        Y: 40
        X: 300
        WIDTH: 160
        HEIGHT: 6
        MIN_VALUE: 0
        MAX_VALUE: 100
        BAR_COLOR: 214, 195, 225
        BAR_OUTLINE: true
        # BACKGROUND_COLOR: 0, 0, 0
        BACKGROUND_IMAGE: background.png
      RADIAL:
        SHOW: true
        Y: 80
        X: 328
        RADIUS: 30
        WIDTH: 8
        MIN_VALUE: 0
        MAX_VALUE: 100
        ANGLE_START: 110
        ANGLE_END: 70
        ANGLE_STEPS: 20
        ANGLE_SEP: 5
        CLOCKWISE: True
        BAR_COLOR: 214, 195, 225
        SHOW_TEXT: True
        SHOW_UNIT: True
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 13
        FONT_COLOR: 214, 195, 225
        # BACKGROUND_COLOR: 0, 0, 0
        BACKGROUND_IMAGE: background.png
      TEXT:
        SHOW: true
        SHOW_UNIT: True
        Y: 52.5
        X: 380
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 18
        FONT_COLOR: 214, 195, 225
        # BACKGROUND_COLOR: 132, 154, 165
        BACKGROUND_IMAGE: background.png
      PERCENT_TEXT:
        SHOW: true
        SHOW_UNIT: True
        Y: 73
        X: 380
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 18
        FONT_COLOR: 214, 195, 225
        # BACKGROUND_COLOR: 132, 154, 165
        BACKGROUND_IMAGE: background.png
    TOTAL:
      TEXT:
        SHOW: true
        SHOW_UNIT: True
        Y: 95
        X: 380
        FONT: roboto-mono\RobotoMono-Bold.ttf
        FONT_SIZE: 18
        FONT_COLOR: 214, 195, 225
        # BACKGROUND_COLOR: 132, 154, 165
        BACKGROUND_IMAGE: background.png
  DATE:
    INTERVAL: 1
    DAY:
      TEXT:
        FORMAT: full
        SHOW: true
        Y: 260
        X: 270
        FONT: MPLUS1\MPLUS1-Bold.ttf
        FONT_SIZE: 20
        FONT_COLOR: 200, 200, 200
        # BACKGROUND_COLOR: 50, 50, 50
        BACKGROUND_IMAGE: background.png
    HOUR:
      TEXT:
        FORMAT: medium
        SHOW: true
        Y: 285
        X: 365
        FONT: MPLUS1\MPLUS1-Bold.ttf
        FONT_SIZE: 25
        FONT_COLOR: 200, 200, 200
        # BACKGROUND_COLOR: 50, 50, 50
        BACKGROUND_IMAGE: background.png

少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました