Modyfikacja przykładu WebInterface Arduino

iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

W końcu skompilowało się:
w main.cpp:

Code: Select all

#include <Arduino.h>
#include <ESP8266WebServer.h>
#include <SuplaDevice.h>
#include <EEPROM.h>
#include <LittleFS.h>
w platformio.ini:

Code: Select all

[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
lib_deps = 
    milesburton/DallasTemperature@^3.9.1
    supladevice@^23.12
    [email protected]
    [email protected]
    [email protected]
W logach ostrzeżenie:

Code: Select all

Compiling .pio\build\d1_mini\lib7c2\supladevice\supla\uptime.cpp.o
lib\supladevice\src\supla\storage\littlefs_config.cpp: In member function 'virtual bool Supla::LittleFsConfig::getBlob(const char*, char*, size_t)':
lib\supladevice\src\supla\storage\littlefs_config.cpp:311:20: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  311 |   return bytesRead == fileSize;
      |          ~~~~~~~~~~^~~~~~~~~~~
Czyli różne typy zmiennych - ale przeszło.
...
Wgrało się poprawnie i czujniki (4xDS) się pojawiły w Supli...
Już się cieszę na jazdy z kompilacją na ESP32 ;-) :roll:
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

iM@rek wrote: Thu Dec 14, 2023 12:32 pm Wgrało się poprawnie i czujniki (4xDS) się pojawiły w Supli...
Już się cieszę na jazdy z kompilacją na ESP32 ;-) :roll:
Widzisz jak my mamy ciężko aby przygotować wam softy :P
https://gui-generic-builder.supla.io/
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

Te dodatkowe include w main.cpp nie powinny być potrzebne.
PIO powinno mieć jakieś sposoby na określenie dodatkowych bibliotek i include path do projektu.
Najlepsze suple dla Twojego domu :mrgreen:
iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

krycha88 wrote: Thu Dec 14, 2023 2:13 pm
iM@rek wrote: Thu Dec 14, 2023 12:32 pm Wgrało się poprawnie i czujniki (4xDS) się pojawiły w Supli...
Już się cieszę na jazdy z kompilacją na ESP32 ;-) :roll:
Widzisz jak my mamy ciężko aby przygotować wam softy :P
Myślę, że z moim jakimś tam doświadczeniem w tej dziedzinie, tym bardziej jestem w stanie docenić waszą pracę.
Powiedzmy, że zdaję sobie sprawę, co się dzieje pod spodem/w tle np. po zwykłym naciśnięciu ikony przycisku na ekranie.
Pełen szacunek i dzięki za pomoc.
Wracam się katować z PIO i ESP.
iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

klew wrote: Thu Dec 14, 2023 3:11 pm Te dodatkowe include w main.cpp nie powinny być potrzebne.
PIO powinno mieć jakieś sposoby na określenie dodatkowych bibliotek i include path do projektu.
Sprawdziłem - faktycznie wystarczą tylko:
w main.cpp

Code: Select all

#include <Arduino.h>
#include <SuplaDevice.h>
a w platformio.ini muszą wtedy być moduły

Code: Select all

lib_deps = 
    milesburton/DallasTemperature@^3.9.1
    [email protected]
    [email protected]
    [email protected]
wtedy się kompiluje do końca
Dzięki za zwrócenie uwagi, powielały się wpisy...
iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

W końcu udało mi się skompilować przykład ImpulsCounter z Supla 23.12 w PIO na ESP32.
Ciągle przy kompilacji zatrzymywał się z błędami dot. bibliotek WebServer i WiFiClientSecure.
W zgłaszanych problemach nie chodziło o brak plików, ale zgłaszał np. błędy liczby argumentów w funkcjach, braku deklaracji zmiennych, typów zmiennych itp. cuda wianki.
W każdym razie pomogło zastosowanie tych bibliotek z pakietu Arduino IDE , ze ścieżki:
  • Arduino 15\packages\esp32\hardware\esp32\2.0.11\libraries\
Do folderu projektu skopiowałem na żywca te dwie biblioteki plus SuplaDevice 23.12 i kompiluje się poprawnie.
Może się komuś przyda.
Wrzucę to na ESP32 i zobaczę, czy działa, ale czemu miałoby nie działać?
Weekend :D
zzrr
Posts: 1864
Joined: Wed Oct 26, 2022 7:35 pm
Has thanked: 76 times
Been thanked: 119 times

Post

klew wrote: Thu Dec 14, 2023 11:02 am
Nie używam PlatformIO. Jeśli ktoś używa i zna ten system, to zachęcam do wrzucenia odpowiedniego manifestu i dodania biblioteki do rejestru w PlatformIO.

Pewnie trzeba tam jakoś do rejestru dodać to repo: https://github.com/SUPLA/supla-device

Także zachęcam do zbadania tematu i dodania biblioteki do rejestru. Jeśli jest tam coś, co muszę zrobić np. ja, to dajcie znać (jakiś konkretny link, krótka instrukcja etc).
Można wybierać biblioteki przez menagera albo dopisać konfiguracje w pliku Platformio.ini Faktycznie biblioteka Supla-Devices z menagera jest nieaktualna.
ja dla przykładu pod ESP32 mam tak:

Code: Select all

[env:lolin32_lite]
platform = espressif32
board = lolin32_lite
framework = arduino
board_build.partitions = partition.csv
upload_speed = 921600
upload_port = COM4
lib_deps = 
	https://github.com/SUPLA/supla-device
	https://github.com/ThingPulse/esp8266-oled-ssd1306
	milesburton/DallasTemperature@^3.11.0
	paulstoffregen/[email protected]
dla esp8266

Code: Select all

[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
lib_deps = 
	https://github.com/SUPLA/supla-device
	https://github.com/ThingPulse/esp8266-oled-ssd1306
	milesburton/DallasTemperature@^3.11.0
	paulstoffregen/OneWire@^2.3.7
upload_port = COM14
i o tyle to jest fajne że priorytet mają wykazane biblioteki w platformio.ini. Te których tutaj się nie skonfiguruje to bierze z automatu z katalogu arduino/libraries lub z katalogu w którym przechowuje biblioteki program ArduinoIDE. Jak się to trochę opanuje to łatwiej zarządzać tym z jakimi bibliotekami chcemy pracować. Ale póki sie tego troche nie opanuje to łatwiej niż w ArduinoIDE nie jest.
Gdzieś wcześniej @krycha88 powiedział że jak się to spróbuje to sie już z ArduinoIDE nie chce pracować. Coś w tym jest i w moim przypadku też się potwierdza.
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

zzrr wrote: Tue Dec 19, 2023 10:23 pm Można wybierać biblioteki przez menagera albo dopisać konfiguracje w pliku Platformio.ini Faktycznie biblioteka Supla-Devices z menagera jest nieaktualna.
ja dla przykładu pod ESP32 mam tak:
Ogólnie nie chodzilo mi o to, jak skonfigurować jakiś pojedynczy projekt i biblioteki do niej, tylko jak poprawnie zarejestrować bibliotekę w rejestrze bibliotek w PIO.

Natomiast, myślę że Twój post będzie przydatny dla osób początkujących z PIO, które próbują to jakoś odpalić :)
Najlepsze suple dla Twojego domu :mrgreen:
iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

Uruchomiłem w VCS przykład WebInterface ->ok, działa
W apce pokazują się moduły i pokazuje się lokalny adres ip.
Niestety po wpisaniu go do przeglądarki na kompie strona się nie otwiera.
Proszę o pomoc - czego brakuje?

I drugie pytanie - czy można ustawić konkretną domyślną lokalizację? Albo w kodzie albo na stronie Supli?
W kółko modyfikuję kod i ciągle przypisuje nowe kompilacje do jednej lokalizacji, a że chciałbym to mieć w innej, testowej, to muszę ciągle zmieniać.
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

iM@rek wrote: Sun Feb 25, 2024 11:06 am Uruchomiłem w VCS przykład WebInterface ->ok, działa
W apce pokazują się moduły i pokazuje się lokalny adres ip.
Niestety po wpisaniu go do przeglądarki na kompie strona się nie otwiera.
Proszę o pomoc - czego brakuje?

I drugie pytanie - czy można ustawić konkretną domyślną lokalizację? Albo w kodzie albo na stronie Supli?
W kółko modyfikuję kod i ciągle przypisuje nowe kompilacje do jednej lokalizacji, a że chciałbym to mieć w innej, testowej, to muszę ciągle zmieniać.
Lokalny web server domyślnie działa tylko w trybie konfiguracyjnym.
Można go też uruchomić podczas normalnej pracy, ale nie testowałem tego i tam nie ma żadnych zabezpieczeń. Na esp8266 może też być mało RAM-u
Najlepsze suple dla Twojego domu :mrgreen:

Return to “Pomoc”