@@ -191,6 +191,8 @@ static bool esp32EthConnected = false;
191191WiFiClientSecure eClient;
192192# else
193193# include < WiFi.h>
194+ # include < WiFiMulti.h>
195+ WiFiMulti wifiMulti;
194196WiFiClient eClient;
195197# endif
196198# include < Preferences.h>
@@ -204,13 +206,15 @@ Preferences preferences;
204206# include < DNSServer.h>
205207# include < ESP8266WebServer.h>
206208# include < ESP8266WiFi.h>
209+ # include < ESP8266WiFiMulti.h>
207210# include < FS.h>
208211# include < WiFiManager.h>
209212# ifdef SECURE_CONNECTION
210213WiFiClientSecure eClient;
211214X509List caCert (certificate);
212215# else
213216WiFiClient eClient;
217+ ESP8266WiFiMulti wifiMulti;
214218# endif
215219# ifdef MDNS_SD
216220# include < ESP8266mDNS.h>
@@ -598,7 +602,7 @@ void setup() {
598602 digitalWrite (LED_SEND, !LED_SEND_ON);
599603 digitalWrite (LED_INFO, !LED_INFO_ON);
600604
601- #if defined(MDNS_SD) && defined(ESP8266)
605+ #if defined(MDNS_SD) && ( defined(ESP8266) || defined(ESP32) )
602606 Log.trace (F (" Connecting to MQTT by mDNS without mqtt hostname" CR));
603607 connectMQTTmdns ();
604608#else
@@ -826,13 +830,17 @@ void setupTLS() {
826830
827831#if defined(ESPWifiManualSetup)
828832void setup_wifi () {
829- char manual_wifi_ssid[] = wifi_ssid;
830- char manual_wifi_password[] = wifi_password;
831- delay (10 );
832833 WiFi.mode (WIFI_STA);
834+ wifiMulti.addAP (wifi_ssid, wifi_password);
835+ Log.trace (F (" Connecting to %s" CR), wifi_ssid);
836+ # ifdef wifi_ssid1
837+ wifiMulti.addAP (wifi_ssid1, wifi_password1);
838+ Log.trace (F (" Connecting to %s" CR), wifi_ssid1);
839+ # endif
840+ delay (10 );
833841
834842 // We start by connecting to a WiFi network
835- Log. trace ( F ( " Connecting to %s " CR), manual_wifi_ssid);
843+
836844# ifdef NetworkAdvancedSetup
837845 IPAddress ip_adress (ip);
838846 IPAddress gateway_adress (gateway);
@@ -841,12 +849,10 @@ void setup_wifi() {
841849 if (!WiFi.config (ip_adress, gateway_adress, subnet_adress, dns_adress)) {
842850 Log.error (F (" Wifi STA Failed to configure" CR));
843851 }
844- WiFi.begin (manual_wifi_ssid, manual_wifi_password);
845- # else
846- WiFi.begin (manual_wifi_ssid, manual_wifi_password);
852+
847853# endif
848854
849- while (WiFi. status () != WL_CONNECTED) {
855+ while (wifiMulti. run () != WL_CONNECTED) {
850856 delay (500 );
851857 Log.trace (F (" ." CR));
852858 failure_number_ntwk++;
@@ -1137,14 +1143,8 @@ void setup_ethernet() {
11371143}
11381144#endif
11391145
1140- #if defined(MDNS_SD) && defined(ESP8266)
1146+ #if defined(MDNS_SD) && ( defined(ESP8266) || defined(ESP32) )
11411147void connectMQTTmdns () {
1142- if (!MDNS.begin (" ESP_MQTT" )) {
1143- Log.error (F (" Error setting up MDNS responder!" CR));
1144- while (1 ) {
1145- delay (1000 );
1146- }
1147- }
11481148 Log.trace (F (" Browsing for MQTT service" CR));
11491149 int n = MDNS.queryService (" mqtt" , " tcp" );
11501150 if (n == 0 ) {
0 commit comments