「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のサイトに対応機種が示されているので参考にしてください。
・検証に使用したディスプレイ
・作業中にゆったり音楽を聴ける環境に最適です。オーディオテクニカ ATH-M20xBT
もしかすると興味が沸くデバイスの紹介
必要ソフトウェアの準備
必要なソフトウェアを以下のリンクからダウンロードします。
【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の作成方法】
- 自身で作成するTheme名のフォルダをデスクトップなどに作成します。例えば「KARADA-GOOD」とします。
- 「turing-smart-screen-python-3.3.3」フォルダの「res\themes」にある、「theme_example.yaml」を「KARADA-GOOD」にコピー後に「theme.yaml」と名前を変更します。
- 「theme.yaml」をメモ帳で開き、「display:」の「DISPLAY_ORIENTATION: portrait」を「DISPLAY_ORIENTATION: landscape」に変更します。「static_images:」、「BACKGROUND:」の「WIDTH: 480, HEIGHT: 320」に変更します。
- ファイル名「background.png」のpng画像を作成し「KARADA-GOOD」に保存します。ファイルサイズなどは先ほどの紹介を参考にしてください。また、ダウンロードした「favicon.png」も保存します。
- 「KARADA-GOOD」フォルダを「turing-smart-screen-python-3.3.3」フォルダの「res\themes」に移動します。
- Theme「KARADA-GOOD」は一部に日本語を表示しているので、「turing-smart-screen-python-3.3.3」フォルダの「res\fonts」に「NPLUS1」フォルダを作成、準備した「MPLUS1-Bold.ttf」をコピーします。
- コマンドプロンプトを管理者として実行し、以下のコマンドを実行します。
: 「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起動時に自動でプログラムを開始する方法
いちいち、コマンドプロンプトからモニターを起動するのは面倒ですので、タスクスケジューラーで自動的にモニタリングを開始するように設定します。設定は下記手順でおこないます。手順は多いですが、作業自体は簡単です。
- 「スタート」、「windows管理ツール」から「タスクスケジューラ」を起動します。
- 上部メニューの「操作」から「基本タスクの作成」を選択します。
- 基本タスクの作成ウィザードのダイアログが表示されます。
- 名前は仮に「turing-smart-screen-python」として、次へをクリックします。名前は好きに設定してかまいません。
- トリガーは「コンピューターの起動時」を選択します。
- 操作は「ログオン時」を選択します。
- 「プログラム/スクリプト」には「turing-smart-screen-pythonの導入」の「where pythonw.exe」で確認したパスを入力します。
- 引数の追加(オプション)には「main.py」と入力します。
- 開始(オプション)には「Source code(zip)を解凍したフォルダの場所」を入力します。記事の例では「C:\turing-smart-screen-python-3.3.3\」です。必ず末尾に「\」を加えてください。
- 次へをクリックすると完了のダイアログが表示されます。
- 下部の「完了」をクリックしたときに、このタスクの【プロパティ】ダイアログを開くにチェックします。
- 完了をクリックします。
- プロパティが表示されるので「セキュリティオプション内」の「最上位の特権で実行する」にチェックを入れて「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
少しでも、あなたの解析が楽になりますように!!