I have ESP8266 nodes in different subnets that I am not part of myself (IoT VLAN, other sites connected by VPN). Is there a way to tell the Arduino IDE an IP explicitly, instead of relying on autodetection (Zeroconf?).
Not at all what I want to do. A static IP address is a good idea for that, but I already have that via static DHCP entries.
What I want to do is explicitly tell the ArduinoIDE the IP I want to flash to. Usually it autodetects all OTA-capable nodes on the network, but the devices I want to flash are not on the same network (but routed), so they are not detected.
Oops. Yes I see now.
I guess the ESP8266, when it is in this "OTA ready" mode, is constantly broadcasting its IP address in the local subnet. This is picked up by the IDE. Broadcasts don't normally work across subnet boundaries.
Probably your only hope is to find a configuration (or do a hack) in the IDE which allows you to explicitly add IP addresses to the list of candidate OTA clients.
6v6gt:
Probably your only hope is to find a configuration (or do a hack) in the IDE which allows you to explicitly add IP addresses to the list of candidate OTA clients.
Correct. That configuration or hack is what i am asking for.
As an alternative, I think PlatformIO gives you more control. I find the ArduinoIDE pretty limited anyway and wanted to switch, but the last test wasn't as intuitive as I had hoped for.