Version 7.x of ArduinoJson (by Benoit Blanhon) implements changes which may create issues when compiling. Other breaking updates may include the arduino-esp32 boards libraries (2.0.13) and the ESP32 WebSocket libraries, I’m guessing here.
The following is the first obvious error that I have come across. this was tested with the simple LED example and the Seeed XIAO ESP32-S3, which previously compiled with no errors.
In file included from
..\WebThings-Arduino-ESP32-S3_LED\WebThings-Arduino-ESP32-S3_LED.ino:13:
..\Arduino\libraries\webthing-arduino/Thing.h: In member function 'void ThingDevice::queueEventObject(ThingEventObject*)':
..\Arduino\libraries\webthing-arduino/Thing.h:692:51:
error: cannot convert 'const AsyncWebSocketClient' to 'AsyncWebSocketClient*' in initialization
((AsyncWebSocket *)this->ws)->getClients()) {
I’m currently going through the code to work out what else has broken. This may not be the only thing broken.
A quick update on various library updates and changes. The following combination of libraries works and compiles correctly. Still testing.
Using library webthing-arduino at version 0.12.0
Using library ESP Async WebServer at version 1.2.3
Using library FS at version 2.0.0
Using library WiFi at version 2.0.0
Using library AsyncTCP at version 1.1.4
Using library ArduinoJson at version 7.0.3
Using library ESPmDNS at version 2.0.0
Updating ESP Async Webserver next, then ArduinoJson.
PSA… Status of updated libraries and WebThing-Arduino.
After a hiatus of a few months due to illness and paid work commitments, I’ve returned to my last project, a WebThings-Arduino based module for monitoring small distributed 12V UPSs.
Now that the hardware is finished, using a XIAO-ESP32S3 module, the software requires some minor bugs ironed out…
As part of the design, I have added an OTA capability (where most of the bugs reside, and using ElegantOTA due to its simplicity).
Whilst working on the code, several libraries have been updated. The following list is what I have current installed in the Arduino IDE 2.3.4, and found to work. The code compiles with no errors, aside from my coding blunders…
Multiple libraries were found for “ESPmDNS.h”
Used: Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\ESPmDNS
Multiple libraries were found for “WiFi.h”
Used: Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\WiFi
Multiple libraries were found for “AsyncTCP.h”
Used: Arduino\libraries\AsyncTCP