Minimal PlatformIO ESP32 ArduinoOTA example
Based on our Minimal PlatformIO ESP8266 ArduinoOTA example, this is a minimal starting point for your ESP32 program running ArduinoOTA.
#include <Arduino.h>
#include <WiFi.h>
#include <ArduinoOTA.h>
void setup() {
Serial.begin(115200);
/**
* Connect to Wifi
*/
WiFi.begin("MyWifi", "abc123abc");
uint32_t notConnectedCounter = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.println("Wifi connecting...");
notConnectedCounter++;
if(notConnectedCounter > 150) { // Reset board if not connected after 15s
Serial.println("Resetting due to Wifi not connecting...");
ESP.restart();
}
}
Serial.print("Wifi connected, IP address: ");
Serial.println(WiFi.localIP());
/**
* Enable OTA update
*/
ArduinoOTA.begin();
}
void loop() {
// Check for over the air update request and (if present) flash it
ArduinoOTA.handle();
}
platformio.ini
Add the following section to your platformio.ini
to enable flashing via OTA as well as flashing via serial:
[env:OTA]
extends = env:esp32dev
upload_protocol = espota
upload_port = 10.19.50.80
upload_flags = --host_port=55910