ãã®ãªããžããªã¯ã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
| No. | 衚瀺å | ãã©ã«ãå | éçºããŒã« | äž»èŠæ©èœ |
|---|---|---|---|---|
| 1 | EEZ ãã³ãã¬ãŒã | EEZ_Template | EEZ Studio | éçºçšããŒã¹ïŒã·ã³ãã«æ§é ãã«ã¹ã¿ãã€ãºå®¹æïŒ |
| 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倿°ãèªåæŽæ°æ©èœïŒ |
éçºçšããŒã¹
- LVGL + EEZ Studio Flowã®çµ±åãã³ãã¬ãŒã
- ã·ã³ãã«ã§æ¡åŒµããããæå°éã®å®è£
- 詳现ãªã³ã¡ã³ããšããã¥ã¡ã³ã
- ã«ã¹ã¿ãã€ãºããããæ§é
- æ©èœè¿œå ã®ããã®å®è£ ã¬ã€ãä»ã
äž»ãªç¹åŸŽ:
- å®å šããã¥ã¡ã³ãåïŒè©³çްã¬ã€ãä»ãïŒ
- M5Unifiedçµ±åãšSPIRAMæé©å
- DMA転éã«ããé«éæç»
- Flowèšèªã®åºæ¬å®è£
- ã·ã³ãã«ã§çè§£ããããã³ãŒãæ§é
- ã¹ã ãŒãºãªã¿ããæäœå¯Ÿå¿
- WiFiãã»ã³ãµãŒãéä¿¡æ©èœã®è¿œå ã¬ã€ãå®å
- MIT ã©ã€ã»ã³ã¹
çšé:
- æ°èŠã¢ããªã±ãŒã·ã§ã³éçºã®åºçºç¹
- EEZ Studioã®åŠç¿
- LVGL + M5Unifiedã®çµ±åãã¿ãŒã³
- IoTããã·ã¥ããŒãã®ããŒã¹
- WebãµãŒãã¹é£æºã¢ããªã®ãã³ãã¬ãŒã
詳现㯠../EEZ_Template/README.md ãåç
§ããŠãã ããã
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 ãåç
§ããŠãã ããã
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 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 ãåç
§ããŠãã ããã
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 ãåç
§ããŠãã ããã
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ãµã€ããåèã«äœæãããŠããŸãã
- LVGL å ¬åŒããã¥ã¡ã³ã
- LVGL GitHub
- M5Unified GitHub
- M5GFX GitHub
- Square Line Studio
- EEZ Studio å ¬åŒãµã€ã
- EEZ Studio GitHub
- M5Stack Tab5 å ¬åŒããã¥ã¡ã³ã
EEZ ãã³ãã¬ãŒããEEZ 01 - Canvas ãçµµãããEEZ 02 - Chart ãã¢ãEEZ 03 - 瞊衚瀺ã»ç»å察å¿ãLV8wF æèšãLV8wF Native 倿°
- éçº: ãªãªãžãã«å®è£ ïŒ2026幎1æïŒ
- EEZ Studio å ¬åŒãµã€ã: EEZ Studio
- EEZ Studio ããã¥ã¡ã³ã: EEZ Studio Wiki
- EEZ Studio GitHub: EEZ Studio
- LVGLå ¬åŒããã¥ã¡ã³ã: LVGL Documentation
- LVGL ãã¥ãŒããªã¢ã«: LVGL Getting Started
- M5Stackå ¬åŒããã¥ã¡ã³ã: M5Stack Tab5 Documentation
EEZ Studio ãš Flow æ©èœã䜿çšããã¢ããªã±ãŒã·ã§ã³éçºã®ãã³ãã¬ãŒããšãªãã¡ã¬ã³ã¹å®è£ ã§ããEEZ 01 - Canvas ãçµµãããEEZ 02 - Chart ãã¢ãEEZ 03 - 瞊衚瀺ã»ç»å察å¿ãLV8wF æèšïŒWiFi/NTPïŒãLV8wF Native 倿°ãªã©ãå®çšçãªæ©èœã®å®è£ äŸãæäŸããŠããŸãã
-
éçºã¬ã€ã - å®å šéçºã¬ã€ã
- ã¯ã€ãã¯ã¹ã¿ãŒãïŒç°å¢ã»ããã¢ããããåäœç¢ºèªãŸã§ïŒ
- ãããžã§ã¯ãæŠèŠïŒã¢ãŒããã¯ãã£ããã¡ã€ã«æ§é ãããŒã¿ãããŒïŒ
- ã«ã¹ã¿ãã€ãºã¬ã€ãïŒUI倿Žãæ©èœè¿œå ãWiFiå®è£ ãNative倿°ïŒ
- æè¡è©³çްïŒLVGLçµ±åãEEZ Flowçµ±åãæç»ãã€ãã©ã€ã³ãããã©ãŒãã³ã¹æé©åïŒ
-
ãã©ãã«ã·ã¥ãŒãã£ã³ã° - ããããåé¡ãšè§£æ±ºæ¹æ³
- ç»é¢ã衚瀺ãããªã
- ã³ã³ãã€ã«ãšã©ãŒ
- ã¡ã¢ãªäžè¶³
- WiFi/NTPæ¥ç¶ã®åé¡
- ã¿ããããã«ã®åé¡
- 段éçãããã°æé