Arduino Ota on ESP8266

Hello I try to use the basic script

#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>

#ifndef STASSID
#define STASSID "your-ssid"
#define STAPSK "your-password"
# endif

const char *ssid = "

const char *password = "

void setup()
{

	Serial.begin(115200);

	Serial.println("Booting");

	WiFi.mode(WIFI_STA);

	WiFi.begin(ssid, password);

	while (WiFi.waitForConnectResult() != WL_CONNECTED)
	{

		Serial.println("Connection Failed! Rebooting...");

		delay(5000);

		ESP.restart();
	}

	// Port defaults to 8266

	// ArduinoOTA.setPort(8266);

	// Hostname defaults to esp8266-[ChipID]

	// ArduinoOTA.setHostname("myesp8266");

	// No authentication by default

	// ArduinoOTA.setPassword("admin");

	// 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_FS

			type = "filesystem";
		}

		// NOTE: if updating FS this would be the place to unmount FS using FS.end()

		Serial.println("Start updating " + type);
	});

	ArduinoOTA.onEnd([]()
	{

		Serial.println("\nEnd");
	});

	ArduinoOTA.onProgress([](unsigned int progress, unsigned int total)
	{

		Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
	});

	ArduinoOTA.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()
{

	ArduinoOTA.handle();

}

PlatformIO.ini is

[env:esp07]
platform = espressif8266
board = esp07
framework = arduino
monitor_speed = 115200
upload_protocol = espota
upload_port = 192.168.1.52

The Compiler tells me

Uploading firmware remotely
Could not find active agents. Please start it before on a remote machine using `pio remote agent start` command.
See http://docs.platformio.org/page/plus/pio-remote.html
The terminal process terminated with exit code: 1

It seems that I ave to install a remote agent but how ?

PS D:\__Dokus\Documents\PlatformIO\ESP8266\ESP8266-01-Klima-Server> platformio remote agent list
PIO Plus (https://pioplus.com) v2.6.1
Could not find active agents. Please start it before on a remote machine using `pio remote agent start` command.
See http://docs.platformio.org/page/plus/pio-remote.html
PS D:\__Dokus\Documents\PlatformIO\ESP8266\ESP8266-01-Klima-Server> platformio remote agent list
PIO Plus (https://pioplus.com) v2.6.1
Could not find active agents. Please start it before on a remote machine using `pio remote agent start` command.
See http://docs.platformio.org/page/plus/pio-remote.html
PS D:\__Dokus\Documents\PlatformIO\ESP8266\ESP8266-01-Klima-Server> pio remote agent list
PIO Plus (https://pioplus.com) v2.6.1
Could not find active agents. Please start it before on a remote machine using `pio remote agent start` command.
See http://docs.platformio.org/page/plus/pio-remote.html
PS D:\__Dokus\Documents\PlatformIO\ESP8266\ESP8266-01-Klima-Server> platformio remote agent list
PIO Plus (https://pioplus.com) v2.6.1
Could not find active agents. Please start it before on a remote machine using `pio remote agent start` command.
See http://docs.platformio.org/page/plus/pio-remote.html
PS D:\__Dokus\Documents\PlatformIO\ESP8266\ESP8266-01-Klima-Server>

PIO Remote (Remote Development — PlatformIO latest documentation) is for collaborating with other remote PlatformIO agents and has nothing to do with uploading to an ESP8266 via OTA (documented here.

Could you show the result of a normal upload (pio run -t upload -v or “Verbose Upload” task in VSCode).

1 Like

That was working, but this was very useful to understand the concept

https://www.thingforward.io/techblog/2017-09-06-embedded-testing-with-platformio-part-3-remoting.html

Now I just need to know how change the remote monitor speed Thank you

1 Like

See if monitor_speed applies to PIO remote… haven’t tried it myself so have no idea if it actually does! :laughing: