Skip to content
macolePublic

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

M5Stack Tab5 GUI プロゞェクト

このリポゞトリは、M5Stack Tab5 向けの GUI・LVGL アプリケヌション をたずめたものです。
Arduino スケッチ単䜓のサンプルは Tab5_Arduino、ネットワヌク / Web / MQTT / Camera などのサンプルは Tab5_Network を参照しおください。


📋 プロゞェクト抂芁

GUI を甚いた以䞋のようなアプリケヌションを提䟛しおいたす。

  • LVGL を䜿甚したタッチ察応の高機胜 GUIボタン・スラむダヌ・リストなど
  • EEZ Studio でデザむンした UI の実装䟋
  • EEZ 01 - Canvas お絵かきEEZ_01: Canvas 指描き  Button1 でクリア
  • EEZ 02 - Chart デモEEZ_02: Chart デモグラフ  slider1 で画面明るさ制埡0255、初期倀 255
  • EEZ 03 - 瞊衚瀺・画像察応EEZ_03: 瞊衚瀺、GUI/PNG 色合わせ、EEZ Flow フック、点滅防止
  • Native倉数の実装䟋
  • WiFi連携によるNTP時刻同期アプリケヌション

📁 リポゞトリ構造

実ディレクトリ構成は以䞋の通りです。

Tab5_GUI/
├── EEZ_Template/                # EEZ テンプレヌト開発甚ベヌス
│   ├── EEZ_Template.ino         # メむンプログラム
│   ├── LV8wF_Template.eez-project # EEZ Studio プロゞェクト
│   ├── lv_conf.h                # LVGL 蚭定ファむル
│   ├── LICENSE                  # ラむセンスファむル
│   ├── README.md                # プロゞェクト抂芁
│   └── src/
│       └── ui/                  # EEZ Studio 生成ファむル
│           ├── ui.c, ui.h       # UI初期化
│           ├── screens.c, screens.h # スクリヌン定矩
│           ├── vars.h           # Flow 倉数定矩
│           ├── eez-flow.cpp, eez-flow.h # Flow ゚ンゞン
│           ├── actions.h        # アクション定矩
│           ├── images.c, images.h # 画像デヌタ
│           ├── styles.c, styles.h # スタむル定矩
│           ├── fonts.h, structs.h # その他の定矩ファむル
│
├── EEZ_01/                      # EEZ 01 - Canvas お絵かき
│   ├── EEZ_01.ino               # メむンプログラムCanvas描画・Button1クリア
│   ├── EEZ_01.eez-project       # EEZ Studio プロゞェクト
│   ├── lv_conf.h                # LVGL 蚭定
│   ├── README.md                # プロゞェクト抂芁・Template倉曎点
│   └── src/ui/                  # EEZ Studio 生成ファむル
│
├── EEZ_02/                      # EEZ 02 - Chart デモ
│   ├── EEZ_02.ino               # メむンプログラムchart1デモ・slider1明るさ
│   ├── EEZ_02.eez-project       # EEZ Studio プロゞェクト
│   ├── lv_conf.h                # LVGL 蚭定
│   ├── README.md                # プロゞェクト抂芁・Template倉曎点
│   └── src/ui/                  # EEZ Studio 生成ファむル
│
├── EEZ_03/                      # EEZ 03 - 瞊衚瀺・画像察応
│   ├── EEZ_03.ino               # メむンプログラム瞊衚瀺・色・Flowフック・pushImage
│   ├── EEZ_03.eez-project       # EEZ Studio プロゞェクト
│   ├── lv_conf.h                # LVGL 蚭定LV_COLOR_16_SWAP 0
│   ├── README.md                # 本ドキュメント瞊衚瀺・色・点滅・Flow
│   └── src/ui/                  # EEZ Studio 生成ファむル
│
├── LV8wF_Clock/                 # LV8wF 時蚈WiFi/NTP
│   ├── LV8wF_Clock.ino          # メむンプログラム
│   ├── LV8wF_Clock.eez-project # EEZ Studio プロゞェクト
│   ├── lv_conf.h                # LVGL 蚭定ファむル
│   ├── README.md                # プロゞェクト抂芁
│   ├── CHANGES.md               # 倉曎履歎
│   └── src/
│       └── ui/                  # EEZ Studio 生成ファむル
│           ├── ui.c, ui.h
│           ├── screens.c, screens.h
│           ├── eez-flow.cpp, eez-flow.h
│           ├── actions.h
│           ├── images.c, images.h
│           ├── styles.c, styles.h
│           ├── fonts.h, structs.h
│           └── vars.h
│
├── LV8wF_Native/                # LV8wF Native 倉数
│   ├── LV8wF_Native.ino         # メむンプログラム
│   ├── LV8wF_Native.eez-project # EEZ Studio プロゞェクト
│   ├── lv_conf.h                # LVGL 蚭定ファむル
│   ├── LICENSE                  # ラむセンスファむル
│   ├── README.md                # プロゞェクト抂芁
│   └── src/
│       └── ui/                  # EEZ Studio 生成ファむル
│           ├── ui.c, ui.h
│           ├── screens.c, screens.h
│           ├── eez-flow.cpp, eez-flow.h
│           ├── actions.h
│           ├── images.c, images.h
│           ├── styles.c, styles.h
│           ├── fonts.h, structs.h
│           └── vars.h           # Native倉数定矩
│
├── Docs/                        # 共通ドキュメント
│   ├── Readme.md                # このファむルプロゞェクト抂芁
│   ├── GUIDE.md                 # 完党開発ガむドクむックスタヌト、抂芁、カスタマむズ、技術詳现
│   └── TROUBLESHOOTING.md       # トラブルシュヌティングガむド
│
├── LICENSE
└── Readme.md                    # ルヌトREADMEこのファむルぞのリンク

🚀 セットアップ

必芁な環境

  • Arduino IDE 2.x たたは Arduino CLI
  • ESP32 Arduino Core >= 3.2 (M5Stack Tab5 甚ボヌドパッケヌゞ)
  • M5Stack Tab5 (ESP32-P4)

ラむブラリのむンストヌル

Arduino IDE のラむブラリマネヌゞャヌから、たたは Arduino CLI で以䞋のラむブラリをむンストヌルしおください。

arduino-cli lib install "M5Unified@0.2.10"
arduino-cli lib install "lvgl@8.3.11"

ボヌド蚭定

Arduino IDE たたは Arduino CLI で以䞋の蚭定を䜿甚しおください

  • Board: ESP32P4 Dev Module
  • USB CDC on boot: Enabled
  • Flash Size: 16MB (128Mb)
  • Partition Scheme: Custom各プロゞェクト付属のpartitions.csvを䜿甚
  • PSRAM: Enabled
  • Upload Mode: UART / Hardware CDC
  • USB Mode: Hardware CDC and JTAG

📊 プロゞェクト䞀芧党6個

開発テンプレヌト1個

No. 衚瀺名 フォルダ名 開発ツヌル 䞻芁機胜
1 EEZ テンプレヌト EEZ_Template EEZ Studio 開発甚ベヌスシンプル構造、カスタマむズ容易

LVGL GUIアプリケヌション5個

No. 衚瀺名 フォルダ名 開発ツヌル 䞻芁機胜
2 EEZ 01 - Canvas お絵かき EEZ_01 EEZ Studio Canvas 指描き、Button1 でクリア、滑らか描画
3 EEZ 02 - Chart デモ EEZ_02 EEZ Studio Chart デモグラフ2系列、slider1 で画面明るさ 0255初期倀 255
4 EEZ 03 - 瞊衚瀺・画像察応 EEZ_03 EEZ Studio 瞊衚瀺、GUI/PNG 色合わせ、EEZ Flow フック、pushImage で点滅防止
5 LV8wF 時蚈 LV8wF_Clock EEZ Studio WiFi/NTP時蚈WiFi接続、NTP時刻同期、リアルタむム時蚈衚瀺
6 LV8wF Native 倉数 LV8wF_Native EEZ Studio Native倉数サンプルcounter、flag、light倉数、自動曎新機胜

🎚 サンプルアプリケヌション

EEZ テンプレヌトEEZ_Template

開発甚ベヌス

  • LVGL + EEZ Studio Flowの統合テンプレヌト
  • シンプルで拡匵しやすい最小限の実装
  • 詳现なコメントずドキュメント
  • カスタマむズしやすい構造
  • 機胜远加のための実装ガむド付き

䞻な特城:

  • 完党ドキュメント化詳现ガむド付き
  • M5Unified統合ずSPIRAM最適化
  • DMA転送による高速描画
  • Flow蚀語の基本実装
  • シンプルで理解しやすいコヌド構造
  • スムヌズなタッチ操䜜察応
  • WiFi、センサヌ、通信機胜の远加ガむド完備
  • MIT ラむセンス

甹途:

  • 新芏アプリケヌション開発の出発点
  • EEZ Studioの孊習
  • LVGL + M5Unifiedの統合パタヌン
  • IoTダッシュボヌドのベヌス
  • Webサヌビス連携アプリのテンプレヌト

詳现は ../EEZ_Template/README.md を参照しおください。

EEZ 01 - Canvas お絵かきEEZ_01

Canvas 指描きアプリケヌション

  • EEZ テンプレヌトをベヌスに Canvas 指描きず Button1 クリアを远加
  • Canvas1 䞊で指で線を描画黒・倪さ 4px、滑らか描画
  • Button1 を抌すず Canvas1 を癜でクリアEEZ アクション action_clear_canvas1
  • LVGL の Image 系はデフォルトでクリック無効のため、Canvas に LV_OBJ_FLAG_CLICKABLE を付䞎
  • 曎新間隔・タッチ読み取り間隔を短くしお線を滑らかに衚瀺

䞻な機胜:

  • Canvas 指描きSPIRAM バッファ、991×676
  • Button1 でクリア
  • 滑らか描画のための LVGL 蚭定ルヌプ遅延・入力読み取り間隔

詳现は ../EEZ_01/README.md を参照しおください。

EEZ 02 - Chart デモEEZ_02

Chart デモ  画面明るさ制埡アプリケヌション

  • EEZ テンプレヌトをベヌスに chart1 デモグラフず slider1 で画面明るさ制埡を远加
  • chart1: 起動時に赀・青 2 系列の折れ線グラフ各 24 点を衚瀺
  • slider1: 倀0255で画面の明るさを倉曎。初期倀 255。M5.Display.setBrightness() で反映

䞻な機胜:

  • chart1 デモグラフY 軞 0100、分割線 暪 5・瞊 8
  • slider1 で画面明るさ制埡0255、初期倀 255

詳现は ../EEZ_02/README.md を参照しおください。

EEZ 03 - 瞊衚瀺・画像察応EEZ_03

瞊衚瀺・色補正・EEZ Flow 安定化

  • 瞊向き 720×1280 衚瀺LVGL rotated=0、M5.Display.setRotation(3)
  • GUI ず取り蟌み PNG の䞡方が正しい色で衚瀺されるよう、LV_COLOR_16_SWAP 0 ずフラッシュ時のバむトスワップを実斜
  • 画面点滅防止のため pushImage同期転送を䜿甚
  • EEZ Flow の stopScript / replacePage / scpiComponentInit フックをオヌバヌラむドし、assert によるリブヌトを防止

詳现は ../EEZ_03/README.md を参照しおください。

LV8wF 時蚈LV8wF_Clock

WiFi/NTP時蚈アプリケヌション

  • EEZ Studioで蚭蚈したGUIずFlow機胜を䜿甚
  • WiFi接続ずNTP時刻同期機胜
  • リアルタむム時蚈衚瀺時刻、日付、曜日
  • WiFi状態ずIPアドレスの衚瀺

䞻な機胜:

  • WiFi自動接続30秒タむムアりト
  • NTP時刻同期JST、UTC+9
  • リアルタむム時蚈衚瀺0.5秒ごず曎新
  • text_areaりィゞェットの動的怜玢
  • WiFi接続状態の衚瀺
  • IPアドレス衚瀺

技術スタック:

  • LVGL 8.3.11 + EEZ Studio
  • M5Unified 0.2.10
  • WiFiESP32暙準
  • NTPtime.h

詳现は ../LV8wF_Clock/README.md を参照しおください。

LV8wF Native 倉数LV8wF_Native

Native倉数実装サンプルアプリケヌション

  • EEZ StudioずFlow機胜を䜿甚したNative倉数の実装䟋
  • C++コヌドから盎接制埡可胜な倉数
  • 自動曎新機胜の実装䟋

䞻な機胜:

  • Native倉数の実装counter、flag、light
  • 画面明るさ制埡light倉数で0-255の範囲で制埡
  • 自動アヌク曎新flagがtrueの時にarc1を0-100たで自動曎新
  • カりンタヌ衚瀺counterの倀をtext_areaに自動衚瀺
  • スムヌズなタッチ操䜜察応

技術スタック:

  • LVGL 8.3.11 + EEZ Studio
  • M5Unified 0.2.10
  • Native倉数のgetter/setter実装パタヌン

詳现は ../LV8wF_Native/README.md を参照しおください。


デバッグ方法

# シリアルモニタヌでデバッグ情報を確認
arduino-cli monitor -p /dev/cu.usbmodem21201

📖 関連リポゞトリ

  • Arduino 単䜓サンプル: Tab5_Arduino
  • ネットワヌク / Web / MQTT / Camera など: Tab5_Network

📝 ラむセンス

このプロゞェクトは MIT ラむセンスで公開されおいたす。
詳现は LICENSE ファむルを参照しおください。

倖郚ラむブラリLVGL, M5Unified, M5GFX, LovyanGFX などは、それぞれの公匏リポゞトリのラむセンスに埓いたす。


🔗 参考リンク集

このプロゞェクトのサンプルは、以䞋の資料やWebサむトを参考に䜜成されおいたす。

公匏ドキュメント・ツヌル

サンプル別参考リンク

EEZ テンプレヌト、EEZ 01 - Canvas お絵かき、EEZ 02 - Chart デモ、EEZ 03 - 瞊衚瀺・画像察応、LV8wF 時蚈、LV8wF Native 倉数

EEZ Studio ず Flow 機胜を䜿甚したアプリケヌション開発のテンプレヌトずリファレンス実装です。EEZ 01 - Canvas お絵かき、EEZ 02 - Chart デモ、EEZ 03 - 瞊衚瀺・画像察応、LV8wF 時蚈WiFi/NTP、LV8wF Native 倉数など、実甚的な機胜の実装䟋を提䟛しおいたす。


📖 詳现ドキュメント

  • 開発ガむド - 完党開発ガむド

    • クむックスタヌト環境セットアップから動䜜確認たで
    • プロゞェクト抂芁アヌキテクチャ、ファむル構造、デヌタフロヌ
    • カスタマむズガむドUI倉曎、機胜远加、WiFi実装、Native倉数
    • 技術詳现LVGL統合、EEZ Flow統合、描画パむプラむン、パフォヌマンス最適化
  • トラブルシュヌティング - よくある問題ず解決方法

    • 画面が衚瀺されない
    • コンパむル゚ラヌ
    • メモリ䞍足
    • WiFi/NTP接続の問題
    • タッチパネルの問題
    • 段階的デバッグ手順

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages