Jak zacząć programować - GUI Generic

User avatar
Lector
Posts: 1768
Joined: Fri Nov 17, 2017 2:26 pm
Location: Poznań

Post

Jest ktoś kto by wytłumaczył jak krowie na rowie jak zacząć i wykorzystać GUI Generic?
Chciałbym napisać po swojemu nowy firmware Pool Controller wykorzystujący możliwości łatwości dodawania, konfiguracji i przejrzystości GUI Generic.
Może być w Arduino IDE lub Visual Studio Video, co otworzyć gdzie pisać swój kod, sprzęt będzie to Sonoff 4ch R2 Pro plus kilka termometrów DS18B20.
Czyli oprócz przycisków, przekaźników i DS18B20 nie będzie nic więcej wykorzystywane, prócz kodu zależności i dodatkowych pól w konfiguracji.
Niespełniony automatyk. :mrgreen:
https://www.youtube.com/@3D_Lamp.Photos
https://pool.lector.top/
User avatar
klew
Posts: 10971
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

GUI Generic najłatwiej używać z buildera :P

Modyfikacje i rozbudowa dość dużego projektu ma zawsze trochę większy próg wejścia i trzeba się tego nauczyć.

Jeśli planujesz zrobić coś w stylu gotowego urządzenia, to ja bym polecał zostanie przy bibliotece SuplaDevice bez GG. Największą siłą i zaletą GG jest możliwość definiowania przekaźników, przycisków i innych urządzeń z poziomu WWW. Czyli wgrywasz soft, ustawiasz sobie gdzie co ma być i działa :)

Już wkrótce będzie aktualizacja SuplaDevice, gdzie "gratis" będzie tryb konfiguracyjny i ustawienia sieci, serwerów z poziomu www. Dodawanie przekaźników i relacji między urządzeniami w kodzie jest dość proste. Nieco więcej pracy będzie wymagało zrobienie tych zależności konfigurowalnych przez WWW.
jaku2k
Posts: 911
Joined: Sun May 24, 2020 8:40 pm

Post

Podepnę się pod temat.

Czy mógłby ktoś wytłumaczyć jak dodać do kodu i jak konfigurować interfejs taki jak w GUI Genericu?

@klew czy w ramach wspomnianej aktualizacji SuplaDevice tryb konfiguracyjny będzie domyślnie wyposażony w interfejs graficzny?
Pozdrawiam
Jakub
User avatar
klew
Posts: 10971
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

jaku2k wrote: Thu Jun 02, 2022 7:18 am Podepnę się pod temat.

Czy mógłby ktoś wytłumaczyć jak dodać do kodu i jak konfigurować interfejs taki jak w GUI Genericu?

@klew czy w ramach wspomnianej aktualizacji SuplaDevice tryb konfiguracyjny będzie domyślnie wyposażony w interfejs graficzny?
Takiego jak w GG to nie wiem. Musiałbyś krychy pytać, albo pobrać sobie projekt i go przeglądać ;)

W SuplaDevice dojdzie tryb konfiguracyjny www, który wygląda prawie identycznie jak aktualnie na projekcie supla-espressif-sdk, czy też w produktach Zamela.
Na pierwszy rzut pójdzie konfiguracja wifi, hasła, serwer, mail. Pokażę też jak można dodawać własne pola do www i jak z nich korzystać.

Jeszcze chciałbym wyjaśnić, że to nie zastąpi GG. To co będzie w bibliotece pozwoli na konfigurację ustawień urządzenia, ale nie pozwoli na "budowanie urządzenia". Czyli nie będzie się dało z WWW dodać przekaźników, przycisków itp. Takie rzeczy z założenia można robić programując swoją aplikację. Oczywiście nic nie stoi na przeszkodzie, aby dopisać generowanie przekaźników itp na podstawie ustawień z www, ale to już zabawa w pisanie GG od nowa, a osobiście nie widzę sensu tworzenia od nowa czegoś podobnego do GG, skoro mamy GG i działa świetnie :)
User avatar
Lector
Posts: 1768
Joined: Fri Nov 17, 2017 2:26 pm
Location: Poznań

Post

Ok, to może poczeka i zobaczę nowa bibliotekę.
Myślałem o GUI Generic że względu na stronę konfiguracji która jest dostępna podczas normalnej pracy oraz na możliwość "kalibracji" temperatury, oraz przepisywanie DS18B20 do kanałów.

Tylko i tak dalej nie wiem jak wystartować swój projekt, więc czekam na nową bibliotekę i jakiś przykład.
Niespełniony automatyk. :mrgreen:
https://www.youtube.com/@3D_Lamp.Photos
https://pool.lector.top/
jaku2k
Posts: 911
Joined: Sun May 24, 2020 8:40 pm

Post

klew wrote: Thu Jun 02, 2022 8:12 am
jaku2k wrote: Thu Jun 02, 2022 7:18 am Podepnę się pod temat.

Czy mógłby ktoś wytłumaczyć jak dodać do kodu i jak konfigurować interfejs taki jak w GUI Genericu?

@klew czy w ramach wspomnianej aktualizacji SuplaDevice tryb konfiguracyjny będzie domyślnie wyposażony w interfejs graficzny?
Takiego jak w GG to nie wiem.
Jasne, rozumiem.
Musiałbyś krychy pytać, albo pobrać sobie projekt i go przeglądać ;)
Nie chcę krysze głowy zawracać bzdetami... co do przeglądania, to do wątku podpiąłem się właśnie dlatego, że nie wiem co/gdzie przeglądać :|

W SuplaDevice dojdzie tryb konfiguracyjny www, który wygląda prawie identycznie jak aktualnie na projekcie supla-espressif-sdk, czy też w produktach Zamela.
Na pierwszy rzut pójdzie konfiguracja wifi, hasła, serwer, mail. Pokażę też jak można dodawać własne pola do www i jak z nich korzystać.
Fenomenalnie! Pozostaje nam czekać na publikację.
Jeszcze chciałbym wyjaśnić, że to nie zastąpi GG. To co będzie w bibliotece pozwoli na konfigurację ustawień urządzenia, ale nie pozwoli na "budowanie urządzenia". Czyli nie będzie się dało z WWW dodać przekaźników, przycisków itp. Takie rzeczy z założenia można robić programując swoją aplikację. Oczywiście nic nie stoi na przeszkodzie, aby dopisać generowanie przekaźników itp na podstawie ustawień z www, ale to już zabawa w pisanie GG od nowa, a osobiście nie widzę sensu tworzenia od nowa czegoś podobnego do GG, skoro mamy GG i działa świetnie :)
Rozumiem, rozumiem. Sam podpiąłem się pod ten post bardziej z chęci poznania sposobu implementacji samego GUI, zawężając chyba temat zakreślony przez Autora wątku.
Pozdrawiam
Jakub
User avatar
klew
Posts: 10971
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Lector wrote: Thu Jun 02, 2022 2:44 pm Ok, to może poczeka i zobaczę nowa bibliotekę.
Myślałem o GUI Generic że względu na stronę konfiguracji która jest dostępna podczas normalnej pracy oraz na możliwość "kalibracji" temperatury, oraz przepisywanie DS18B20 do kanałów.

Tylko i tak dalej nie wiem jak wystartować swój projekt, więc czekam na nową bibliotekę i jakiś przykład.
Ogólnie to nie jest "nowa biblioteka", tylko kolejna wersja supla-device. Wszystkie DSy, przekaźniki, itp. można dodawać tak jak to jest teraz zrobione.

Z nowości to będzie tryb konfiguracyjny, narzędzie do przechowywania konfiguracji w pamięci trawłej, serwer www z kilkoma klockami do HTML-a, generator guid i authkey.

Może pomyślę nad rozbudowaniem dokumentacji i zrobieniu jakiegoś tutoriala dotyczącego programowania z użyciem biblioteki Supli. Bo temat się rozrasta, przykłady i opisy są rozrzucone na różnych wątkach forum.
Zibi
Posts: 640
Joined: Wed Jul 31, 2019 9:20 am
Location: Białogard

Post

klew wrote: Thu Jun 02, 2022 8:57 pm
Lector wrote: Thu Jun 02, 2022 2:44 pm Ok, to może poczeka i zobaczę nowa bibliotekę.
Myślałem o GUI Generic że względu na stronę konfiguracji która jest dostępna podczas normalnej pracy oraz na możliwość "kalibracji" temperatury, oraz przepisywanie DS18B20 do kanałów.

Tylko i tak dalej nie wiem jak wystartować swój projekt, więc czekam na nową bibliotekę i jakiś przykład.
Ogólnie to nie jest "nowa biblioteka", tylko kolejna wersja supla-device. Wszystkie DSy, przekaźniki, itp. można dodawać tak jak to jest teraz zrobione.

Z nowości to będzie tryb konfiguracyjny, narzędzie do przechowywania konfiguracji w pamięci trawłej, serwer www z kilkoma klockami do HTML-a, generator guid i authkey.

Może pomyślę nad rozbudowaniem dokumentacji i zrobieniu jakiegoś tutoriala dotyczącego programowania z użyciem biblioteki Supli. Bo temat się rozrasta, przykłady i opisy są rozrzucone na różnych wątkach forum.
Byłoby super zrobienie jakiegoś poradnika i poskładanie tego w całość.
krycha88
Posts: 5465
Joined: Fri Nov 16, 2018 7:25 am

Post

Budowa GUI w GG jest dość prosta należy wykorzystywać metody:
https://github.com/krycha88/GUI-Generic ... c/Markup.h

a tu przykład GUI dla krańcówek:
https://github.com/krycha88/GUI-Generic ... ch.cpp#L33

ale GUI to nie wszystko należy dane jeszcze jakoś zapisać:
https://github.com/krycha88/GUI-Generic ... ch.cpp#L61

Jak to ogarniecie to mogę wytłumaczyć jak dodać nowe zmienne do przechowywania.

Do budowania GG polecam Visual Studio Coude + platformIO, pobieracie moje repo wybieracie w pliku platformio.ini interesujące rzeczy i dajecie buduj :)
https://github.com/krycha88/GUI-Generic ... io.ini#L34
Arduino IDE nie polecam do tego projektu bo jest zbyt duży i poruszanie się po tej strukturze jest strasznie ciężkie.

Ogólnie jak chcecie jakieś niestandardowe funkcjonalności to mogę je dodać - tylko z czasem słabo :)
https://gui-generic-builder.supla.io/
User avatar
Lector
Posts: 1768
Joined: Fri Nov 17, 2017 2:26 pm
Location: Poznań

Post

Ok, będę próbować, już próbowałem, ale właśnie nie wiadomo było co gdzie dodawać.
Firmware Marlina do drukarki 3d jakość ogarnąłem, dodając potrzebne ficzery.
Niespełniony automatyk. :mrgreen:
https://www.youtube.com/@3D_Lamp.Photos
https://pool.lector.top/

Return to “Pomoc”