void setup() { //Initialize serial and wait for port to open: Serial1.begin(9600); SPI.begin(); while (!Serial1) { ; // wait for serial port to connect. Needed for Leonardo only } delay(1200); // check for the presence of the shield: if (WiFi.status() == WL_NO_SHIELD) { Serial1.println("WiFi shield not present"); // don't continue: while (true); } String fv = WiFi.firmwareVersion(); if ( fv != "1.1.0" ) Serial1.println("Please upgrade the firmware"); // Print WiFi MAC address: printMacAddress(); // scan for existing networks: Serial1.println("Scanning available networks..."); listNetworks(); }
void WifiControl::setup(String sids[3], String passwords[3]) { #if _DEBUG Serial.println("WifiControl starting up."); #endif WiFi.mode(WIFI_STA); std::vector<String> networks = listNetworks(); bool connected = false; int wait_time = 10000; for(auto ssid : networks) { for(int i = 0; i < 3; i++) { if(sids[i] == ssid) { Serial.println("Connecting to " + ssid); WiFi.begin(sids[i].c_str(), passwords[i].c_str()); wait_time = 10000; while (WiFi.waitForConnectResult() != WL_CONNECTED && wait_time > 0) { Serial.println("Connection Failed! Trying again..."); delay(5000); wait_time -= 2000; } connected = WiFi.isConnected(); if(connected) { break; } } } if(connected){ break; } } if(connected) { Serial.println("Connected!"); } // Port defaults to 3232 // ArduinoOTA.setPort(3232); // Hostname defaults to esp3232-[MAC] // ArduinoOTA.setHostname("myesp32"); // No authentication by default ArduinoOTA.setPassword("aqua"); // Password can be set with it's md5 value as well // MD5(admin) = 21232f297a57a5a743894a0e4a801fc3 // ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3"); ArduinoOTA .onStart([]() { String type; if (ArduinoOTA.getCommand() == U_FLASH) type = "sketch"; else // U_SPIFFS type = "filesystem"; // NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end() Serial.println("Start updating " + type); }) .onEnd([]() { Serial.println("\nEnd"); }) .onProgress([](unsigned int progress, unsigned int total) { Serial.printf("Progress: %u%%\r", (progress / (total / 100))); }) .onError([](ota_error_t error) { Serial.printf("Error[%u]: ", error); if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed"); else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed"); else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed"); else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed"); else if (error == OTA_END_ERROR) Serial.println("End Failed"); }); ArduinoOTA.begin(); Serial.println("Ready"); Serial.print("IP address: "); Serial.println(WiFi.localIP()); }
void loop() { delay(10000); // scan for existing networks: Serial1.println("Scanning available networks..."); listNetworks(); }