Closed kluszczyn closed 6 years ago
As ESPBuddy obviously needs some command line skills, as well as having php installed, It limits its usage to users who are a bit experimented, and thus are certainly able to git clone EspEasy, install PlatformIO, and add the OTA feature before letting EspBuddy built it and upload it. So the need of using pre-build binaries is really hypothetic IMHO.
But anyway, If you wish to add a curl upload method (ie -u) to Espbuddy, you're really welcome to submit a Pull Request (to the develop branch). 🍺
Notice that unfortunately this will not work directly for 1M devices because the current EspEasy is larger than (1M - 128k / 2), so in this case the curl upload should proceed in 2 steps (exactly as it does fo the Espbuddy OTA method) : 1) upload an intermediate firmware (the one shipped with Espbuddy) 2) upload the final firmware
Also you would have to slightly modify the archive mechanism so that if Firmware.bin is NOT a symlink ( you might even add a --firm=/path/to/firmware option), once uploaded, it is correctly moved to the firmware folder, and symlinked as Firmware.bin
And finally be sure to put some of the code in repo + _repoespeasy classes, so that it is cleanly extendable to Espurna or Tasmota.
Making changes in your code is over my head (unfortunately). Idea was to replace OTA by curl upload for EspEasy, as web upload is enabled by default and available in pre-build binaries.
So, feel free to close this issue. Thanks
EspEasy pre-build binaries has already active firmware upload via web interface and do not have Arduino OTA functionality. Currently, to use EspBuddy, first we have to build EspEasy binaries with Arduino OTA support enabled (this adds +10kb to firmware size), update firmware in device via web interface or serial, enable Arduino OTA in EspEasy Advanced setting page, reboot and then device should be visible to EspBuddy via Arduino OTA mechanism.
To simplify this process and give possibility to use pre-build binaries of EspEasy I would propose to implement in EspBuddy upload via web interface, probably with help of curl function, as a option to Arduino OTA.