Arduino Iot Cloud verbinden met ethernet

Hallo Iedereen,

Ik ben al even aan het proberen mij "Arduino Mega" te verbinden via een ethernet shield met de "Arduino Iot-Cloud". Jammer genoeg heb wat problemen met de code.
Weet iemand hoe je een correcte ethernet code opstelt?

Ik dacht dat je elk Arduino-bord dat met ethernet verbonden kan worden, kan verbinden met de Iot-cloud (dus het besturen vanuit bv. je smartphone), maar is dit ook echt zo?

Alvast bedankt!

Mijn foutcode:

/usr/local/bin/arduino-cli compile --fqbn esp32:esp32:wt32-eth01 --build-cache-path /tmp --output-dir /tmp/3432481938/build --build-path /tmp/arduino-build-1B08A71D8D6B42BE70ECE90C55DF3008  /tmp/3432481938/Kriephoek_jun26a

In file included from /tmp/3432481938/Kriephoek_jun26a/Kriephoek_jun26a.ino:4:
/tmp/3432481938/Kriephoek_jun26a/Kriephoek_jun26a.ino: In function 'void setup()':
/tmp/3432481938/Kriephoek_jun26a/thingProperties.h:31:24: error: 'ArduinoIoTPreferredConnectionType' has not been declared
 #define connectionType ArduinoIoTPreferredConnectionType::CLOUD_ETHERNET
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/3432481938/Kriephoek_jun26a/thingProperties.h:31:24: note: in definition of macro 'connectionType'
 #define connectionType ArduinoIoTPreferredConnectionType::CLOUD_ETHERNET
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Multiple libraries were found for "WiFi.h"
  Used: /home/builder/.arduino15/packages/esp32/hardware/esp32/2.0.5/libraries/WiFi
  Not used: /home/builder/opt/libraries/indhilib_3_0_5
  Not used: /home/builder/opt/libraries/betterwifinina_1_3_0
  Not used: /home/builder/opt/libraries/wifinina_1_8_14
  Not used: /home/builder/opt/libraries/seeed_arduino_rpcwifi_1_1_0
  Not used: /home/builder/opt/libraries/da16200_wi_fi_library_for_arduino_1_1_0
  Not used: /home/builder/opt/libraries/wifi_1_2_7
  Not used: /home/builder/opt/libraries/vega_wifinina_1_0_1
  Not used: /home/builder/opt/libraries/wifiespat_1_4_4
  Not used: /home/builder/opt/libraries/nina_wi_fi_1_0_1
Multiple libraries were found for "ETH.h"
  Used: /home/builder/.arduino15/packages/esp32/hardware/esp32/2.0.5/libraries/Ethernet
  Not used: /home/builder/opt/libraries/seeed_arduino_rpcwifi_1_1_0
Multiple libraries were found for "WiFiClientSecure.h"
  Used: /home/builder/.arduino15/packages/esp32/hardware/esp32/2.0.5/libraries/WiFiClientSecure
  Not used: /home/builder/opt/libraries/seeed_arduino_rpcwifi_1_1_0
Error during build: exit status 1

Hoi en welkom.

Er zijn een aantal problemen die worden aangegeven.
1 daarvan is dat je schijnbaar meerdere libraries gebuikt of geïnstalleerd hebt die met elkaar conflicteren.
De IDE geeft aan welke 'ie niet zal gaan gebruiken, dat zijn de regels die beginnen met "Not used:"
Verder geeft ie aan dat je in het setup gedeelte van je code iets gebruikt waar de IDE niets mee kan, met de naam "ArduinoIoTPreferredConnectionType".
Waarschijnlijk probeer je in setup iets te declareren met die naam, maar de IDE denkt zo te zien dat je iets anders wil doen dan declareren.
Vervolgens komt die term nog een keer terug, maar dat is dan vermoedelijk omdat het in de setup al is fout gegaan.
Het is niet te doen om je te vertellen wat er precies fout gaat, omdat je de code die deze fout genereert nog niet hebt laten zien.
Ik vermoed een kleine tiepvoud in je code, maar of dat echt zo is ??

Een bijkomende vraag is ook nog:

Ino-bestand.

#include <AsyncESP32_ENC_Manager.h>
#include < AsyncESP32_ENC_Manager.hpp>
#include <ArduinoIoTCloud.h>
#include <ETH.h> // Correct Ethernet library for ESP32
#include "thingProperties.h"

void setup() {
  // Initialise serial port for debugging
  Serial.begin(115200);
  delay(1500);
  
  // Initialise Ethernet connection
  ETH.begin();

  // Wait until connection is active
  while (!ETH.linkUp()) {
    Serial.println("Waiting for Ethernet connection...");
    delay(1000);
  }

  Serial.println("Connected via Ethernet");
  Serial.print("IP address: ");
  Serial.println(ETH.localIP());

  // Defined in thingProperties.h
  initProperties();

  // Connect to Arduino IoT Cloud
  ArduinoCloud.begin(connectionType);

  setDebugMessageLevel(2);
  ArduinoCloud.printDebugInfo();
}

Thingproperties.h

#ifndef _THINGPROPERTIES_H_
#define _THINGPROPERTIES_H_

#include <ArduinoIoTCloud.h>
#include <Arduino_ConnectionHandler.h>
#include <ETH.h> // Correct Ethernet library for ESP32

// Define your variables
CloudLight garage;
CloudLight garage_Tuin;
CloudLight loods;
CloudLight loods_Tuin;
CloudLight teras;

// Forward declaration of callback functions
void onGarageChange();
void onGarageTuinChange();
void onLoodsChange();
void onLoodsTuinChange();
void onTerasChange();

void initProperties() {
  ArduinoCloud.addProperty(garage, READWRITE, ON_CHANGE, onGarageChange);
  ArduinoCloud.addProperty(garage_Tuin, READWRITE, ON_CHANGE, onGarageTuinChange);
  ArduinoCloud.addProperty(loods, READWRITE, ON_CHANGE, onLoodsChange);
  ArduinoCloud.addProperty(loods_Tuin, READWRITE, ON_CHANGE, onLoodsTuinChange);
  ArduinoCloud.addProperty(teras, READWRITE, ON_CHANGE, onTerasChange);
}

// Use the correct Ethernet connection handler for ESP32
#define connectionType ArduinoIoTPreferredConnectionType::CLOUD_ETHERNET

#endif // _THINGPROPERTIES_H_