3.5インチのUSBディスプレイについて調べを進めました。
表示デザインをカスタムする手段
この製品は専用のアプリからUSBを通したシリアル通信で画面のデータを送ります。
よって普通のディスプレイの様に好き勝手な表示はできません。
そこで専用のアプリが使う画像データを作る方法を探しました。
しかしネットを探す限り、メーカーはツールを非公開にしている模様。
唯一見つけられたのは、Pythonで書かれたオープンソースのツールでした。
というわけで、表示内容をカスタムする手段は2つに絞られます。
- Pythonのツールturing-smart-screen-pythonを使って1から作る。
- 専用アプリのテーマエディタで既存テーマを流用して作る
今回はPythonのツールを使って表示までやってみました。
turing-smart-screen-python
Githubにて開発されており、現在も機能アップの最中とのこと。
縦型表示にはまだ未対応だそうです。
専用アプリとは異なり、Pythonの動くLinux、Macでも動作可能。
Pythonのインストール
まずWindowsにPythonの環境を作ります。
と言ってもストアからアプリ入れるだけで完成。
“Windowsターミナル(管理者)”またはコマンドプロンプトを起動し、Python3と入力します。
すると勝手にMicrosoft Storeが起動するので、表示されたPython 3.10をインストール。
あとはコマンドラインからPython3が実行できるようになります。
ライブラリのインストールにはPIPを使うので、インストール&アプデしておきます。
PS W:\> python3 -m pip install --upgrade pip Requirement already satisfied: pip in c:\program files\windowsapps\pythonsoftwarefoundation.python.3.10_3.10.1776.0_x64__qbz5n2kfra8p0\lib\site-packages (22.2.1) Collecting pip Downloading pip-22.2.2-py3-none-any.whl (2.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 13.0 MB/s eta 0:00:00 Installing collected packages: pip WARNING: The scripts pip.exe, pip3.10.exe and pip3.exe are installed in 'C:\Users\xxxxx\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed pip-22.2.2 [notice] A new release of pip available: 22.2.1 -> 22.2.2 [notice] To update, run: C:\Users\xxxxx\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe -m pip install --upgrade pip
モジュールの追加
次に実行に必要な2つのライブラリ、pyserialとPillowを追加します。
PS W:\> pip install pyserial Collecting pyserial Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 kB 2.6 MB/s eta 0:00:00 Installing collected packages: pyserial Successfully installed pyserial-3.5 PS W:\> pip install Pillow Collecting Pillow Downloading Pillow-9.2.0-cp310-cp310-win_amd64.whl (3.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 20.9 MB/s eta 0:00:00 Installing collected packages: Pillow Successfully installed Pillow-9.2.0
コードダウンロード
プログラム本体を持ってきます。
上記ページの”Code”と書かれた緑色のアイコンを押し、”Download ZIP”を選びます。
ダウンロードできたら適当なフォルダに解凍します。
シリアルポートの設定
メモ帳で解凍したmain.pyを開きます。
上から15行目にあるCOM_PORT行をコメントアウトし、実際のCOMポートを指定を明示します。
# COM_PORT = "/dev/ttyACM0" COM_PORT = "COM4"
判別はデバイスマネージャーを開き、”ポート(COMとLPT)”にある”USBシリアルデバイス(COMx)”を確認すればわかります。
もし複数ある場合は一度3.5inch LCDからケーブルを抜き、消えたポートが正解。
実行
あとはコマンドラインで”python3 main.py”と実行すればOK。
非推奨命令が入ってる、とワーニングが毎秒表示されます。それを消すためmain.pyの先頭に
import warnings warnings.filterwarnings('ignore')
を追記しました。
表示は時間、バーグラフのデモ、任意のスタイルのテキストと壁紙。
開発中なのでmain.pyに直接表示する内容が記述されています。
そこを変更すれば日本語フォントを使ったり、別の壁紙にしたりは可能でした。
ただ専用アプリのようにハードウェアの情報を拾う機能が含まれていません。
そこは各自で用意してね、という事なのでしょう。
完全に1からデザインできるけれど、なかなか敷居が高いという事はわかりました。
次回は、専用アプリに含まれるテーマエディタを使ったカスタマイズについて書きます。