I got some good progress on the bootloader enhancement.
So this is a change in default Arduino bootloader which enable ethernet upload of .bin sketch from target computer via network to SDCard on controller, then restart and replacing current sw version with new one.
Also if we set/have port forwarding then also internet upload is possible?
In this case some simple batch program could be written which first convert .hex to .bin and then send code to target controller and restart it.
Still is there any way to fix controller internal IP to be same all the time?
I mean also after curl -0 http://192.168.0.15/reboot
Bc if we try to upload code from internet and have port forwarding to one IP and after restart IP is changed to some default value then ... we lost connection to controller. Of course this is not problem in local network if we know default IP.
But if we could set fixed IP port to some value then also after restart IP remain the same.