mqtt + platformIO

SzczepanLeon
Posts: 23
Joined: Mon May 08, 2023 9:33 pm

Post

Cześć

Jak ustawić/zmusić PlatformIO do kompilacji z mqtt w supla-device?
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

SzczepanLeon wrote: Wed May 17, 2023 10:51 pm Cześć

Jak ustawić/zmusić PlatformIO do kompilacji z mqtt w supla-device?
A jakie masz błędy kompilacji? Jakiej biblioteki do mqtt używasz?
Najlepsze suple dla Twojego domu :mrgreen:
SzczepanLeon
Posts: 23
Joined: Mon May 08, 2023 9:33 pm

Post

klew wrote: Thu May 18, 2023 8:02 am A jakie masz błędy kompilacji? Jakiej biblioteki do mqtt używasz?
Chciałem wykorzystać to co w supla-device jest, czyli tego wrappera https://github.com/SUPLA/supla-device/b ... esp_mqtt.h

Problem miałem z składowymi struktury esp_mqtt_client_config_t
PlatformIO nie dostarcza nowszego ESP-IDF (a raczej Arduino-ESP32 bazuje na starszym IDF).
Rozwiązałem to dostosowując tę esp_mqtt do starego IDFa. Wiem że to nie jest idealne, ale na razie działa.
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

SzczepanLeon wrote: Thu May 18, 2023 4:02 pm Rozwiązałem to dostosowując tę esp_mqtt do starego IDFa. Wiem że to nie jest idealne, ale na razie działa.
Działa to też pod normalnym Arduino IDE?
Najlepsze suple dla Twojego domu :mrgreen:
SzczepanLeon
Posts: 23
Joined: Mon May 08, 2023 9:33 pm

Post

klew wrote: Thu May 18, 2023 4:35 pm
SzczepanLeon wrote: Thu May 18, 2023 4:02 pm Rozwiązałem to dostosowując tę esp_mqtt do starego IDFa. Wiem że to nie jest idealne, ale na razie działa.
Działa to też pod normalnym Arduino IDE?
Moja poprawka czy to esp_mqtt?
Nie sprawdzałem bo to A-IDE odstrasza.
Zakładam że esp_mqtt też w A-IDE nie zadziała z tym co w porting jest.
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

SzczepanLeon wrote: Thu May 18, 2023 5:59 pm Moja poprawka czy to esp_mqtt?
Nie sprawdzałem bo to A-IDE odstrasza.
Zakładam że esp_mqtt też w A-IDE nie zadziała z tym co w porting jest.
Arduino kompiluje wszystko z folderu src i głębiej.
"extras" jest pomijane i tam wstawiam wszystko, co ma działać w innym środowisku :)

Boardy do ESP32 w PlatformIO i w Arduino raczej są takie same, więc powinno to działać, gdyby pliki źródłowe były w src/supla/protocol.

Masz gdzieś źródła na githubie?
Najlepsze suple dla Twojego domu :mrgreen:
SzczepanLeon
Posts: 23
Joined: Mon May 08, 2023 9:33 pm

Post

klew wrote: Thu May 18, 2023 8:07 pm
SzczepanLeon wrote: Thu May 18, 2023 5:59 pm Moja poprawka czy to esp_mqtt?
Nie sprawdzałem bo to A-IDE odstrasza.
Zakładam że esp_mqtt też w A-IDE nie zadziała z tym co w porting jest.
Arduino kompiluje wszystko z folderu src i głębiej.
"extras" jest pomijane i tam wstawiam wszystko, co ma działać w innym środowisku :)

Boardy do ESP32 w PlatformIO i w Arduino raczej są takie same, więc powinno to działać, gdyby pliki źródłowe były w src/supla/protocol.

Masz gdzieś źródła na githubie?
To nie problem z tym jak i co Arduino/PlatformIO kompiluje, odpowiednie pliki poprzenosiłem sobie w odpowiednie katalogi.

Problem jest z arduino-esp32. Ta biblioteka jest trochę stara. np. problem występuje z linią https://github.com/espressif/arduino-es ... ent.h#L184

W nowej libce, oraz tym co supla-device wykorzystuje, wygląda to inaczej https://github.com/espressif/esp-mqtt/b ... ent.h#L236

Błąd jest następujący (ewidentnie pozmieniały się struktury):

Code: Select all

lib/mqtt/esp_mqtt.cpp: In member function 'virtual void Supla::Protocol::EspMqtt::onInit()':
lib/mqtt/esp_mqtt.cpp:192:11: error: 'struct esp_mqtt_client_config_t' has no member named 'broker'
   mqttCfg.broker.address.hostname = server;
Github jest tutaj
https://github.com/SzczepanLeon/supla-device-mqtt

Return to “supla-dev”