Chtěl jsem po dlouhé době upravit svou venkovní meteostanici s ESP12F (ESP8266). Už dlouho využívám službu The IoT Guru Cloud a teď jsem při kompilaci upravného programu narazil na tuhle chybu.
C:\Users\sramp\Documents\Arduino\libraries\The_IoT_Guru_integration\src\IoTGuru.cpp: In member function 'bool IoTGuru::firmwareUpdate(const char*)':
C:\Users\sramp\Documents\Arduino\libraries\The_IoT_Guru_integration\src\IoTGuru.cpp:100:132: error: no matching function for call to 'ESP8266HTTPUpdate::update(String, int, String&, String, bool, const char [1], bool)'
100 | t_httpUpdate_return ret = ESPhttpUpdate.update(String(IOT_GURU_BASE_HOST), 80, updateUrl, String(ota_version), false, "", false);
| ^
In file included from C:\Users\sramp\Documents\Arduino\libraries\The_IoT_Guru_integration\src\IoTGuru.h:15,
from C:\Users\sramp\Documents\Arduino\libraries\The_IoT_Guru_integration\src\IoTGuru.cpp:4:
C:\Users\sramp\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266httpUpdate\src/ESP8266httpUpdate.h:114:25: note: candidate: 't_httpUpdate_return ESP8266HTTPUpdate::update(WiFiClient&, const String&, const String&)'
114 | t_httpUpdate_return update(WiFiClient& client, const String& url, const String& currentVersion = "");
| ^~~~~~
C:\Users\sramp\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266httpUpdate\src/ESP8266httpUpdate.h:114:25: note: candidate expects 3 arguments, 7 provided
C:\Users\sramp\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266httpUpdate\src/ESP8266httpUpdate.h:115:25: note: candidate: 't_httpUpdate_return ESP8266HTTPUpdate::update(WiFiClient&, const String&, uint16_t, const String&, const String&)'
115 | t_httpUpdate_return update(WiFiClient& client, const String& host, uint16_t port, const String& uri = "/",
| ^~~~~~
C:\Users\sramp\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266httpUpdate\src/ESP8266httpUpdate.h:115:25: note: candidate expects 5 arguments, 7 provided
Jak vidíte, v počítači mám knihovnu The IoT Guru Cloud [můj článek] ve verzi 1.2.3 a knihovnu pro ESP8266 3.0.2. Od poslední mé aktualizace programu očividně došlo ke změně knihovny, která se projevila pouze u modulů s ESP8266.
Napsal jsem tedy na github The IoT Guru Cloud a popsal výše zmíněnou chybu. Zanedlouho vydali novou verzi knihovny - 1.3.0.
Pokud tedy využíváte také The IoT Guru Cloud, mějte na paměti, že byste měli knihovnu aktualizovat.
Po této aktualizaci, kterou provedete v Manažeru knihoven, už váš program zkompilujete bez problémů.
Administrátor těchto stránek ani autor článků neručí za správnost a funkčnost zde uvedených materiálů.
Administrátor těchto stránek se zříká jakékoli odpovědnosti za případné ublížení na zdraví či poškození nebo zničení majetku v důsledku elektrického proudu, chybnosti schémat nebo i teoretické výuky. Je zakázané používat zařízení, která jsou v rozporu s právními předpisy ČR či EU.
Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva.
Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ.