Modyfikacja przykładu WebInterface Arduino

User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

lukosław wrote: Thu Nov 23, 2023 7:13 pm W kółko leci:
Pokaż logi pokazujące całą procedurę - czyli od momentu gdy wszystko działa, ustawiasz w trybie cfg parametry, dajesz "save&restart" itd.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
lukosław
Posts: 119
Joined: Mon Oct 28, 2019 8:20 am

Post

Code: Select all

19:52:56.350 -> SERVER: get request
19:53:13.949 -> LittleFsConfig:: custom ca file missing
19:53:48.718 -> SERVER: post request
19:53:48.718 -> SERVER: key sid, value <moje_ssid>
19:53:48.718 -> SERVER: key wpw, value <moje_haslo>
19:53:48.749 -> SERVER: key protocol_supla, value 1
19:53:48.749 -> SERVER: key svr, value <moj_server>
19:53:48.749 -> SERVER: key eml, value <moj_email>
19:53:48.749 -> SERVER: key sec, value 0
19:53:48.749 -> SERVER: key custom_ca, value 
19:53:48.749 -> SERVER: key protocol_mqtt, value 0
19:53:48.749 -> SERVER: key mqttserver, value 
19:53:48.749 -> SERVER: key mqtttls, value 0
19:53:48.749 -> SERVER: key mqttport, value 1883
19:53:48.782 -> SERVER: key mqttauth, value 1
19:53:48.782 -> SERVER: key mqttuser, value 
19:53:48.782 -> SERVER: key mqttpasswd, value 
19:53:48.782 -> SERVER: key mqttprefix, value 
19:53:48.782 -> SERVER: key mqttqos, value 0
19:53:48.782 -> SERVER: key mqttretain, value 0
19:53:48.782 -> SERVER: key rbt, value 2
19:53:51.298 -> Reset requested. Reset device
19:53:51.298 -> LAST STATE ADDED: Software reset
19:53:51.298 -> Current status: [41] Software reset
19:53:51.362 -> Stopping local web server
19:53:51.602 -> Resetting in 0.5s...
19:53:52.098 -> See you soon!
19:53:52.197 -> 
19:53:52.197 ->  ets Jan  8 2013,rst cause:2, boot mode:(3,6)
19:53:52.197 -> 
19:53:52.197 -> load 0x4010f000, len 3424, room 16 
19:53:52.197 -> tail 0
....
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

lukosław wrote: Mon Nov 27, 2023 6:56 pm
W tych logach nic szczególnego nie widać. Szkoda że nie są od początku.
Sprawdzałeś przykład WebInterface bez żadnych modyfikacji,? Może poza ustawieniem GPIO, aby działało to na Twojej płytce?
Ewentualnie wstaw cały swój kod
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
lukosław
Posts: 119
Joined: Mon Oct 28, 2019 8:20 am

Post

Udało mi się zrobić mały kroczek dalej. Jest to najprawdopodobniej spowodowane obsługą expandera.

Użyłem go dokładnie tak jak tutaj: viewtopic.php?p=146668#p146668 dołączając plik ExpanderPCF8574.h
iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

Za radą Klew, chcę zrozumieć i zmodyfikować przykład WebInterface.
Żeby nie było nieporozumień, mam środowisko VSC+Platformio, dograną bibliotekę Supla Device 2.4.2.
Z niej otworzyłem przykład WebInterface, skompilowałem i działa ok - pokazuje się w Supli i aplikacji.

1.
W sekcji Channel configuration widzę 5 kanałów:
0 - Roller, 1 - Relay 2, 3, 4 - Action Trigger (x3)

W Supli widzę dwa "kanały":
1 - "Otwieranie- zamykanie rolet" - domyślnie włączony,
2 - "Brak" drugi, któremu można przyporządkować różne funkcje typu otwieranie bramy, czy automat schodowy
Jak to się ma do 5-ciu kanałów definiowanych w pliku źródłowym (main.cpp)?

2.
Wyczytałem, że można zmodyfikować nazwę urządzenia w Supli:
  • SuplaDevice.setName("Moja nazwa");
Zrobiłem i działa.
A jak można np. wprowadzić opisy SSID czy parametrów WiFi np. adresu servera supli, maila itp., żeby tego nie trzeba było w kółko wpisywać przy konfiguracji po zmianach?
Jest np.:
  • Supla::Html::WifiParameters htmlWifi;
ale nie wiem, jak przekazać wpisane parametry SSID, svrX itd. do tego modułu (o ile to ten moduł)

A może jest gdzieś jakiś opis tych przykładów? Chętnie poczytam.
[email protected]
Posts: 1585
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

Z tego co rozumiem, to ideą WebInterface jest to żeby tego właśnie nie robić w kodzie ;)
iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

Hej, nie czepiaj się ;-)
Po prostu przy wielu zmianach i 100 kompilacjach/h nie chce mi się w kółko wpisywać danych do mojej sieci wifi, dlatego chcę je zapisać na stałe.
A przy okazji chciałbym poznać sposób przekazywania takich danych między modułami projektu.
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

iM@rek wrote: Wed Dec 13, 2023 2:49 pm Hej, nie czepiaj się ;-)
Po prostu przy wielu zmianach i 100 kompilacjach/h nie chce mi się w kółko wpisywać danych do mojej sieci wifi, dlatego chcę je zapisać na stałe.
A przy okazji chciałbym poznać sposób przekazywania takich danych między modułami projektu.
Program można wgrać bez kasowania ustawień
Najlepsze suple dla Twojego domu :mrgreen:
iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

@KLew
Tak, zauważyłem.
Ale chodzi mi też o zdobywanie wiedzy, niezależnie od przyczyn.
Opisałeś w jednym z postów, jak przekazać nazwę urządzenia poprzez setName(). Super.
A ja chciałbym przekazać inne parametry (np. SSID, svr, mail) między modułami.
Proszę o przykład lub link do jakiegoś dokumentu, gdzie mogę to wyczytać i się nauczyć.
W ostatnim czasie przeczytałem wiele stron różnych postów i dokumentów, zyskałem troszkę wiedzy, ale to za mało.
Wiele lat temu pisałem programy w dBase i Clipperze (i nawet niektóre są ciągle używane produkcyjnie), ale to było dawno i nieprawda.
A teraz dla zabawy i spowolnienia obumierania komórek chcę się trochę nauczyć tego środowiska i napisać jakieś małe rzeczy.
Za radą Rafała zmieniłem środowisko z Arduino IDE na Platformio, ale nawet przykłady z biblioteki SuplaDevice 2.4.2 (oprócz WebInterface) nie chcą się kompilować, bo ciągle im czegoś do szczęścia brakuje.
Mogę w tym grzebać i to łatać, ale myślę, że powinno się to dać jakoś prościej rozwiązać.
No bo to w końcu przykłady.
A może przykłady z SuplaDevice nie są do PlatformIO?

Trudniej się czegoś uczyć na przykładach, których nie można skompilować poprawnie...
Dobra, rozpisałem się, próbuję dalej, może w końcu coś się ruszy.
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

Musisz zacząć od poprawnego platformio.ini
https://docs.platformio.org/en/stable/b ... mcuv2.html

Później biblioteki wrzucasz w folder lib a plik ino z przykładów wrzucasz do src i kompilujesz za pomocą platformIO.

Pobieranie bibliotek można zautomatyzować w pliku platformio.ini

Code: Select all

lib_deps = 
	milesburton/DallasTemperature@^3.9.1
Jak to przejdziesz to nigdy nie wrócisz do Arduino IDE ;)
https://gui-generic-builder.supla.io/

Return to “Pomoc”