Modyfikacja przykładu WebInterface Arduino

User avatar
Robert Błaszczak
Posts: 5222
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra
Has thanked: 37 times
Been thanked: 27 times

Post

Tak, tyle zdążyłem zauważyć. I dlatego się zastanawiam, co w tym Platformio takie ciekawe jest. Bo choćby fakt, że menadżer bibliotek nie znajduje aktualnych bibliotek Supla Device, to już trochę mnie odpycha od prób używania tego środowiska.
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

iM@rek wrote: Thu Dec 14, 2023 9:05 am Jest manager bibliotek, jak w Arduino IDE. Wyszukuje po słowach i pokazuje dostępne biblioteki.
Po wybraniu konkretnej biblioteki pokazuje dostępne wersje.
Np. w przypadku DallasTemperature chyba z 7 ostatnich.
Po wpisaniu "Supla" pokazuje tylko SuplaDevice i tylko dwie wersje 2.4.2. i 2.4.1. :(
Nigdy nie używałem tych menagerów po prostu skonfiguruj plik platformio.ini
https://docs.platformio.org/en/latest/p ... _deps.html

czyli dodajesz po prostu

Code: Select all

lib_deps =
   https://github.com/SUPLA/supla-device.git
jeżeli chcesz konkretną wersję to dodajesz #v23.12
https://gui-generic-builder.supla.io/
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

iM@rek wrote: Thu Dec 14, 2023 9:00 am Czy na pewno, bo ja mam Wemosy D1 z ESP8266...?
Czy raczej:
board = esp8266 ?
Nie ma to znaczenia. Możesz wybierać płytkę dla Wemosa.
https://gui-generic-builder.supla.io/
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

Robert Błaszczak wrote: Thu Dec 14, 2023 9:37 am Tak, tyle zdążyłem zauważyć. I dlatego się zastanawiam, co w tym Platformio takie ciekawe jest. Bo choćby fakt, że menadżer bibliotek nie znajduje aktualnych bibliotek Supla Device, to już trochę mnie odpycha od prób używania tego środowiska.
Ale to nie wina środowiska, a prawdopodobnie błędnego manifestu w źródłach :)
https://gui-generic-builder.supla.io/
User avatar
Robert Błaszczak
Posts: 5222
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra
Has thanked: 37 times
Been thanked: 27 times

Post

No to czekamy, co odpowie w tej kwestii Człowiek od źródeł :D :D :D
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

1. W VSC utworzyłem nowy projekt: "Dallas1".
2. Ręcznie skopiowałem bibliotekę "SuplaDevice" v23.12 do do projektu/podfolderu "Lib"
3. Ręcznie skopiowałem przykład "DallasTemperature" z tej biblioteki do projektu jako main.cpp
4. Dopisałem u góry #include <Arduino.h>
5. Platformio.ini wygląda tak:

Code: Select all

[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
lib_deps = 
    milesburton/DallasTemperature@^3.9.1
    supladevice@^23.12
6. Kompilacja (początek):

Code: Select all

Processing d1_mini (platform: espressif8266; board: d1_mini; framework: arduino)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini.html
PLATFORM: Espressif 8266 (4.2.1) > WeMos D1 R2 and mini
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:
 - framework-arduinoespressif8266 @ 3.30102.0 (3.1.2)  
 - tool-esptool @ 1.413.0 (4.13)
 - tool-esptoolpy @ 1.30000.201119 (3.0.0)
 - toolchain-xtensa @ 2.100300.220621 (10.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 40 compatible libraries
Scanning dependencies...
Dependency Graph
|-- DallasTemperature @ 3.11.0
|-- SuplaDevice @ 23.12
Building in release mode
Compiling .pio\build\d1_mini\src\main.cpp.o
(...)
i sobie leci aż do:

Code: Select all

In file included from lib\supladevice\src\supla\network\esp_web_server.cpp:30:
lib\supladevice\src\supla\network\esp_web_server.h:23:10: fatal error: ESP8266WebServer.h: No such file or directory
**************************************************************************
(...)
   23 | #include <ESP8266WebServer.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
Compiling .pio\build\d1_mini\lib7c2\supladevice\supla\network\html\button_config_parameters.cpp.o
*** [.pio\build\d1_mini\lib7c2\supladevice\supla\network\esp_web_server.cpp.o] Error 1
========================================================================================= [FAILED]
Sprawdziłem i w ......supla\network\esp_web_server.h:23:10: jest:

Code: Select all

#include <supla/network/web_server.h>
#if defined(ESP8266)
   #include <ESP8266WebServer.h>
   #define ESPWebServer ESP8266WebServer
#elif defined(ESP32)
   #include <WebServer.h>
   #define ESPWebServer WebServer
#else
   #error "Missing implementation for this target"
#endif
i na tym się wykłada -> nie ma ESP8266WebServer.h
I co z tym zrobić?
Czy to jest jakaś zewnętrzna biblioteka i mam jej szukać w sieci?
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

krycha88 wrote: Thu Dec 14, 2023 9:41 am
Robert Błaszczak wrote: Thu Dec 14, 2023 9:37 am Tak, tyle zdążyłem zauważyć. I dlatego się zastanawiam, co w tym Platformio takie ciekawe jest. Bo choćby fakt, że menadżer bibliotek nie znajduje aktualnych bibliotek Supla Device, to już trochę mnie odpycha od prób używania tego środowiska.
Ale to nie wina środowiska, a prawdopodobnie błędnego manifestu w źródłach :)
Raczej braku manifestu.
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.

Ta SuplaDevice, którą znajduje to stary nierozwijany projekt z tego repo https://github.com/SUPLA/supla-arduino
Tu też nie ma manifestu, ale pewnie PIO sobie radzi z formatem manifestu z Arduino IDE.

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).
Najlepsze suple dla Twojego domu :mrgreen:
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: Thu Dec 14, 2023 10:32 am i na tym się wykłada -> nie ma ESP8266WebServer.h
I co z tym zrobić?
Czy to jest jakaś zewnętrzna biblioteka i mam jej szukać w sieci?
To jest biblioteka, która jest częścią boardów ESP8266.
Powinna być normlanie dostępna przy kompilacji ESP8266:
https://github.com/esp8266/Arduino/tree ... Server/src
Najlepsze suple dla Twojego domu :mrgreen:
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

klew wrote: Thu Dec 14, 2023 11:02 am Raczej braku manifestu.
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.

Ta SuplaDevice, którą znajduje to stary nierozwijany projekt z tego repo https://github.com/SUPLA/supla-arduino
Tu też nie ma manifestu, ale pewnie PIO sobie radzi z formatem manifestu z Arduino IDE.

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).
Z tego co widzę to standardowo PlatformIO używa library.json ale również potrafi rozpoznać library.properties. Ja bym strzelał, że pogryzły się takie same nazwy "SuplaDevice" w plikach library.properties w różnych repozytoriach.
https://gui-generic-builder.supla.io/
iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

Skompilowałem przykład DallasTemperature z SuplaDevice 23.12 w Arduino IDE dla tej samej płytki (Wemos D1 mini) i porównałem logi.
AIDE też się zatrzymuje w kilku miejscach (3x), ale dobiera biblioteki i kontynuuje kompilację do końca.

PlatformIO:

Code: Select all

In file included from lib\supladevice\src\supla\network\esp_web_server.cpp:30:
lib\supladevice\src\supla\network\esp_web_server.h:23:10: fatal error: ESP8266WebServer.h: No such file or directory
**************************************************************************
* Looking for ESP8266WebServer.h dependency? Check our library registry!
* CLI  > platformio lib search "header:ESP8266WebServer.h"
* Web  > https://registry.platformio.org/search?q=header:ESP8266WebServer.h
**************************************************************************
   23 | #include <ESP8266WebServer.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
Arduino IDE

Code: Select all

Using cached library dependencies for file: c:\...\SuplaDevice\src\supla\network\esp_web_server.cpp
Alternatives for ESP8266WebServer.h: [[email protected]]
ResolveLibrary(ESP8266WebServer.h)
  -> candidates: [[email protected]]
Podobnie jest dla (logi z AIDE):

Code: Select all

Using cached library dependencies for file: c:\...\SuplaDevice\src\supla\storage\eeprom.cpp
Alternatives for EEPROM.h: [[email protected]]
ResolveLibrary(EEPROM.h)
  -> candidates: [[email protected]]

Code: Select all

Using cached library dependencies for file: c:\...\SuplaDevice\src\supla\storage\littlefs_config.cpp
Alternatives for LittleFS.h: [[email protected]]
ResolveLibrary(LittleFS.h)
  -> candidates: [[email protected]]
Spróbuję to wykorzystać przy kompilacji tego przykładu na PlatformIO...

Return to “Pomoc”