概要
PCのPythonスクリプトは、PCの画像をMQTTを使ってESP32に送くります。
ESP32は受け取った画像を2.8インチTFTディスプレイに表示します。
画像データは一つのメッセージで送るには大きすぎるので60分割して送ります。

環境
開発用PC(MINI2) | Windows11 |
Python | Python 3.13.0 |
2.8インチTFTディスプレイ | Freenove FNK0103F_2P8 |
Arduino IDE | Arduino IDE ver 2.3.4 |
ボード | ESP32 Dev Module |
MQTTブローカー用PC(GMK) | Windows11 |
プログラム一覧
TFT2p8_MQTT_show_all.ino | ESP32のプログラム トピックから購読したイメージデータ表示、図形の表示、日本語文字列の表示を行う。 |
TFT2p8_PUB_png.py | PCの画像データをファイル指定又はリストのファイルを一定間隔でトピックに投稿する。 |
TFT2p8_PUB_shapes.py | リストの図形データを一定間隔でトピックに投稿する。 |
TFT2p8_PUB_jJapanese.py | 日本語の文字列をトピックに投稿する。 |
トピック display/shapes
のJSON形式
使い方
➀ PC(GMK)を起動する。起動すればMQTTブローカーが起動する。
➁ 2.8インチTFTディスプレイを起動する。ESP32をUSB電源につなぐ、またはディスプレイの電源端子を5V電源につなぐ。
③ Pythonスクリプト(TFT2_8_PUB_png.py)を起動する。
※表示する画像はTFT2_8_PUB_png.pyのリスト(image_paths)に画像ファイルのパスを記述する。
キー | 意味 | 値の形式 | 指定可能な値 / 例 | 備考 |
shp | 図形/文字の種類 | 文字列 | "CR" : 円 "RC" : 長方形 "TR" : 三角形 "JP" : 日本語文字列 (サイズ1) "JP2" : 日本語文字列 (サイズ2) | このキーは必須です。 |
x | 描画開始点のX座標 | 整数 | 0 ~ 319 | 文字列の場合は、文字列の左上のX座標になります。 |
y | 描画開始点のY座標 | 整数 | 0 ~ 239 | 文字列の場合は、文字列の左上のY座標になります。 |
lng | 図形の大きさ | 整数 | 20 ~ 100 など | 円・長方形・三角形の場合に使用します。 JP , JP2 では使用されません。 |
clr | 図形/文字の色 | 文字列 | "BLACK" , "PURPLE" , "BLUE" , "GREEN" , "CYAN" , "RED" , "MAGENTA" , "YELLOW" , "WHITE" , "ORANGE" , "PINK" , "VIOLET" | |
str | 表示する文字列 | 文字列 | "こんにちは" など | shp が "JP" または "JP2" の場合にのみ使用されます。 |
プログラムの場所
➀Pythonスクリプト
C:\Users\%username%\Documents\012_ICTに関する備忘録\WordPress\さくらWordPressの各ページ\Freenove_ESP32_Display\src
➁Arduini IDE
C:\Users\%username%\Documents\Arduino\Freenove_ESP32_Display