Hallo,
ich benutze einen ESP8266 und möchte Variabel zwischen WiFi und Ethernet umschalten können.
Zusätzlich benutze ich PubSubclient für MQTT.
Wenn ich das ganze über #define mache, dann funktioniert es. Jedoch kann ich das ja dann später z.B. über einen Webserver nicht mehr umschalten, da ja das, was beim Build nicht #defined war vom compilen abgeschlossen war.
Hier das Beispiel:
#define NetworkModeEthernet // 0 = WiFi 1; 1 = Ethernet
#if not defined(NetworkModeEthernet)
WiFiClient wiFiClient ;
PubSubClient client(mqttserverIP,mqttPort, wiFiClient);
#endif
#if defined(NetworkModeEthernet)
EthernetClient ethClient;
PubSubClient client(mqttserverIP,mqttPort,ethClient);
#endif
im rest vom code nutze ich die die client class.
also z.B. client.publish();
Wenn ich jetzt 2 classen von PubSubclient machen würde, würde es natürlich gehen, jedoch wäre das im Rest vom code sehr umständlich.
Gibt es irgendeine Möglichkeit das vernünftig "umschalten" zu können, so dass ich weiterhin nur 1 PubSubclient client class habe?
Gruß Fabi