Gdzie jest dostępne GG:
- WEB: https://github.com/rkalwak/GUI-Generic/tree/stable ( z aktualną biblioteką SuplaDevice) lub https://github.com/krycha88/GUI-Generic
- Desktop: https://github.com/rkalwak/GUI-Generic
Samo GG ma kilka istotnych plików:
platformio.ini - plik w którym znajdują się konfiguracje dla poszczególnych ESP oraz konfiguracje flag włączających poszczególne sensory i funkcjonalności. Opis każdej z nich można zobaczyć w GG Web, natomiast faktyczna nazwa nie jest tam widoczna - można się domyślić co jest czym
GUI-Generic.ino - główny plik programu, jego zamiennikiem jest main.cpp
Platform.io:
W platformio. ini należy odkomentować przez usunięcie średnika w sekcji poniżej ESP dla którego chcemy budować, wszystkie inne muszą być zakomentowane średnikiem.
Code: Select all
[platformio]
default_envs =
; GUI_Generic_1MB
; GUI_Generic_1MB-en
; GUI_Generic_2MB
; GUI_Generic_4MB
; GUI_Generic_minimal
; GUI_Generic_lite
; GUI_Generic_sensors
; GUI_Generic_DEBUG
GUI_Generic_ESP32
; GUI_Generic_blank
; GUI_Generic_ESP32C3
; GUI_Generic_ESP32S3
; GUI_Generic_ESP32C6
Code: Select all
build_flags =
-D SUPLA_EXCLUDE_LITTLEFS_CONFIG
-D TEMPLATE_BOARD_JSON
-D OPTIONS_HASH='"e3bc65278b88a589d06c3f8316cf0e3b"'
-D BUILD_VERSION='"26.01.01"'
-D SUPLA_ENABLE_GUI
; -D SUPLA_ENABLE_SSL
-D SUPLA_CONFIG
-D SUPLA_OTA
; -D SUPLA_RELAY
; -D SUPLA_BUTTON
; -D SUPLA_ACTION_TRIGGER
; -D SUPLA_LIMIT_SWITCH
; -D SUPLA_ROLLERSHUTTER
; -D SUPLA_DS18B20
Ewentualnie na dole jest możliwość zmiany portu do którego jest podłączone ESP.
Generalnie aż tyle
Polecam sobie poczytać:
https://docs.platformio.org/en/latest/t ... sting.html
https://docs.platformio.org/en/latest/p ... index.html
I spróbować zrobić hello world
Taka minimalna zawartość platformio.ini to:
Code: Select all
[platformio]
default_envs = GUI_Generic_ESP32
[env:GUI_Generic_ESP32]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.11/platform-espressif32.zip
board = esp32dev
framework = arduino
monitor_speed = 115200
board_build.partitions = min_spiffs.csv
Platform.io CLI:
Code: Select all
platformio run --target upload --upload-port COM6 -e GUI_Generic_ESP32
Wybór flag do budowania jak wyżej.
Arduino CLI:
Code: Select all
arduino-cli compile "sciezka do katalogu z GUI-Generic.ino" --fqbn esp32:esp32:esp32 --verbose --log --build-property build.flags="-D SUPLA_AHTX0" --output-dir "f:/platformio/testbuild/build" --port=COM6--fqbn (Fully Qualified Board Name) - pełna nazwa płytki, np. esp32:esp32:esp32, arduino:avr:uno
-p lub --port - port szeregowy (COM6, COM3, itp.)
-DSUPLA_AHTX0- nazwa flagi sensora który chcemy włączyć. koniecznie w takim formacie:
-DSUPLA_MS5611 - jeśli to jest tylko flaga(makro)
-DSUPLA_MS5611=1 jeśli to jest makro z wartością liczbową
'-DSUPLA_MS5611="TEXT"' jeśli to jest makro z wartością tekstową - na to zmarnowałem kilka dni kiedyś ....
To jest wersja mega uproszczona, Builder wypluwa trochę bardziej ciekawą wersję:
Code: Select all
arduino-cli compile --no-color --quiet --clean -e --libraries "/app_data/code/GUI-Generic_bv6.1_gv26.01.01_pl_25314b1a76dd8c7dd8ba1592c9b48e2e/libraries" -b esp32:esp32:d32:PartitionScheme=min_spiffs --build-property "build.extra_flags=-DESP32 '-DBUILD_VERSION=\"26.01.01\"' '-DOPTIONS_HASH=\"25314b1a76dd8c7dd8ba1592c9b48e2e\"' '-DPSTR_ALIGN=1' -DATOMIC_FS_UPDATE -DBEARSSL_SSL_BASIC -DFP_IN_IRON -DGLOBALPARAMETERS_SCL=22 -DGLOBALPARAMETERS_SDA=21 -DMIMETYPE_MINIMAL -DNDEBUG -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703 -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH -DSUPLA_CONFIG -DSUPLA_DISABLE_LOGS -DSUPLA_ENABLE_GUI -DSUPLA_EXCLUDE_LITTLEFS_CONFIG -DSUPLA_MS5611 -DSUPLA_MS5611_Altitude=250 -DSUPLA_OTA -DVTABLES_IN_FLASH" --output-dir /app_data/bv6.1/gv26.01.01/pl/25314b1a76dd8c7dd8ba1592c9b48e2eArduino IDE:
Porównanie
Code: Select all
| Cecha | PlatformIO | Arduino CLI |
|----------------------------------------------|--------------------------------------------------|-----------------------------------|
| Zarządzanie zależnościami | Automatyczne (platformio.ini) | Ręczne |
| Konfiguracja | Plik INI | Parametry CLI |
| Środowiska budowania | Wiele w jednym projekcie | Jedno na kompilację |
| Integracja IDE | VS Code, CLion | Dowolny edytor |
| Szybkość | Szybsza kompilacja | Standardowa |
UWAGA: wyedytuje tego posta później jak sprawdzę dokładnie w Arduino IDE! I będę miał więcej czasu
UWAGA2: prędzej czy poźniej przerzucę to jako plik w repozytorium GG
